Compare commits

...

10 commits

Author SHA1 Message Date
4ca01606ad Patch v1.2.7 2023-10-14 16:37:25 -05:00
dfc18e2980 Merge branch 'original' of https://github.com/dazedanon/My-Secret-Summer-Vacation-2-ver1.1.0 into original 2023-10-14 16:32:37 -05:00
7ff48b8658 v1.2.3 2023-09-09 13:03:36 -05:00
0cf1309d8f Format plugins.js 2023-09-09 13:00:20 -05:00
aa303189ed v1.2.3 2023-09-09 12:58:48 -05:00
957b50e687 v1.2.2 2023-09-05 13:05:19 -05:00
7457e3759f Patch v1.2.1 2023-09-02 11:46:50 -05:00
7a4c894e38 Possible fix for shopkeeper 2023-08-17 08:30:56 -05:00
b18173fb11 Format Actors 2023-08-15 14:01:30 -05:00
b0c3ef8752 Patch 1.1.1 2023-08-15 14:01:09 -05:00
112 changed files with 164864 additions and 60919 deletions

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -4296,7 +4296,7 @@
{
"id": 156,
"animationId": 0,
"consumable": true,
"consumable": false,
"damage": {
"critical": false,
"elementId": 0,
@ -4307,11 +4307,11 @@
"description": "",
"effects": [],
"hitType": 0,
"iconIndex": 0,
"itypeId": 1,
"name": "",
"note": "",
"occasion": 0,
"iconIndex": 84,
"itypeId": 3,
"name": "\"クンニ\"プレイ",
"note": "<subCategory:play>",
"occasion": 3,
"price": 0,
"repeats": 1,
"scope": 7,
@ -4322,7 +4322,7 @@
{
"id": 157,
"animationId": 0,
"consumable": true,
"consumable": false,
"damage": {
"critical": false,
"elementId": 0,
@ -4333,11 +4333,11 @@
"description": "",
"effects": [],
"hitType": 0,
"iconIndex": 0,
"itypeId": 1,
"name": "",
"note": "",
"occasion": 0,
"iconIndex": 84,
"itypeId": 3,
"name": "\"素股\"プレイ",
"note": "<subCategory:play>",
"occasion": 3,
"price": 0,
"repeats": 1,
"scope": 7,
@ -4348,7 +4348,7 @@
{
"id": 158,
"animationId": 0,
"consumable": true,
"consumable": false,
"damage": {
"critical": false,
"elementId": 0,
@ -4359,11 +4359,11 @@
"description": "",
"effects": [],
"hitType": 0,
"iconIndex": 0,
"itypeId": 1,
"name": "",
"note": "",
"occasion": 0,
"iconIndex": 84,
"itypeId": 3,
"name": "\"背面騎乗位\"プレイ",
"note": "<subCategory:play>",
"occasion": 3,
"price": 0,
"repeats": 1,
"scope": 7,
@ -4374,7 +4374,7 @@
{
"id": 159,
"animationId": 0,
"consumable": true,
"consumable": false,
"damage": {
"critical": false,
"elementId": 0,
@ -4385,11 +4385,11 @@
"description": "",
"effects": [],
"hitType": 0,
"iconIndex": 0,
"itypeId": 1,
"name": "",
"note": "",
"occasion": 0,
"iconIndex": 84,
"itypeId": 3,
"name": "\"エスエムごっこ\"プレイ",
"note": "<subCategory:play>",
"occasion": 3,
"price": 0,
"repeats": 1,
"scope": 7,
@ -6220,7 +6220,7 @@
{
"id": 230,
"animationId": 0,
"consumable": true,
"consumable": false,
"damage": {
"critical": false,
"elementId": 0,
@ -6231,11 +6231,11 @@
"description": "",
"effects": [],
"hitType": 0,
"iconIndex": 0,
"itypeId": 1,
"name": "",
"note": "",
"occasion": 0,
"iconIndex": 84,
"itypeId": 3,
"name": "主人公受け※特殊(模造男性器有り)",
"note": "<subCategory:play>",
"occasion": 3,
"price": 0,
"repeats": 1,
"scope": 7,
@ -6246,7 +6246,7 @@
{
"id": 231,
"animationId": 0,
"consumable": true,
"consumable": false,
"damage": {
"critical": false,
"elementId": 0,
@ -6254,14 +6254,14 @@
"type": 0,
"variance": 20
},
"description": "",
"description": "美大生のお姉さんと、バス停でエッチなことをしたよ。",
"effects": [],
"hitType": 0,
"iconIndex": 0,
"itypeId": 1,
"name": "",
"note": "",
"occasion": 0,
"iconIndex": 84,
"itypeId": 3,
"name": "雨宿り",
"note": "<subCategory:AU>",
"occasion": 3,
"price": 0,
"repeats": 1,
"scope": 7,
@ -6272,7 +6272,7 @@
{
"id": 232,
"animationId": 0,
"consumable": true,
"consumable": false,
"damage": {
"critical": false,
"elementId": 0,
@ -6280,14 +6280,14 @@
"type": 0,
"variance": 20
},
"description": "",
"description": "お店のお姉さんと、外でエッチなことをしたよ。",
"effects": [],
"hitType": 0,
"iconIndex": 0,
"itypeId": 1,
"name": "",
"note": "",
"occasion": 0,
"iconIndex": 84,
"itypeId": 3,
"name": "オナニーが見つかって…",
"note": "<subCategory:SF>",
"occasion": 3,
"price": 0,
"repeats": 1,
"scope": 7,
@ -6298,7 +6298,7 @@
{
"id": 233,
"animationId": 0,
"consumable": true,
"consumable": false,
"damage": {
"critical": false,
"elementId": 0,
@ -6306,14 +6306,14 @@
"type": 0,
"variance": 20
},
"description": "",
"description": "ジェシーと、トイレでエッチなことをしたよ。",
"effects": [],
"hitType": 0,
"iconIndex": 0,
"itypeId": 1,
"name": "",
"note": "",
"occasion": 0,
"iconIndex": 84,
"itypeId": 3,
"name": "トイレでエッチ",
"note": "<subCategory:EX>",
"occasion": 3,
"price": 0,
"repeats": 1,
"scope": 7,
@ -6324,7 +6324,7 @@
{
"id": 234,
"animationId": 0,
"consumable": true,
"consumable": false,
"damage": {
"critical": false,
"elementId": 0,
@ -6332,14 +6332,14 @@
"type": 0,
"variance": 20
},
"description": "",
"description": "ハカセくんのお母さんと、夜の町でエッチなことをしたよ。",
"effects": [],
"hitType": 0,
"iconIndex": 0,
"itypeId": 1,
"name": "",
"note": "",
"occasion": 0,
"iconIndex": 84,
"itypeId": 3,
"name": "裸でお散歩",
"note": "<subCategory:FM>",
"occasion": 3,
"price": 0,
"repeats": 1,
"scope": 7,
@ -6376,7 +6376,7 @@
{
"id": 236,
"animationId": 0,
"consumable": true,
"consumable": false,
"damage": {
"critical": false,
"elementId": 0,
@ -6384,14 +6384,14 @@
"type": 0,
"variance": 20
},
"description": "",
"description": "ミカちゃんと、スキー場の裏でエッチなことをしたよ。",
"effects": [],
"hitType": 0,
"iconIndex": 0,
"itypeId": 1,
"name": "",
"note": "",
"occasion": 0,
"iconIndex": 84,
"itypeId": 3,
"name": "体操服で",
"note": "<subCategory:JC>",
"occasion": 3,
"price": 0,
"repeats": 1,
"scope": 7,
@ -8586,7 +8586,7 @@
{
"id": 321,
"animationId": 0,
"consumable": true,
"consumable": false,
"damage": {
"critical": false,
"elementId": 0,
@ -8594,17 +8594,17 @@
"type": 0,
"variance": 20
},
"description": "",
"description": "「隣のクラスの男子、売りしてるらしいよ?」",
"effects": [],
"hitType": 0,
"iconIndex": 0,
"itypeId": 1,
"name": "",
"note": "",
"occasion": 0,
"iconIndex": 231,
"itypeId": 3,
"name": "エッチなビデオEX⑪※BL",
"note": "<subCategory:video>",
"occasion": 3,
"price": 0,
"repeats": 1,
"scope": 7,
"scope": 0,
"speed": 0,
"successRate": 100,
"tpGain": 0
@ -9366,7 +9366,7 @@
{
"id": 351,
"animationId": 0,
"consumable": true,
"consumable": false,
"damage": {
"critical": false,
"elementId": 0,
@ -9374,17 +9374,17 @@
"type": 0,
"variance": 20
},
"description": "",
"description": "「隣のクラスの男子、売りしてるらしいよ?」",
"effects": [],
"hitType": 0,
"iconIndex": 0,
"itypeId": 1,
"name": "",
"note": "",
"occasion": 0,
"iconIndex": 231,
"itypeId": 3,
"name": "エッチなビデオEX⑪※BL新作",
"note": "<subCategory:video2>",
"occasion": 3,
"price": 0,
"repeats": 1,
"scope": 7,
"scope": 0,
"speed": 0,
"successRate": 100,
"tpGain": 0

File diff suppressed because it is too large Load diff

View file

@ -30372,6 +30372,683 @@
],
"x": 14,
"y": 17
},
{
"id": 80,
"name": "思い出改変機",
"note": "",
"pages": [
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 40,
"switch1Valid": true,
"switch2Id": 360,
"switch2Valid": true,
"variableId": 1,
"variableValid": false,
"variableValue": 0
},
"directionFix": true,
"image": {
"tileId": 0,
"characterName": "!Crystal",
"direction": 4,
"pattern": 1,
"characterIndex": 0
},
"list": [
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
1,
1
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"このクリスタルでは、回想部屋での正常位ポーズの"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"カスタマイズのお気に入り登録が可能です。"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"屋根裏部屋では、お気に入り登録のみ可能です。"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"機能しない選択肢がありますのでご注意ください。"
]
},
{
"code": 102,
"indent": 0,
"parameters": [
[
"カスタマイズする",
"カスタマイズしない"
],
1,
0,
1,
0
]
},
{
"code": 402,
"indent": 0,
"parameters": [
0,
"カスタマイズする"
]
},
{
"code": 121,
"indent": 1,
"parameters": [
35,
35,
0
]
},
{
"code": 355,
"indent": 1,
"parameters": [
"SceneManager._scene._spriteset._fadeSprite.setColor(255, 255, 255);"
]
},
{
"code": 221,
"indent": 1,
"parameters": []
},
{
"code": 117,
"indent": 1,
"parameters": [
75
]
},
{
"code": 121,
"indent": 1,
"parameters": [
17,
17,
0
]
},
{
"code": 117,
"indent": 1,
"parameters": [
201
]
},
{
"code": 117,
"indent": 1,
"parameters": [
93
]
},
{
"code": 356,
"indent": 1,
"parameters": [
"Live2d表情設定 FR AV00"
]
},
{
"code": 230,
"indent": 1,
"parameters": [
60
]
},
{
"code": 356,
"indent": 1,
"parameters": [
"Live2dモデル固定パラメータ設定 FR Position -5 1"
]
},
{
"code": 356,
"indent": 1,
"parameters": [
"Live2dモデル固定パラメータ設定 FR AB_Pose 12 1"
]
},
{
"code": 356,
"indent": 1,
"parameters": [
"Live2dモデル固定パラメータ設定 FR LB_Pose 0 1"
]
},
{
"code": 356,
"indent": 1,
"parameters": [
"Live2dモデル固定パラメータ設定 FR Sweat 0 1"
]
},
{
"code": 356,
"indent": 1,
"parameters": [
"Live2dモデル固定パラメータ設定 FR P_Sweat 0 1"
]
},
{
"code": 356,
"indent": 1,
"parameters": [
"Live2dモデル固定パラメータ設定 FR Erection 2 1"
]
},
{
"code": 356,
"indent": 1,
"parameters": [
"Live2dモデル固定パラメータ設定 FR Player_Move -10 1"
]
},
{
"code": 117,
"indent": 1,
"parameters": [
3
]
},
{
"code": 108,
"indent": 1,
"parameters": [
"表情"
]
},
{
"code": 231,
"indent": 1,
"parameters": [
1,
"BG_NP_bed",
0,
0,
0,
0,
100,
100,
255,
0
]
},
{
"code": 230,
"indent": 1,
"parameters": [
5
]
},
{
"code": 222,
"indent": 1,
"parameters": []
},
{
"code": 117,
"indent": 1,
"parameters": [
221
]
},
{
"code": 250,
"indent": 1,
"parameters": [
{
"name": "Saint4",
"volume": 50,
"pitch": 100,
"pan": 0
}
]
},
{
"code": 230,
"indent": 1,
"parameters": [
60
]
},
{
"code": 221,
"indent": 1,
"parameters": []
},
{
"code": 117,
"indent": 1,
"parameters": [
79
]
},
{
"code": 117,
"indent": 1,
"parameters": [
92
]
},
{
"code": 222,
"indent": 1,
"parameters": []
},
{
"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,
"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
}
],
"x": 29,
"y": 19
},
{
"id": 81,
"name": "EV081",
"note": "",
"pages": [
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 1,
"switch1Valid": false,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 1,
"variableValid": false,
"variableValue": 0
},
"directionFix": true,
"image": {
"tileId": 0,
"characterName": "!Switch2",
"direction": 2,
"pattern": 1,
"characterIndex": 0
},
"list": [
{
"code": 122,
"indent": 0,
"parameters": [
460,
460,
0,
0,
183
]
},
{
"code": 250,
"indent": 0,
"parameters": [
{
"name": "Switch2",
"volume": 50,
"pitch": 100,
"pan": 0
}
]
},
{
"code": 121,
"indent": 0,
"parameters": [
342,
342,
0
]
},
{
"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": false,
"through": false,
"trigger": 0,
"walkAnime": false
},
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 342,
"switch1Valid": true,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 1,
"variableValid": false,
"variableValue": 0
},
"directionFix": true,
"image": {
"tileId": 0,
"characterName": "!Switch2",
"direction": 8,
"pattern": 1,
"characterIndex": 0
},
"list": [
{
"code": 250,
"indent": 0,
"parameters": [
{
"name": "Switch2",
"volume": 50,
"pitch": 100,
"pan": 0
}
]
},
{
"code": 121,
"indent": 0,
"parameters": [
342,
342,
1
]
},
{
"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": false,
"through": false,
"trigger": 0,
"walkAnime": false
}
],
"x": 17,
"y": 17
},
{
"id": 82,
"name": "EV082",
"note": "",
"pages": [
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 1,
"switch1Valid": false,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 1,
"variableValid": false,
"variableValue": 0
},
"directionFix": true,
"image": {
"tileId": 0,
"characterName": "!Switch2",
"direction": 2,
"pattern": 1,
"characterIndex": 0
},
"list": [
{
"code": 122,
"indent": 0,
"parameters": [
460,
460,
0,
0,
183
]
},
{
"code": 250,
"indent": 0,
"parameters": [
{
"name": "Switch2",
"volume": 50,
"pitch": 100,
"pan": 0
}
]
},
{
"code": 121,
"indent": 0,
"parameters": [
345,
345,
0
]
},
{
"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": false,
"through": false,
"trigger": 0,
"walkAnime": false
},
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 345,
"switch1Valid": true,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 1,
"variableValid": false,
"variableValue": 0
},
"directionFix": true,
"image": {
"tileId": 0,
"characterName": "!Switch2",
"direction": 8,
"pattern": 1,
"characterIndex": 0
},
"list": [
{
"code": 250,
"indent": 0,
"parameters": [
{
"name": "Switch2",
"volume": 50,
"pitch": 100,
"pan": 0
}
]
},
{
"code": 121,
"indent": 0,
"parameters": [
345,
345,
1
]
},
{
"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": false,
"through": false,
"trigger": 0,
"walkAnime": false
}
],
"x": 18,
"y": 17
}
]
}

15464
www/data/Map003.json Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -4152,6 +4152,15 @@
1
]
},
{
"code": 121,
"indent": 0,
"parameters": [
342,
342,
1
]
},
{
"code": 117,
"indent": 0,
@ -8241,7 +8250,7 @@
"code": 401,
"indent": 1,
"parameters": [
" 急に昨日なってから"
" 急に昨日なってから"
]
},
{

View file

@ -3546,6 +3546,99 @@
"through": false,
"trigger": 0,
"walkAnime": true
},
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 342,
"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": 108,
"indent": 0,
"parameters": [
"<page condition>"
]
},
{
"code": 111,
"indent": 0,
"parameters": [
1,
460,
0,
186,
0
]
},
{
"code": 356,
"indent": 1,
"parameters": [
"activate_page"
]
},
{
"code": 0,
"indent": 1,
"parameters": []
},
{
"code": 412,
"indent": 0,
"parameters": []
},
{
"code": 108,
"indent": 0,
"parameters": [
"</page condition>"
]
},
{
"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": 6,

View file

@ -3749,6 +3749,126 @@
"through": false,
"trigger": 1,
"walkAnime": true
},
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 1,
"switch1Valid": false,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 450,
"variableValid": true,
"variableValue": 1
},
"directionFix": false,
"image": {
"characterIndex": 0,
"characterName": "",
"direction": 2,
"pattern": 0,
"tileId": 0
},
"list": [
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
0,
2
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"\\N<おばさん>「あまり遠くには行かないでね…。"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" バス停のベンチに行きましょ…♥」"
]
},
{
"code": 205,
"indent": 0,
"parameters": [
-1,
{
"list": [
{
"code": 22,
"indent": null
},
{
"code": 12,
"indent": null
},
{
"code": 0
}
],
"repeat": false,
"skippable": false,
"wait": true
}
]
},
{
"code": 505,
"indent": 0,
"parameters": [
{
"code": 22,
"indent": null
}
]
},
{
"code": 505,
"indent": 0,
"parameters": [
{
"code": 12,
"indent": null
}
]
},
{
"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": 1,
"walkAnime": true
}
],
"x": 0,
@ -3842,6 +3962,119 @@
"through": false,
"trigger": 1,
"walkAnime": true
},
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 1,
"switch1Valid": false,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 450,
"variableValid": true,
"variableValue": 1
},
"directionFix": false,
"image": {
"characterIndex": 0,
"characterName": "",
"direction": 2,
"pattern": 0,
"tileId": 0
},
"list": [
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
0,
2
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"\\N<おばさん>「バス停のベンチに行きましょ…♥」"
]
},
{
"code": 205,
"indent": 0,
"parameters": [
-1,
{
"list": [
{
"code": 22,
"indent": null
},
{
"code": 12,
"indent": null
},
{
"code": 0
}
],
"repeat": false,
"skippable": false,
"wait": true
}
]
},
{
"code": 505,
"indent": 0,
"parameters": [
{
"code": 22,
"indent": null
}
]
},
{
"code": 505,
"indent": 0,
"parameters": [
{
"code": 12,
"indent": null
}
]
},
{
"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": 1,
"walkAnime": true
}
],
"x": 29,
@ -4927,12 +5160,31 @@
]
},
{
"code": 356,
"code": 111,
"indent": 1,
"parameters": [
0,
40,
1
]
},
{
"code": 356,
"indent": 2,
"parameters": [
"activate_page"
]
},
{
"code": 0,
"indent": 2,
"parameters": []
},
{
"code": 412,
"indent": 1,
"parameters": []
},
{
"code": 0,
"indent": 1,
@ -5023,6 +5275,57 @@
"through": false,
"trigger": 1,
"walkAnime": false
},
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 1,
"switch1Valid": false,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 450,
"variableValid": true,
"variableValue": 1
},
"directionFix": true,
"image": {
"tileId": 0,
"characterName": "!$drpk_door",
"direction": 2,
"pattern": 0,
"characterIndex": 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": 1,
"stepAnime": false,
"through": false,
"trigger": 0,
"walkAnime": false
}
],
"x": 13,
@ -6085,7 +6388,388 @@
"x": 26,
"y": 5
},
null,
{
"id": 25,
"name": "EV025",
"note": "",
"pages": [
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 1,
"switch1Valid": false,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 450,
"variableValid": true,
"variableValue": 3
},
"directionFix": false,
"image": {
"characterIndex": 0,
"characterName": "",
"direction": 2,
"pattern": 0,
"tileId": 0
},
"list": [
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
0,
2
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"\\N<おばさん>「ねえ、ボク君…♥"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" あそこにある、バス停のベンチで休みましょう…?♥」"
]
},
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
0,
2
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"\\N<ボク>「うん」"
]
},
{
"code": 122,
"indent": 0,
"parameters": [
450,
450,
0,
0,
4
]
},
{
"code": 0,
"indent": 0,
"parameters": []
}
],
"moveFrequency": 3,
"moveRoute": {
"list": [
{
"code": 0,
"parameters": []
}
],
"repeat": true,
"skippable": false,
"wait": false
},
"moveSpeed": 3,
"moveType": 0,
"priorityType": 0,
"stepAnime": false,
"through": false,
"trigger": 3,
"walkAnime": true
},
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 1,
"switch1Valid": false,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 450,
"variableValid": true,
"variableValue": 4
},
"directionFix": true,
"image": {
"tileId": 0,
"characterName": "!Flame",
"direction": 8,
"pattern": 0,
"characterIndex": 7
},
"list": [
{
"code": 213,
"indent": 0,
"parameters": [
-1,
11,
true
]
},
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
0,
2
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"\\N<おばさん>「あら…?"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" どうしたの、ボク君…?」"
]
},
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
0,
2
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"\\N<ボク>「うぅ…。"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" おばさんの裸をずっと見てたら"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" ぼくもう、おちんちんがまんできなくなっちゃった…」"
]
},
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
0,
2
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"\\N<おばさん>「まぁ…♥"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" おばさんも、もう"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" ボク君のおちんちんが欲しくてたまらないの…♥"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" ほら…来て…♥」"
]
},
{
"code": 117,
"indent": 0,
"parameters": [
280
]
},
{
"code": 230,
"indent": 0,
"parameters": [
60
]
},
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
0,
2
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"\\N<おばさん>「あぁ…すごくよかったわ…♥"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" ボク君も、スッキリした…?♥"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" じゃあ、そろそろ帰らないと…。"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" さ、ボク君…お家に戻りましょ…♥」"
]
},
{
"code": 356,
"indent": 0,
"parameters": [
"NF_REM_NPC 1"
]
},
{
"code": 216,
"indent": 0,
"parameters": [
1
]
},
{
"code": 135,
"indent": 0,
"parameters": [
1
]
},
{
"code": 356,
"indent": 0,
"parameters": [
"ダッシュ許可"
]
},
{
"code": 201,
"indent": 0,
"parameters": [
0,
55,
8,
10,
0,
2
]
},
{
"code": 122,
"indent": 0,
"parameters": [
450,
450,
0,
0,
0
]
},
{
"code": 117,
"indent": 0,
"parameters": [
125
]
},
{
"code": 117,
"indent": 0,
"parameters": [
122
]
},
{
"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
}
],
"x": 27,
"y": 5
},
null,
null,
null,

File diff suppressed because it is too large Load diff

View file

@ -14732,7 +14732,7 @@
13,
6,
2,
2
1
]
},
{
@ -14973,6 +14973,108 @@
"through": false,
"trigger": 0,
"walkAnime": false
},
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 1,
"switch1Valid": false,
"switch2Id": 13,
"switch2Valid": true,
"variableId": 47,
"variableValid": true,
"variableValue": 14
},
"directionFix": true,
"image": {
"tileId": 0,
"characterName": "$01_sori_03",
"direction": 2,
"pattern": 1,
"characterIndex": 0
},
"list": [
{
"code": 0,
"indent": 0,
"parameters": []
}
],
"moveFrequency": 5,
"moveRoute": {
"list": [
{
"code": 0,
"parameters": []
}
],
"repeat": true,
"skippable": false,
"wait": false
},
"moveSpeed": 5,
"moveType": 0,
"priorityType": 1,
"stepAnime": false,
"through": false,
"trigger": 0,
"walkAnime": false
},
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 27,
"switch1Valid": true,
"switch2Id": 13,
"switch2Valid": true,
"variableId": 47,
"variableValid": true,
"variableValue": 14
},
"directionFix": true,
"image": {
"tileId": 0,
"characterName": "$01_sori_03",
"direction": 2,
"pattern": 1,
"characterIndex": 0
},
"list": [
{
"code": 0,
"indent": 0,
"parameters": []
}
],
"moveFrequency": 5,
"moveRoute": {
"list": [
{
"code": 0,
"parameters": []
}
],
"repeat": true,
"skippable": false,
"wait": false
},
"moveSpeed": 5,
"moveType": 2,
"priorityType": 1,
"stepAnime": false,
"through": false,
"trigger": 0,
"walkAnime": false
}
],
"x": 7,
@ -16150,6 +16252,7 @@
],
"x": 9,
"y": 75
}
},
null
]
}

View file

@ -2425,12 +2425,33 @@
]
},
{
"code": 356,
"code": 111,
"indent": 0,
"parameters": [
1,
450,
0,
0,
0
]
},
{
"code": 356,
"indent": 1,
"parameters": [
"C_ADD_TIME 15"
]
},
{
"code": 0,
"indent": 1,
"parameters": []
},
{
"code": 412,
"indent": 0,
"parameters": []
},
{
"code": 117,
"indent": 0,
@ -2565,6 +2586,126 @@
"through": false,
"trigger": 1,
"walkAnime": true
},
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 1,
"switch1Valid": false,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 450,
"variableValid": true,
"variableValue": 1
},
"directionFix": false,
"image": {
"characterIndex": 0,
"characterName": "",
"direction": 2,
"pattern": 0,
"tileId": 0
},
"list": [
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
0,
2
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"\\N<おばさん>「あまり遠くには行かないでね…。"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" 商店街の方に行きましょ…♥」"
]
},
{
"code": 205,
"indent": 0,
"parameters": [
-1,
{
"list": [
{
"code": 22,
"indent": null
},
{
"code": 12,
"indent": null
},
{
"code": 0
}
],
"repeat": false,
"skippable": false,
"wait": true
}
]
},
{
"code": 505,
"indent": 0,
"parameters": [
{
"code": 22,
"indent": null
}
]
},
{
"code": 505,
"indent": 0,
"parameters": [
{
"code": 12,
"indent": null
}
]
},
{
"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": 1,
"walkAnime": true
}
],
"x": 29,
@ -2898,6 +3039,126 @@
"through": false,
"trigger": 1,
"walkAnime": true
},
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 1,
"switch1Valid": false,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 450,
"variableValid": true,
"variableValue": 1
},
"directionFix": false,
"image": {
"characterIndex": 0,
"characterName": "",
"direction": 2,
"pattern": 0,
"tileId": 0
},
"list": [
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
0,
2
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"\\N<おばさん>「あまり遠くには行かないでね…。"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" 商店街の方に行きましょ…♥」"
]
},
{
"code": 205,
"indent": 0,
"parameters": [
-1,
{
"list": [
{
"code": 22,
"indent": null
},
{
"code": 12,
"indent": null
},
{
"code": 0
}
],
"repeat": false,
"skippable": false,
"wait": true
}
]
},
{
"code": 505,
"indent": 0,
"parameters": [
{
"code": 22,
"indent": null
}
]
},
{
"code": 505,
"indent": 0,
"parameters": [
{
"code": 12,
"indent": null
}
]
},
{
"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": 1,
"walkAnime": true
}
],
"x": 22,
@ -3643,6 +3904,128 @@
177
]
},
{
"code": 111,
"indent": 2,
"parameters": [
1,
15,
0,
2,
1
]
},
{
"code": 111,
"indent": 3,
"parameters": [
1,
457,
1,
2,
5
]
},
{
"code": 111,
"indent": 4,
"parameters": [
1,
2,
0,
11,
0
]
},
{
"code": 117,
"indent": 5,
"parameters": [
147
]
},
{
"code": 111,
"indent": 5,
"parameters": [
1,
19,
0,
1,
0
]
},
{
"code": 121,
"indent": 6,
"parameters": [
345,
345,
0
]
},
{
"code": 122,
"indent": 6,
"parameters": [
460,
460,
0,
0,
187
]
},
{
"code": 122,
"indent": 6,
"parameters": [
457,
457,
0,
1,
2
]
},
{
"code": 0,
"indent": 6,
"parameters": []
},
{
"code": 412,
"indent": 5,
"parameters": []
},
{
"code": 0,
"indent": 5,
"parameters": []
},
{
"code": 412,
"indent": 4,
"parameters": []
},
{
"code": 0,
"indent": 4,
"parameters": []
},
{
"code": 412,
"indent": 3,
"parameters": []
},
{
"code": 0,
"indent": 3,
"parameters": []
},
{
"code": 412,
"indent": 2,
"parameters": []
},
{
"code": 201,
"indent": 2,
@ -4289,6 +4672,224 @@
],
"x": 15,
"y": 6
},
{
"id": 20,
"name": "EV020",
"note": "",
"pages": [
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 1,
"switch1Valid": false,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 450,
"variableValid": true,
"variableValue": 1
},
"directionFix": false,
"image": {
"characterIndex": 0,
"characterName": "",
"direction": 2,
"pattern": 0,
"tileId": 0
},
"list": [
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
0,
2
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"\\N<おばさん>「そ、それじゃあちょっと"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" 夜のお散歩をしましょう…♥」"
]
},
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
0,
2
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"\\N<ボク>「え? 夜にお散歩していいの!?"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" すごい!」"
]
},
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
0,
2
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"\\N<おばさん>「夜だから、なるべく静かにね…♥"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" じゃ、じゃあ…商店街の方に"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" 行きましょ…?♥」"
]
},
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
0,
2
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"\\N<ボク>「うん!」"
]
},
{
"code": 122,
"indent": 0,
"parameters": [
450,
450,
0,
0,
2
]
},
{
"code": 0,
"indent": 0,
"parameters": []
}
],
"moveFrequency": 3,
"moveRoute": {
"list": [
{
"code": 0,
"parameters": []
}
],
"repeat": true,
"skippable": false,
"wait": false
},
"moveSpeed": 3,
"moveType": 0,
"priorityType": 0,
"stepAnime": false,
"through": false,
"trigger": 3,
"walkAnime": true
},
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 1,
"switch1Valid": false,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 450,
"variableValid": true,
"variableValue": 2
},
"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": 13,
"y": 4
}
]
}

View file

@ -2380,6 +2380,128 @@
176
]
},
{
"code": 111,
"indent": 4,
"parameters": [
1,
15,
0,
2,
1
]
},
{
"code": 111,
"indent": 5,
"parameters": [
1,
457,
1,
2,
5
]
},
{
"code": 111,
"indent": 6,
"parameters": [
1,
2,
0,
16,
0
]
},
{
"code": 117,
"indent": 7,
"parameters": [
147
]
},
{
"code": 111,
"indent": 7,
"parameters": [
1,
19,
0,
1,
0
]
},
{
"code": 121,
"indent": 8,
"parameters": [
345,
345,
0
]
},
{
"code": 122,
"indent": 8,
"parameters": [
460,
460,
0,
0,
182
]
},
{
"code": 122,
"indent": 8,
"parameters": [
457,
457,
0,
1,
2
]
},
{
"code": 0,
"indent": 8,
"parameters": []
},
{
"code": 412,
"indent": 7,
"parameters": []
},
{
"code": 0,
"indent": 7,
"parameters": []
},
{
"code": 412,
"indent": 6,
"parameters": []
},
{
"code": 0,
"indent": 6,
"parameters": []
},
{
"code": 412,
"indent": 5,
"parameters": []
},
{
"code": 0,
"indent": 5,
"parameters": []
},
{
"code": 412,
"indent": 4,
"parameters": []
},
{
"code": 201,
"indent": 4,
@ -3266,7 +3388,7 @@
"wait": false
},
"moveSpeed": 4,
"moveType": 2,
"moveType": 0,
"priorityType": 1,
"stepAnime": false,
"through": true,

View file

@ -9605,6 +9605,280 @@
0
]
},
{
"code": 111,
"indent": 3,
"parameters": [
0,
72,
0
]
},
{
"code": 111,
"indent": 4,
"parameters": [
1,
1,
0,
20,
1
]
},
{
"code": 205,
"indent": 5,
"parameters": [
22,
{
"list": [
{
"code": 41,
"parameters": [
"02_boys01_SS",
0
],
"indent": null
},
{
"code": 0
}
],
"repeat": false,
"skippable": false,
"wait": true
}
]
},
{
"code": 505,
"indent": 5,
"parameters": [
{
"code": 41,
"parameters": [
"02_boys01_SS",
0
],
"indent": null
}
]
},
{
"code": 205,
"indent": 5,
"parameters": [
17,
{
"list": [
{
"code": 41,
"parameters": [
"02_boys01_SS2",
1
],
"indent": null
},
{
"code": 0
}
],
"repeat": false,
"skippable": false,
"wait": true
}
]
},
{
"code": 505,
"indent": 5,
"parameters": [
{
"code": 41,
"parameters": [
"02_boys01_SS2",
1
],
"indent": null
}
]
},
{
"code": 205,
"indent": 5,
"parameters": [
18,
{
"list": [
{
"code": 41,
"parameters": [
"02_boys01_SS2",
2
],
"indent": null
},
{
"code": 0
}
],
"repeat": false,
"skippable": false,
"wait": true
}
]
},
{
"code": 505,
"indent": 5,
"parameters": [
{
"code": 41,
"parameters": [
"02_boys01_SS2",
2
],
"indent": null
}
]
},
{
"code": 205,
"indent": 5,
"parameters": [
19,
{
"list": [
{
"code": 41,
"parameters": [
"01_Kids01_SS",
3
],
"indent": null
},
{
"code": 0
}
],
"repeat": false,
"skippable": false,
"wait": true
}
]
},
{
"code": 505,
"indent": 5,
"parameters": [
{
"code": 41,
"parameters": [
"01_Kids01_SS",
3
],
"indent": null
}
]
},
{
"code": 205,
"indent": 5,
"parameters": [
20,
{
"list": [
{
"code": 41,
"parameters": [
"01_Kids01_SS",
1
],
"indent": null
},
{
"code": 0
}
],
"repeat": false,
"skippable": false,
"wait": true
}
]
},
{
"code": 505,
"indent": 5,
"parameters": [
{
"code": 41,
"parameters": [
"01_Kids01_SS",
1
],
"indent": null
}
]
},
{
"code": 205,
"indent": 5,
"parameters": [
21,
{
"list": [
{
"code": 41,
"parameters": [
"01_Kids01_SS",
0
],
"indent": null
},
{
"code": 0
}
],
"repeat": false,
"skippable": false,
"wait": true
}
]
},
{
"code": 505,
"indent": 5,
"parameters": [
{
"code": 41,
"parameters": [
"01_Kids01_SS",
0
],
"indent": null
}
]
},
{
"code": 0,
"indent": 5,
"parameters": []
},
{
"code": 412,
"indent": 4,
"parameters": []
},
{
"code": 0,
"indent": 4,
"parameters": []
},
{
"code": 412,
"indent": 3,
"parameters": []
},
{
"code": 230,
"indent": 3,
@ -17922,7 +18196,7 @@
"code": 401,
"indent": 8,
"parameters": [
" 負けちゃったんだ?"
" 負けちゃったんだ?"
]
},
{
@ -17972,7 +18246,7 @@
"code": 401,
"indent": 8,
"parameters": [
" 負けちゃったんだ?"
" 負けちゃったんだ?"
]
},
{
@ -21534,7 +21808,7 @@
"wait": false
},
"moveSpeed": 4,
"moveType": 2,
"moveType": 0,
"priorityType": 1,
"stepAnime": false,
"through": true,

View file

@ -2425,12 +2425,33 @@
]
},
{
"code": 356,
"code": 111,
"indent": 0,
"parameters": [
1,
450,
0,
0,
0
]
},
{
"code": 356,
"indent": 1,
"parameters": [
"C_ADD_TIME 10"
]
},
{
"code": 0,
"indent": 1,
"parameters": []
},
{
"code": 412,
"indent": 0,
"parameters": []
},
{
"code": 117,
"indent": 0,
@ -2736,6 +2757,119 @@
"through": false,
"trigger": 1,
"walkAnime": true
},
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 1,
"switch1Valid": false,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 450,
"variableValid": true,
"variableValue": 1
},
"directionFix": false,
"image": {
"characterIndex": 0,
"characterName": "",
"direction": 2,
"pattern": 0,
"tileId": 0
},
"list": [
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
0,
2
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"\\N<おばさん>「商店街の方に行きましょ…♥」"
]
},
{
"code": 205,
"indent": 0,
"parameters": [
-1,
{
"list": [
{
"code": 22,
"indent": null
},
{
"code": 12,
"indent": null
},
{
"code": 0
}
],
"repeat": false,
"skippable": false,
"wait": true
}
]
},
{
"code": 505,
"indent": 0,
"parameters": [
{
"code": 22,
"indent": null
}
]
},
{
"code": 505,
"indent": 0,
"parameters": [
{
"code": 12,
"indent": null
}
]
},
{
"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": 1,
"walkAnime": true
}
],
"x": 29,
@ -4402,6 +4536,479 @@
],
"x": 19,
"y": 3
},
{
"id": 19,
"name": "EV019",
"note": "",
"pages": [
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 1,
"switch1Valid": false,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 450,
"variableValid": true,
"variableValue": 2
},
"directionFix": false,
"image": {
"characterIndex": 0,
"characterName": "",
"direction": 2,
"pattern": 0,
"tileId": 0
},
"list": [
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
0,
2
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"\\N<おばさん>「そ、それじゃあそろそろ"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" SMごっこ、始めるわね…♥」"
]
},
{
"code": 122,
"indent": 0,
"parameters": [
18,
18,
0,
0,
187
]
},
{
"code": 250,
"indent": 0,
"parameters": [
{
"name": "ClothingA",
"volume": 50,
"pitch": 100,
"pan": 0
}
]
},
{
"code": 230,
"indent": 0,
"parameters": [
60
]
},
{
"code": 117,
"indent": 0,
"parameters": [
1
]
},
{
"code": 117,
"indent": 0,
"parameters": [
3
]
},
{
"code": 356,
"indent": 0,
"parameters": [
"Live2d表情設定 FR P_SEX_FM01"
]
},
{
"code": 356,
"indent": 0,
"parameters": [
"Live2dモデル固定パラメータ設定 FR AB_Pose 26 1"
]
},
{
"code": 356,
"indent": 0,
"parameters": [
"Live2dモデル固定パラメータ設定 FR Accessory 14 1"
]
},
{
"code": 356,
"indent": 0,
"parameters": [
"NF_REM_NPC 1"
]
},
{
"code": 356,
"indent": 0,
"parameters": [
"NF_ADD_NPC 49 1"
]
},
{
"code": 230,
"indent": 0,
"parameters": [
60
]
},
{
"code": 222,
"indent": 0,
"parameters": []
},
{
"code": 121,
"indent": 0,
"parameters": [
94,
94,
0
]
},
{
"code": 356,
"indent": 0,
"parameters": [
"Live2dモーション設定 FR Entry 0 3"
]
},
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
2,
2
]
},
{
"code": 401,
"indent": 0,
"parameters": [
""
]
},
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
0,
2
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"\\N<ボク>「!?"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" な、なんで裸なの…!?」"
]
},
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
0,
2
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"\\N<おばさん>「あ、あのね…?♥"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" SMごっこは、こうやって"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" 女の人を裸で散歩させたりもするのよ…?♥」"
]
},
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
0,
2
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"\\N<ボク>「そ、そうなんだ…。"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" よくわかんないけど"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" 大人って、こんなこともするんだね…」"
]
},
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
0,
2
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"\\N<おばさん>「そ、そうなの…♥"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" でも、誰かに見られたら大変だから"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" こうやって、深夜に"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" こっそりするのよ…♥」"
]
},
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
0,
2
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"\\N<ボク>「そっかー…」"
]
},
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
0,
2
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"\\N<おばさん>「じゃ、じゃあ、はい…♥"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" このリードを持って"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" おばさんをメス犬だと思って"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" 商店街まで散歩させて…♥」"
]
},
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
0,
2
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"\\N<ボク>「う、うん…」"
]
},
{
"code": 117,
"indent": 0,
"parameters": [
2
]
},
{
"code": 122,
"indent": 0,
"parameters": [
450,
450,
0,
0,
3
]
},
{
"code": 0,
"indent": 0,
"parameters": []
}
],
"moveFrequency": 3,
"moveRoute": {
"list": [
{
"code": 0,
"parameters": []
}
],
"repeat": true,
"skippable": false,
"wait": false
},
"moveSpeed": 3,
"moveType": 0,
"priorityType": 0,
"stepAnime": false,
"through": false,
"trigger": 3,
"walkAnime": true
},
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 1,
"switch1Valid": false,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 450,
"variableValid": true,
"variableValue": 3
},
"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": 28,
"y": 3
}
]
}

View file

@ -1171,10 +1171,21 @@
0,
0,
0,
23,
23,
23,
23,
23,
23,
23,
0,
0,
0,
0,
23,
23,
23,
23,
23,
23,
23,
23,
23,
0,
@ -1187,41 +1198,30 @@
0,
0,
0,
23,
0,
23,
0,
0,
0,
0,
23,
23,
23,
23,
23,
23,
23,
0,
23,
23,
23,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
23,
23,
23,
23,
23,
0,
0,
0,

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1957,7 +1957,7 @@
426,
200,
0,
0,
452,
0,
0,
0,
@ -1980,7 +1980,7 @@
424,
52,
0,
0,
461,
0,
0,
0,
@ -3824,8 +3824,8 @@
},
{
"id": 4,
"name": "EV004",
"note": "",
"name": "トイレドア_TE",
"note": "<TE:トイレドア>",
"pages": [
{
"conditions": {
@ -3843,7 +3843,7 @@
"variableValid": false,
"variableValue": 0
},
"directionFix": false,
"directionFix": true,
"image": {
"tileId": 0,
"characterName": "!1x1_5door3",
@ -3852,25 +3852,6 @@
"characterIndex": 0
},
"list": [
{
"code": 250,
"indent": 0,
"parameters": [
{
"name": "42_Door6_B",
"volume": 90,
"pitch": 100,
"pan": 0
}
]
},
{
"code": 117,
"indent": 0,
"parameters": [
175
]
},
{
"code": 0,
"indent": 0,
@ -4185,7 +4166,7 @@
1,
2,
0,
9,
8,
1
]
},
@ -4285,7 +4266,7 @@
1,
2,
0,
9,
8,
1
]
},
@ -5988,7 +5969,7 @@
1,
2,
0,
9,
8,
1
]
},
@ -6428,7 +6409,7 @@
1,
2,
0,
9,
8,
1
]
},
@ -7018,7 +6999,7 @@
1,
2,
0,
9,
8,
1
]
},
@ -10145,6 +10126,15 @@
1
]
},
{
"code": 121,
"indent": 0,
"parameters": [
342,
342,
1
]
},
{
"code": 0,
"indent": 0,
@ -11403,6 +11393,57 @@
"trigger": 0,
"walkAnime": false
},
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 342,
"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,
@ -11827,6 +11868,15 @@
3
]
},
{
"code": 121,
"indent": 1,
"parameters": [
342,
342,
1
]
},
{
"code": 201,
"indent": 1,
@ -13115,6 +13165,334 @@
],
"x": 5,
"y": 6
},
{
"id": 37,
"name": "トイレ監視",
"note": "",
"pages": [
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 1,
"switch1Valid": false,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 1,
"variableValid": false,
"variableValue": 0
},
"directionFix": false,
"image": {
"characterIndex": 0,
"characterName": "",
"direction": 2,
"pattern": 0,
"tileId": 0
},
"list": [
{
"code": 108,
"indent": 0,
"parameters": [
"<page condition>"
]
},
{
"code": 111,
"indent": 0,
"parameters": [
1,
2,
1,
458,
5
]
},
{
"code": 356,
"indent": 1,
"parameters": [
"activate_page"
]
},
{
"code": 0,
"indent": 1,
"parameters": []
},
{
"code": 412,
"indent": 0,
"parameters": []
},
{
"code": 108,
"indent": 0,
"parameters": [
"</page condition>"
]
},
{
"code": 111,
"indent": 0,
"parameters": [
1,
2,
0,
20,
0
]
},
{
"code": 108,
"indent": 1,
"parameters": [
""
]
},
{
"code": 117,
"indent": 1,
"parameters": [
147
]
},
{
"code": 111,
"indent": 1,
"parameters": [
1,
19,
0,
1,
0
]
},
{
"code": 121,
"indent": 2,
"parameters": [
342,
342,
0
]
},
{
"code": 122,
"indent": 2,
"parameters": [
460,
460,
0,
0,
184
]
},
{
"code": 122,
"indent": 2,
"parameters": [
458,
458,
0,
1,
2
]
},
{
"code": 0,
"indent": 2,
"parameters": []
},
{
"code": 412,
"indent": 1,
"parameters": []
},
{
"code": 0,
"indent": 1,
"parameters": []
},
{
"code": 412,
"indent": 0,
"parameters": []
},
{
"code": 111,
"indent": 0,
"parameters": [
1,
2,
0,
21,
0
]
},
{
"code": 121,
"indent": 1,
"parameters": [
342,
342,
1
]
},
{
"code": 0,
"indent": 1,
"parameters": []
},
{
"code": 412,
"indent": 0,
"parameters": []
},
{
"code": 230,
"indent": 0,
"parameters": [
60
]
},
{
"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": 4,
"walkAnime": true
},
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 343,
"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": 1,
"switch1Valid": false,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 28,
"variableValid": true,
"variableValue": 3
},
"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": 16,
"y": 3
}
]
}

View file

@ -4180,6 +4180,65 @@
"$gameVariables.setValue($gameVariables.value(34),$gameVariables.value(20))"
]
},
{
"code": 111,
"indent": 4,
"parameters": [
1,
34,
0,
269,
0
]
},
{
"code": 111,
"indent": 5,
"parameters": [
8,
269
]
},
{
"code": 0,
"indent": 6,
"parameters": []
},
{
"code": 411,
"indent": 5,
"parameters": []
},
{
"code": 126,
"indent": 6,
"parameters": [
269,
0,
0,
1
]
},
{
"code": 0,
"indent": 6,
"parameters": []
},
{
"code": 412,
"indent": 5,
"parameters": []
},
{
"code": 0,
"indent": 5,
"parameters": []
},
{
"code": 412,
"indent": 4,
"parameters": []
},
{
"code": 0,
"indent": 4,
@ -4834,6 +4893,65 @@
"indent": 5,
"parameters": []
},
{
"code": 111,
"indent": 5,
"parameters": [
1,
36,
0,
321,
0
]
},
{
"code": 111,
"indent": 6,
"parameters": [
8,
321
]
},
{
"code": 0,
"indent": 7,
"parameters": []
},
{
"code": 411,
"indent": 6,
"parameters": []
},
{
"code": 126,
"indent": 7,
"parameters": [
321,
0,
0,
1
]
},
{
"code": 0,
"indent": 7,
"parameters": []
},
{
"code": 412,
"indent": 6,
"parameters": []
},
{
"code": 0,
"indent": 6,
"parameters": []
},
{
"code": 412,
"indent": 5,
"parameters": []
},
{
"code": 0,
"indent": 5,

View file

@ -1614,6 +1614,7 @@
457,
0,
0,
452,
0,
0,
0,
@ -1636,8 +1637,7 @@
0,
0,
0,
0,
0,
461,
0,
0,
0,
@ -2964,8 +2964,123 @@
},
"list": [
{
"code": 250,
"code": 111,
"indent": 0,
"parameters": [
0,
345,
0
]
},
{
"code": 111,
"indent": 1,
"parameters": [
1,
460,
0,
182,
0
]
},
{
"code": 213,
"indent": 2,
"parameters": [
-1,
2,
true
]
},
{
"code": 101,
"indent": 2,
"parameters": [
"",
0,
0,
2
]
},
{
"code": 401,
"indent": 2,
"parameters": [
"\\N<ボク>(何だか、変な音がするような…?"
]
},
{
"code": 401,
"indent": 2,
"parameters": [
" ちょっとのぞいてみよう…)"
]
},
{
"code": 122,
"indent": 2,
"parameters": [
127,
127,
0,
0,
1
]
},
{
"code": 117,
"indent": 2,
"parameters": [
222
]
},
{
"code": 0,
"indent": 2,
"parameters": []
},
{
"code": 411,
"indent": 1,
"parameters": []
},
{
"code": 119,
"indent": 2,
"parameters": [
"通常"
]
},
{
"code": 0,
"indent": 2,
"parameters": []
},
{
"code": 412,
"indent": 1,
"parameters": []
},
{
"code": 0,
"indent": 1,
"parameters": []
},
{
"code": 411,
"indent": 0,
"parameters": []
},
{
"code": 118,
"indent": 1,
"parameters": [
"通常"
]
},
{
"code": 250,
"indent": 1,
"parameters": [
{
"name": "42_Door6_B",
@ -2977,11 +3092,21 @@
},
{
"code": 117,
"indent": 0,
"indent": 1,
"parameters": [
175
]
},
{
"code": 0,
"indent": 1,
"parameters": []
},
{
"code": 412,
"indent": 0,
"parameters": []
},
{
"code": 0,
"indent": 0,
@ -3134,8 +3259,8 @@
},
{
"id": 4,
"name": "EV004",
"note": "",
"name": "トイレドア_TE",
"note": "<TE:トイレドア>",
"pages": [
{
"conditions": {
@ -3153,7 +3278,7 @@
"variableValid": false,
"variableValue": 0
},
"directionFix": false,
"directionFix": true,
"image": {
"tileId": 0,
"characterName": "!1x1_5door3",
@ -3162,25 +3287,6 @@
"characterIndex": 0
},
"list": [
{
"code": 250,
"indent": 0,
"parameters": [
{
"name": "42_Door6_B",
"volume": 90,
"pitch": 100,
"pan": 0
}
]
},
{
"code": 117,
"indent": 0,
"parameters": [
175
]
},
{
"code": 0,
"indent": 0,
@ -3793,6 +3899,24 @@
1
]
},
{
"code": 121,
"indent": 0,
"parameters": [
342,
342,
1
]
},
{
"code": 121,
"indent": 0,
"parameters": [
345,
345,
1
]
},
{
"code": 0,
"indent": 0,
@ -6193,7 +6317,7 @@
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 1,
"switch1Valid": true,
"switch1Valid": false,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 27,
@ -7478,12 +7602,282 @@
"through": false,
"trigger": 3,
"walkAnime": true
},
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 345,
"switch1Valid": true,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 1,
"variableValid": false,
"variableValue": 0
},
"directionFix": true,
"image": {
"tileId": 0,
"characterName": "01_Girl_RN",
"direction": 6,
"pattern": 0,
"characterIndex": 0
},
"list": [
{
"code": 108,
"indent": 0,
"parameters": [
"<page condition>"
]
},
{
"code": 111,
"indent": 0,
"parameters": [
1,
460,
0,
182,
0
]
},
{
"code": 356,
"indent": 1,
"parameters": [
"activate_page"
]
},
{
"code": 0,
"indent": 1,
"parameters": []
},
{
"code": 412,
"indent": 0,
"parameters": []
},
{
"code": 108,
"indent": 0,
"parameters": [
"</page condition>"
]
},
{
"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
}
],
"x": 13,
"y": 15
},
null,
{
"id": 30,
"name": "トイレ監視",
"note": "",
"pages": [
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 1,
"switch1Valid": false,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 1,
"variableValid": false,
"variableValue": 0
},
"directionFix": false,
"image": {
"characterIndex": 0,
"characterName": "",
"direction": 2,
"pattern": 0,
"tileId": 0
},
"list": [
{
"code": 111,
"indent": 0,
"parameters": [
1,
2,
0,
16,
0
]
},
{
"code": 121,
"indent": 1,
"parameters": [
342,
342,
1
]
},
{
"code": 0,
"indent": 1,
"parameters": []
},
{
"code": 412,
"indent": 0,
"parameters": []
},
{
"code": 111,
"indent": 0,
"parameters": [
1,
2,
0,
17,
0
]
},
{
"code": 121,
"indent": 1,
"parameters": [
345,
345,
1
]
},
{
"code": 0,
"indent": 1,
"parameters": []
},
{
"code": 412,
"indent": 0,
"parameters": []
},
{
"code": 230,
"indent": 0,
"parameters": [
60
]
},
{
"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": 4,
"walkAnime": true
},
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 343,
"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": 18,
"y": 3
},
{
"id": 31,
"name": "洗面所_TE",
@ -7544,126 +7938,8 @@
"x": 16,
"y": 9
},
{
"id": 32,
"name": "風呂_TE",
"note": "<TE:風呂>",
"pages": [
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 1,
"switch1Valid": false,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 1,
"variableValid": false,
"variableValue": 0
},
"directionFix": false,
"image": {
"characterIndex": 0,
"characterName": "",
"direction": 2,
"pattern": 0,
"tileId": 0
},
"list": [
{
"code": 0,
"indent": 0,
"parameters": []
}
],
"moveFrequency": 3,
"moveRoute": {
"list": [
{
"code": 0,
"parameters": []
}
],
"repeat": true,
"skippable": false,
"wait": false
},
"moveSpeed": 3,
"moveType": 0,
"priorityType": 1,
"stepAnime": false,
"through": false,
"trigger": 0,
"walkAnime": true
}
],
"x": 16,
"y": 15
},
{
"id": 33,
"name": "風呂_TE",
"note": "<TE:風呂>",
"pages": [
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 1,
"switch1Valid": false,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 1,
"variableValid": false,
"variableValue": 0
},
"directionFix": false,
"image": {
"characterIndex": 0,
"characterName": "",
"direction": 2,
"pattern": 0,
"tileId": 0
},
"list": [
{
"code": 0,
"indent": 0,
"parameters": []
}
],
"moveFrequency": 3,
"moveRoute": {
"list": [
{
"code": 0,
"parameters": []
}
],
"repeat": true,
"skippable": false,
"wait": false
},
"moveSpeed": 3,
"moveType": 0,
"priorityType": 1,
"stepAnime": false,
"through": false,
"trigger": 0,
"walkAnime": true
}
],
"x": 17,
"y": 15
},
null,
null,
{
"id": 34,
"name": "飲み物_TE",

View file

@ -5944,6 +5944,192 @@
"through": false,
"trigger": 0,
"walkAnime": true
},
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 342,
"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": 108,
"indent": 0,
"parameters": [
"<page condition>"
]
},
{
"code": 111,
"indent": 0,
"parameters": [
1,
460,
0,
182,
0
]
},
{
"code": 356,
"indent": 1,
"parameters": [
"activate_page"
]
},
{
"code": 0,
"indent": 1,
"parameters": []
},
{
"code": 412,
"indent": 0,
"parameters": []
},
{
"code": 108,
"indent": 0,
"parameters": [
"</page condition>"
]
},
{
"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": 345,
"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": 108,
"indent": 0,
"parameters": [
"<page condition>"
]
},
{
"code": 111,
"indent": 0,
"parameters": [
1,
460,
0,
182,
0
]
},
{
"code": 356,
"indent": 1,
"parameters": [
"activate_page"
]
},
{
"code": 0,
"indent": 1,
"parameters": []
},
{
"code": 412,
"indent": 0,
"parameters": []
},
{
"code": 108,
"indent": 0,
"parameters": [
"</page condition>"
]
},
{
"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": 8,
@ -11359,6 +11545,7 @@
],
"x": 6,
"y": 8
}
},
null
]
}

View file

@ -5495,6 +5495,57 @@
"through": false,
"trigger": 0,
"walkAnime": true
},
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 1,
"switch1Valid": false,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 22,
"variableValid": true,
"variableValue": 1
},
"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": 11,
@ -5555,6 +5606,57 @@
"through": false,
"trigger": 0,
"walkAnime": true
},
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 1,
"switch1Valid": false,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 22,
"variableValid": true,
"variableValue": 1
},
"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": 0,

File diff suppressed because it is too large Load diff

4480
www/data/Map030.json Normal file

File diff suppressed because it is too large Load diff

1688
www/data/Map031.json Normal file

File diff suppressed because it is too large Load diff

View file

@ -2948,6 +2948,128 @@
164
]
},
{
"code": 111,
"indent": 0,
"parameters": [
1,
15,
0,
2,
1
]
},
{
"code": 111,
"indent": 1,
"parameters": [
1,
457,
1,
2,
5
]
},
{
"code": 111,
"indent": 2,
"parameters": [
1,
2,
0,
13,
0
]
},
{
"code": 117,
"indent": 3,
"parameters": [
147
]
},
{
"code": 111,
"indent": 3,
"parameters": [
1,
19,
0,
1,
0
]
},
{
"code": 121,
"indent": 4,
"parameters": [
345,
345,
0
]
},
{
"code": 122,
"indent": 4,
"parameters": [
460,
460,
0,
0,
190
]
},
{
"code": 122,
"indent": 4,
"parameters": [
457,
457,
0,
1,
2
]
},
{
"code": 0,
"indent": 4,
"parameters": []
},
{
"code": 412,
"indent": 3,
"parameters": []
},
{
"code": 0,
"indent": 3,
"parameters": []
},
{
"code": 412,
"indent": 2,
"parameters": []
},
{
"code": 0,
"indent": 2,
"parameters": []
},
{
"code": 412,
"indent": 1,
"parameters": []
},
{
"code": 0,
"indent": 1,
"parameters": []
},
{
"code": 412,
"indent": 0,
"parameters": []
},
{
"code": 201,
"indent": 0,

View file

@ -1957,7 +1957,7 @@
"code": 401,
"indent": 1,
"parameters": [
" 男子ってこの、好きなんでしょ?♥」"
" 男子ってこーゆうの、好きなんでしょ?♥」"
]
},
{
@ -2166,7 +2166,7 @@
"code": 401,
"indent": 1,
"parameters": [
" 男子ってこの、好きなんでしょ?♥」"
" 男子ってこーゆうの、好きなんでしょ?♥」"
]
},
{
@ -4022,6 +4022,150 @@
"through": false,
"trigger": 0,
"walkAnime": true
},
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 345,
"switch1Valid": true,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 1,
"variableValid": false,
"variableValue": 0
},
"directionFix": true,
"image": {
"tileId": 0,
"characterName": "!Flame",
"direction": 8,
"pattern": 0,
"characterIndex": 7
},
"list": [
{
"code": 108,
"indent": 0,
"parameters": [
"<page condition>"
]
},
{
"code": 111,
"indent": 0,
"parameters": [
1,
460,
0,
190,
0
]
},
{
"code": 356,
"indent": 1,
"parameters": [
"activate_page"
]
},
{
"code": 0,
"indent": 1,
"parameters": []
},
{
"code": 412,
"indent": 0,
"parameters": []
},
{
"code": 108,
"indent": 0,
"parameters": [
"</page condition>"
]
},
{
"code": 213,
"indent": 0,
"parameters": [
-1,
2,
true
]
},
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
0,
2
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"\\N<ボク>(何だか、変な音がするような…?"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" ちょっとのぞいてみよう…)"
]
},
{
"code": 122,
"indent": 0,
"parameters": [
127,
127,
0,
0,
2
]
},
{
"code": 117,
"indent": 0,
"parameters": [
222
]
},
{
"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
}
],
"x": 8,
@ -4347,6 +4491,15 @@
165
]
},
{
"code": 121,
"indent": 0,
"parameters": [
345,
345,
1
]
},
{
"code": 0,
"indent": 0,

View file

@ -3256,8 +3256,8 @@
"indent": 0,
"parameters": [
[
"エッチなこと、したいな",
"紙ヒコーキで遊ぼ",
"エッチなこと、したいな",
"また今度、遊ぼ"
],
2,
@ -3271,85 +3271,6 @@
"indent": 0,
"parameters": [
0,
"エッチなこと、したいな"
]
},
{
"code": 101,
"indent": 1,
"parameters": [
"",
0,
0,
2
]
},
{
"code": 401,
"indent": 1,
"parameters": [
"\\N<ユウくん>「ふふ、そうなんだ?♥"
]
},
{
"code": 401,
"indent": 1,
"parameters": [
" いいよ♥"
]
},
{
"code": 401,
"indent": 1,
"parameters": [
" じゃあ、ボク君のお部屋にいこっか♥」"
]
},
{
"code": 355,
"indent": 1,
"parameters": [
"SceneManager._scene._spriteset._fadeSprite.setColor(255, 255, 255);"
]
},
{
"code": 221,
"indent": 1,
"parameters": []
},
{
"code": 201,
"indent": 1,
"parameters": [
0,
22,
21,
7,
4,
0
]
},
{
"code": 122,
"indent": 1,
"parameters": [
155,
155,
0,
0,
6
]
},
{
"code": 0,
"indent": 1,
"parameters": []
},
{
"code": 402,
"indent": 0,
"parameters": [
1,
"紙ヒコーキで遊ぼ"
]
},
@ -3514,6 +3435,85 @@
"indent": 1,
"parameters": []
},
{
"code": 402,
"indent": 0,
"parameters": [
1,
"エッチなこと、したいな"
]
},
{
"code": 101,
"indent": 1,
"parameters": [
"",
0,
0,
2
]
},
{
"code": 401,
"indent": 1,
"parameters": [
"\\N<ユウくん>「ふふ、そうなんだ?♥"
]
},
{
"code": 401,
"indent": 1,
"parameters": [
" いいよ♥"
]
},
{
"code": 401,
"indent": 1,
"parameters": [
" じゃあ、ボク君のお部屋にいこっか♥」"
]
},
{
"code": 355,
"indent": 1,
"parameters": [
"SceneManager._scene._spriteset._fadeSprite.setColor(255, 255, 255);"
]
},
{
"code": 221,
"indent": 1,
"parameters": []
},
{
"code": 201,
"indent": 1,
"parameters": [
0,
22,
21,
7,
4,
0
]
},
{
"code": 122,
"indent": 1,
"parameters": [
155,
155,
0,
0,
6
]
},
{
"code": 0,
"indent": 1,
"parameters": []
},
{
"code": 402,
"indent": 0,

View file

@ -4171,8 +4171,8 @@
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"itemId": 29,
"itemValid": true,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 1,
@ -8777,21 +8777,21 @@
"code": 401,
"indent": 3,
"parameters": [
"\\N<おばさん>「あらあら、欲張りさんね♥"
"\\N<おばさん>「あらあら、正直ね…♥"
]
},
{
"code": 401,
"indent": 3,
"parameters": [
" でも、男の子だもの、"
" そんなに素直に求められたら"
]
},
{
"code": 401,
"indent": 3,
"parameters": [
" そうじゃなくちゃね♥"
" おばさんも、欲しくなっちゃうわ…♥"
]
},
{

File diff suppressed because it is too large Load diff

View file

@ -2421,6 +2421,147 @@
164
]
},
{
"code": 111,
"indent": 0,
"parameters": [
0,
76,
0
]
},
{
"code": 111,
"indent": 1,
"parameters": [
1,
15,
0,
2,
1
]
},
{
"code": 111,
"indent": 2,
"parameters": [
1,
457,
1,
2,
5
]
},
{
"code": 111,
"indent": 3,
"parameters": [
1,
2,
0,
14,
0
]
},
{
"code": 117,
"indent": 4,
"parameters": [
147
]
},
{
"code": 111,
"indent": 4,
"parameters": [
1,
19,
0,
1,
0
]
},
{
"code": 121,
"indent": 5,
"parameters": [
345,
345,
0
]
},
{
"code": 122,
"indent": 5,
"parameters": [
460,
460,
0,
0,
193
]
},
{
"code": 122,
"indent": 5,
"parameters": [
457,
457,
0,
1,
2
]
},
{
"code": 0,
"indent": 5,
"parameters": []
},
{
"code": 412,
"indent": 4,
"parameters": []
},
{
"code": 0,
"indent": 4,
"parameters": []
},
{
"code": 412,
"indent": 3,
"parameters": []
},
{
"code": 0,
"indent": 3,
"parameters": []
},
{
"code": 412,
"indent": 2,
"parameters": []
},
{
"code": 0,
"indent": 2,
"parameters": []
},
{
"code": 412,
"indent": 1,
"parameters": []
},
{
"code": 0,
"indent": 1,
"parameters": []
},
{
"code": 412,
"indent": 0,
"parameters": []
},
{
"code": 201,
"indent": 0,

View file

@ -2662,6 +2662,15 @@
165
]
},
{
"code": 121,
"indent": 0,
"parameters": [
345,
345,
1
]
},
{
"code": 0,
"indent": 0,
@ -3487,6 +3496,267 @@
"x": 12,
"y": 5
},
null
{
"id": 10,
"name": "EV010",
"note": "",
"pages": [
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 345,
"switch1Valid": true,
"switch2Id": 76,
"switch2Valid": true,
"variableId": 1,
"variableValid": false,
"variableValue": 0
},
"directionFix": true,
"image": {
"tileId": 0,
"characterName": "01_Kids01_N",
"direction": 6,
"pattern": 1,
"characterIndex": 3
},
"list": [
{
"code": 108,
"indent": 0,
"parameters": [
"<page condition>"
]
},
{
"code": 111,
"indent": 0,
"parameters": [
1,
460,
0,
193,
0
]
},
{
"code": 356,
"indent": 1,
"parameters": [
"activate_page"
]
},
{
"code": 0,
"indent": 1,
"parameters": []
},
{
"code": 412,
"indent": 0,
"parameters": []
},
{
"code": 108,
"indent": 0,
"parameters": [
"</page condition>"
]
},
{
"code": 108,
"indent": 0,
"parameters": [
"<animeLight:TMAnimeLight4 170 0 0 6 1> "
]
},
{
"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": false,
"through": false,
"trigger": 0,
"walkAnime": false
}
],
"x": 11,
"y": 5
},
{
"id": 11,
"name": "EV011",
"note": "",
"pages": [
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 345,
"switch1Valid": true,
"switch2Id": 76,
"switch2Valid": true,
"variableId": 1,
"variableValid": false,
"variableValue": 0
},
"directionFix": true,
"image": {
"tileId": 0,
"characterName": "!Flame",
"direction": 8,
"pattern": 0,
"characterIndex": 7
},
"list": [
{
"code": 108,
"indent": 0,
"parameters": [
"<page condition>"
]
},
{
"code": 111,
"indent": 0,
"parameters": [
1,
460,
0,
193,
0
]
},
{
"code": 356,
"indent": 1,
"parameters": [
"activate_page"
]
},
{
"code": 0,
"indent": 1,
"parameters": []
},
{
"code": 412,
"indent": 0,
"parameters": []
},
{
"code": 108,
"indent": 0,
"parameters": [
"</page condition>"
]
},
{
"code": 213,
"indent": 0,
"parameters": [
-1,
2,
true
]
},
{
"code": 101,
"indent": 0,
"parameters": [
"",
0,
0,
2
]
},
{
"code": 401,
"indent": 0,
"parameters": [
"\\N<ボク>(何だか、変な音がするような…?"
]
},
{
"code": 401,
"indent": 0,
"parameters": [
" ちょっとのぞいてみよう…)"
]
},
{
"code": 122,
"indent": 0,
"parameters": [
127,
127,
0,
0,
5
]
},
{
"code": 117,
"indent": 0,
"parameters": [
222
]
},
{
"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": 1,
"walkAnime": false
}
],
"x": 9,
"y": 3
}
]
}

View file

@ -1880,7 +1880,7 @@
23,
0,
0,
0,
85,
0,
0,
0,
@ -4160,7 +4160,7 @@
}
],
"x": 8,
"y": 3
"y": 4
},
{
"id": 26,
@ -4392,11 +4392,11 @@
},
"moveSpeed": 2,
"moveType": 0,
"priorityType": 2,
"priorityType": 1,
"stepAnime": false,
"through": false,
"trigger": 0,
"walkAnime": true
"walkAnime": false
}
],
"x": 8,

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

@ -3811,6 +3811,99 @@
"through": false,
"trigger": 0,
"walkAnime": true
},
{
"conditions": {
"actorId": 1,
"actorValid": false,
"itemId": 1,
"itemValid": false,
"selfSwitchCh": "A",
"selfSwitchValid": false,
"switch1Id": 345,
"switch1Valid": true,
"switch2Id": 1,
"switch2Valid": false,
"variableId": 1,
"variableValid": false,
"variableValue": 0
},
"directionFix": true,
"image": {
"tileId": 0,
"characterName": "",
"direction": 6,
"pattern": 0,
"characterIndex": 0
},
"list": [
{
"code": 108,
"indent": 0,
"parameters": [
"<page condition>"
]
},
{
"code": 111,
"indent": 0,
"parameters": [
1,
460,
0,
187,
0
]
},
{
"code": 356,
"indent": 1,
"parameters": [
"activate_page"
]
},
{
"code": 0,
"indent": 1,
"parameters": []
},
{
"code": 412,
"indent": 0,
"parameters": []
},
{
"code": 108,
"indent": 0,
"parameters": [
"</page condition>"
]
},
{
"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": true,
"through": false,
"trigger": 0,
"walkAnime": false
}
],
"x": 9,

View file

@ -3255,7 +3255,7 @@
"code": 401,
"indent": 0,
"parameters": [
" セックスていうの…♥」"
" セックスていうの…♥」"
]
},
{
@ -3293,7 +3293,7 @@
"code": 401,
"indent": 0,
"parameters": [
" 最後にちんちんから出る白いのを、女人の中に出すの」"
" 最後にちんちんから出る白いのを、女人の中に出すの」"
]
},
{
@ -3427,7 +3427,7 @@
"code": 401,
"indent": 0,
"parameters": [
"\\N<ナナちゃん>「そう、わかったないいのよ。"
"\\N<ナナちゃん>「そう、わかったいいのよ。"
]
},
{

View file

@ -3035,11 +3035,20 @@
"秘密の合言葉を入力してカスタマイズ"
]
},
{
"code": 121,
"indent": 2,
"parameters": [
17,
17,
0
]
},
{
"code": 356,
"indent": 2,
"parameters": [
"百進数パス入力画面へ 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100"
"百進数パス入力画面へ 19 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100"
]
},
{
@ -3891,6 +3900,15 @@
"キャンセル"
]
},
{
"code": 121,
"indent": 1,
"parameters": [
17,
17,
1
]
},
{
"code": 235,
"indent": 1,
@ -6891,6 +6909,7 @@
],
"x": 14,
"y": 8
}
},
null
]
}

View file

@ -6,7 +6,7 @@
"name": "テンプレート",
"order": 1,
"parentId": 0,
"scrollX": 775.5,
"scrollX": 778.5,
"scrollY": 895.5
},
{
@ -15,42 +15,50 @@
"name": "テスト",
"order": 2,
"parentId": 0,
"scrollX": 775.5,
"scrollX": 778.5,
"scrollY": 895.5
},
{
"id": 3,
"expanded": false,
"name": "学校(祭り)",
"order": 57,
"parentId": 43,
"scrollX": 849.5,
"scrollY": 895.5
},
null,
{
"id": 4,
"expanded": true,
"name": "バス停",
"order": 26,
"order": 27,
"parentId": 6,
"scrollX": 775.5,
"scrollX": 778.5,
"scrollY": 895.5
},
{
"id": 5,
"expanded": true,
"name": "トンネル",
"order": 27,
"order": 28,
"parentId": 4,
"scrollX": 689,
"scrollX": 778.5,
"scrollY": 895.5
},
{
"id": 6,
"expanded": true,
"name": "橋",
"order": 25,
"order": 26,
"parentId": 0,
"scrollX": 832,
"scrollY": 640
"scrollX": 849.5,
"scrollY": 895.5
},
{
"id": 7,
"expanded": false,
"name": "三叉路",
"order": 30,
"order": 31,
"parentId": 0,
"scrollX": 1173.5,
"scrollY": 895.5
@ -61,7 +69,7 @@
"name": "ペンション",
"order": 7,
"parentId": 0,
"scrollX": 775.5,
"scrollX": 849.5,
"scrollY": 895.5
},
{
@ -70,7 +78,7 @@
"name": "裏庭",
"order": 11,
"parentId": 8,
"scrollX": 775.5,
"scrollX": 849.5,
"scrollY": 895.5
},
{
@ -79,14 +87,14 @@
"name": "商店街",
"order": 20,
"parentId": 0,
"scrollX": 775.5,
"scrollX": 849.5,
"scrollY": 895.5
},
{
"id": 11,
"expanded": false,
"name": "ホタル橋",
"order": 31,
"order": 32,
"parentId": 0,
"scrollX": 1173.5,
"scrollY": 895.5
@ -97,7 +105,7 @@
"name": "スキー場",
"order": 23,
"parentId": 0,
"scrollX": 775.5,
"scrollX": 849.5,
"scrollY": 895.5
},
{
@ -106,16 +114,16 @@
"name": "スキーコース",
"order": 24,
"parentId": 12,
"scrollX": 767.5,
"scrollY": 1015.5
"scrollX": 841.5,
"scrollY": 3904.5
},
{
"id": 14,
"expanded": true,
"name": "住宅街_東",
"order": 32,
"order": 33,
"parentId": 0,
"scrollX": 775.5,
"scrollX": 778.5,
"scrollY": 895.5
},
{
@ -124,7 +132,7 @@
"name": "アトリエ",
"order": 17,
"parentId": 0,
"scrollX": 775.5,
"scrollX": 849.5,
"scrollY": 895.5
},
{
@ -133,43 +141,43 @@
"name": "秘密基地",
"order": 12,
"parentId": 0,
"scrollX": 775.5,
"scrollX": 778.5,
"scrollY": 895.5
},
{
"id": 17,
"expanded": false,
"name": "住宅街_西",
"order": 33,
"order": 34,
"parentId": 14,
"scrollX": 775.5,
"scrollX": 778.5,
"scrollY": 895.5
},
{
"id": 18,
"expanded": true,
"name": "崖路",
"order": 36,
"order": 37,
"parentId": 0,
"scrollX": 775.5,
"scrollX": 778.5,
"scrollY": 895.5
},
{
"id": 19,
"expanded": true,
"name": "裏道①",
"order": 39,
"order": 40,
"parentId": 0,
"scrollX": 775.5,
"scrollX": 778.5,
"scrollY": 895.5
},
{
"id": 20,
"expanded": true,
"name": "郊外",
"order": 44,
"order": 45,
"parentId": 0,
"scrollX": 775.5,
"scrollX": 1047.5,
"scrollY": 895.5
},
{
@ -178,7 +186,7 @@
"name": "ペンション1階",
"order": 8,
"parentId": 8,
"scrollX": 1096.5,
"scrollX": 1022.5,
"scrollY": 887.5
},
{
@ -187,8 +195,8 @@
"name": "ペンション2階",
"order": 9,
"parentId": 8,
"scrollX": 904.5,
"scrollY": 887.5
"scrollX": 849.5,
"scrollY": 895.5
},
{
"id": 23,
@ -196,7 +204,7 @@
"name": "お店1階",
"order": 21,
"parentId": 10,
"scrollX": 775.5,
"scrollX": 849.5,
"scrollY": 895.5
},
{
@ -205,8 +213,8 @@
"name": "キャラメイク画面",
"order": 3,
"parentId": 2,
"scrollX": 775.5,
"scrollY": 895.5
"scrollX": 533.5,
"scrollY": 895
},
{
"id": 25,
@ -214,7 +222,7 @@
"name": "お店2階",
"order": 22,
"parentId": 10,
"scrollX": 775.5,
"scrollX": 849.5,
"scrollY": 895.5
},
{
@ -223,7 +231,7 @@
"name": "アトリエ1階",
"order": 18,
"parentId": 15,
"scrollX": 775.5,
"scrollX": 849.5,
"scrollY": 895.5
},
{
@ -232,7 +240,7 @@
"name": "アトリエ2階",
"order": 19,
"parentId": 15,
"scrollX": 775.5,
"scrollX": 849.5,
"scrollY": 895.5
},
{
@ -241,8 +249,8 @@
"name": "OP",
"order": 4,
"parentId": 2,
"scrollX": 1144.5,
"scrollY": 887.5
"scrollX": 1070.5,
"scrollY": 887
},
{
"id": 29,
@ -250,169 +258,185 @@
"name": "回想部屋",
"order": 5,
"parentId": 2,
"scrollX": 775.5,
"scrollX": 533.5,
"scrollY": 895
},
{
"id": 30,
"expanded": false,
"name": "公衆トイレ",
"order": 25,
"parentId": 12,
"scrollX": 849.5,
"scrollY": 895.5
},
{
"id": 31,
"expanded": false,
"name": "花火",
"order": 59,
"parentId": 42,
"scrollX": 849.5,
"scrollY": 895.5
},
null,
null,
{
"id": 32,
"expanded": false,
"name": "飛行機結果リザルト",
"order": 6,
"parentId": 2,
"scrollX": 701,
"scrollX": 1047.5,
"scrollY": 895.5
},
{
"id": 33,
"expanded": true,
"name": "自販機",
"order": 28,
"order": 29,
"parentId": 4,
"scrollX": 706,
"scrollX": 849.5,
"scrollY": 895.5
},
{
"id": 34,
"expanded": false,
"name": "自販機内部",
"order": 29,
"order": 30,
"parentId": 4,
"scrollX": 530,
"scrollX": 849.5,
"scrollY": 895.5
},
{
"id": 35,
"expanded": true,
"name": "参道",
"order": 49,
"order": 50,
"parentId": 0,
"scrollX": 775.5,
"scrollX": 1047.5,
"scrollY": 895.5
},
{
"id": 36,
"expanded": true,
"name": "神社",
"order": 50,
"order": 51,
"parentId": 35,
"scrollX": 775.5,
"scrollX": 778.5,
"scrollY": 895.5
},
{
"id": 37,
"expanded": true,
"name": "墓場",
"order": 52,
"order": 53,
"parentId": 35,
"scrollX": 775.5,
"scrollX": 778.5,
"scrollY": 895.5
},
{
"id": 38,
"expanded": true,
"name": "裏道②",
"order": 40,
"order": 41,
"parentId": 19,
"scrollX": 706,
"scrollX": 1047.5,
"scrollY": 895.5
},
{
"id": 39,
"expanded": true,
"name": "空地",
"order": 41,
"order": 42,
"parentId": 19,
"scrollX": 775.5,
"scrollX": 1047.5,
"scrollY": 895.5
},
{
"id": 40,
"expanded": true,
"name": "別荘庭園",
"order": 42,
"order": 43,
"parentId": 19,
"scrollX": 775.5,
"scrollX": 778.5,
"scrollY": 895.5
},
{
"id": 41,
"expanded": false,
"name": "別荘",
"order": 43,
"order": 44,
"parentId": 19,
"scrollX": 775.5,
"scrollX": 778.5,
"scrollY": 895.5
},
{
"id": 42,
"expanded": true,
"name": "牧場",
"order": 54,
"order": 55,
"parentId": 0,
"scrollX": 775.5,
"scrollX": 778.5,
"scrollY": 895.5
},
{
"id": 43,
"expanded": false,
"expanded": true,
"name": "学校",
"order": 55,
"order": 56,
"parentId": 42,
"scrollX": 775.5,
"scrollX": 778.5,
"scrollY": 895.5
},
{
"id": 44,
"expanded": true,
"name": "裏山",
"order": 56,
"order": 58,
"parentId": 42,
"scrollX": 775.5,
"scrollX": 778.5,
"scrollY": 895.5
},
{
"id": 45,
"expanded": true,
"name": "廃村",
"order": 53,
"order": 54,
"parentId": 35,
"scrollX": 775.5,
"scrollX": 778.5,
"scrollY": 895.5
},
{
"id": 46,
"expanded": true,
"name": "抜け道",
"order": 37,
"order": 38,
"parentId": 18,
"scrollX": 775.5,
"scrollX": 1047.5,
"scrollY": 895.5
},
{
"id": 47,
"expanded": false,
"name": "洞窟",
"order": 38,
"order": 39,
"parentId": 18,
"scrollX": 1173.5,
"scrollX": 778.5,
"scrollY": 895.5
},
{
"id": 48,
"expanded": false,
"name": "川",
"order": 45,
"order": 46,
"parentId": 20,
"scrollX": 1173.5,
"scrollX": 1047.5,
"scrollY": 895.5
},
{
"id": 49,
"expanded": false,
"name": "中州",
"order": 46,
"order": 47,
"parentId": 20,
"scrollX": 530,
"scrollY": 895.5
@ -421,18 +445,18 @@
"id": 50,
"expanded": false,
"name": "川向こうの森",
"order": 47,
"order": 48,
"parentId": 20,
"scrollX": 775.5,
"scrollX": 778.5,
"scrollY": 895.5
},
{
"id": 51,
"expanded": false,
"name": "秘密の滝",
"order": 48,
"order": 49,
"parentId": 20,
"scrollX": 775.5,
"scrollX": 1047.5,
"scrollY": 895.5
},
{
@ -441,8 +465,8 @@
"name": "ヒメノ湖",
"order": 13,
"parentId": 16,
"scrollX": 1632.5,
"scrollY": 1496.5
"scrollX": 1534.5,
"scrollY": 1488.5
},
{
"id": 53,
@ -450,34 +474,34 @@
"name": "湖の滝",
"order": 16,
"parentId": 16,
"scrollX": 775.5,
"scrollX": 1047.5,
"scrollY": 895.5
},
{
"id": 54,
"expanded": false,
"name": "友達の家1階",
"order": 34,
"order": 35,
"parentId": 14,
"scrollX": 775.5,
"scrollX": 849.5,
"scrollY": 895.5
},
{
"id": 55,
"expanded": false,
"name": "友達の家2階",
"order": 35,
"order": 36,
"parentId": 14,
"scrollX": 775.5,
"scrollX": 849.5,
"scrollY": 895.5
},
{
"id": 56,
"expanded": false,
"name": "神社の中",
"order": 51,
"order": 52,
"parentId": 36,
"scrollX": 775.5,
"scrollX": 778.5,
"scrollY": 895.5
},
{
@ -486,7 +510,7 @@
"name": "テント(ナナちゃん)",
"order": 14,
"parentId": 52,
"scrollX": 775.5,
"scrollX": 778.5,
"scrollY": 895.5
},
{
@ -495,7 +519,7 @@
"name": "テント",
"order": 15,
"parentId": 52,
"scrollX": 775.5,
"scrollX": 1047.5,
"scrollY": 895.5
},
{
@ -504,7 +528,7 @@
"name": "屋根裏部屋",
"order": 10,
"parentId": 8,
"scrollX": 775.5,
"scrollX": 849.5,
"scrollY": 895.5
}
]

View file

@ -126,7 +126,7 @@
"身体",
"装飾品"
],
"gameTitle": "ぼくのひみつの夏休み2 ver1.1.0",
"gameTitle": "ぼくのひみつの夏休み2 ver1.2.7",
"gameoverMe": {
"name": "Gameover1",
"pan": 0,
@ -451,7 +451,7 @@
"初性器観察",
"初手コキ",
"初コンドーム",
"",
"必ず中高",
"必ず低発育",
"必ず大人の女性",
"必ず巨乳",
@ -558,7 +558,7 @@
"AV:EX⑨攻略",
"AV:EX⑩攻略",
"本EX攻略",
"",
"AV:EX⑪攻略",
"",
"",
"",
@ -595,12 +595,12 @@
"睡姦(お店)攻略",
"睡姦(友母)攻略",
"睡姦(マダム)攻略",
"",
"",
"",
"",
"",
"",
"雨宿り(美大生)攻略",
"オナニーばれ(お店)攻略",
"トイレ遭遇(留学生)攻略",
"深夜露出(友母)攻略",
"ベニパン(マダム)攻略",
"ブルマ(ミカ)攻略",
"",
"",
"",
@ -665,34 +665,34 @@
"",
"",
"",
"室内",
"トイレ使用中",
"主人公トイレ使用中",
"トイレ使用中B",
"自慰中",
"必ずラッキースケベ",
"",
"",
"",
"",
"着衣カスタム",
"背面騎乗位",
"騎乗位デフォルト",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"バイブオナニー",
"初ふたなり",
"おばちゃん汎用プレイ",
"さっちゃん汎用プレイ",
"太鼓練習",
"体位カスタム",
"カスタムモード中",
"カスタムモードチラシ発行",
"チラシ男性器用処理",
"",
"",
"",
"",
"",
"太鼓ミニゲーム",
"太鼓ヒット",
"太鼓ミス",
"太鼓ギブアップ",
"顔射",
"初足コキ",
"草すべり説明",
"秘密基地30日",
@ -896,7 +896,7 @@
"よい子ポイント",
"難易度",
"セルフ変数①",
"",
"セルフ変数②",
"ストーリー進行度",
"性知識レベル",
"",
@ -1324,18 +1324,28 @@
"自動販売機購入額",
"ED",
"カスタムするキャラ",
"太鼓差分",
"太鼓叩き",
"太鼓点数",
"コンボ",
"夏祭り",
"上半身ポーズ",
"下半身ポーズ",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
"イベント汎用",
"お気に入りP上①",
"お気に入りP下①",
"お気に入りP上②",
"お気に入りP下②",
"お気に入りP上③",
"お気に入りP下③",
"自慰監視",
"トイレ監視",
"公衆トイレ",
"のぞき対象"
],
"versionId": 17200231,
"versionId": 83169042,
"victoryMe": {
"name": "Bell4",
"pan": 0,

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1 @@
{}

View file

@ -4,6 +4,6 @@
PluginManager.setup($plugins);
window.onload = function() {
window.onload = function () {
SceneManager.run(Scene_Boot);
};

File diff suppressed because one or more lines are too long

View file

@ -1,16 +1,21 @@
//=============================================================================
// NpcFollower.js
// ----------------------------------------------------------------------------
// Copyright (c) 2015 Triacontane
// (C) 2016 Triacontane
// This software is released under the MIT License.
// http://opensource.org/licenses/mit-license.php
// ----------------------------------------------------------------------------
// Version
// 1.2.0 2022/09/17 アクターIDを指定してNPCを削除できるコマンドを追加
// 1.1.2 2022/05/10 パラメータの説明文を修正
// 1.1.1 2019/11/02 1.1.0の修正でメンバーの入れ替えを実施すると表示が不正になる場合がある問題を修正
// 1.1.0 2019/01/27 通常のフォロワーを表示せず、NPCフォロワーのみを表示できる機能を追加
// 1.0.3 2018/08/06 コアスクリプトが1.6.0より古い場合にエラーになる記述を修正
// 1.0.2 2017/01/17 プラグインコマンドが小文字でも動作するよう修正byこまちゃん先輩
// 1.0.1 2016/07/17 セーブデータをロードした際のエラーになる現象の修正
// 1.0.0 2016/07/14 初版
// ----------------------------------------------------------------------------
// [Blog] : http://triacontane.blogspot.jp/
// [Blog] : https://triacontane.blogspot.jp/
// [Twitter]: https://twitter.com/triacontane/
// [GitHub] : https://github.com/triacontane/
//=============================================================================
@ -23,6 +28,11 @@
* @desc 同時に隊列に存在できるNPCの最大数です
* @default 1
*
* @param HideNormalFollower
* @desc 通常のフォロワーを一切表示せずNPCフォロワーのみを表示しますデータベースの隊列歩行は有効にしてください
* @default false
* @type boolean
*
* @help マップ上の隊列の好きな位置にパーティメンバー以外のNPCを追加します
* NPCはデータベース上はアクターで定義してプラグインコマンドから追加削除します
* 戦闘員ではないのでメニュー画面や戦闘画面には影響を与えません
@ -51,6 +61,13 @@
* @param 最大同時NPC数
* @desc 同時に隊列に存在できるNPCの最大数です
* @default 1
* @type number
* @min 1
*
* @param 通常フォロワーを表示しない
* @desc 通常のフォロワーを一切表示せずNPCフォロワーのみを表示しますデータベースの隊列歩行は有効にしてください
* @default false
* @type boolean
*
* @help マップ上の隊列の好きな位置にパーティメンバー以外のNPCを追加します
* NPCはデータベース上はアクターで定義してプラグインコマンドから追加削除します
@ -71,6 +88,10 @@
* インデックスの指定は追加したNPCとは関係なく
* パーティの並び順(1...バトルメンバー数)を指定してください
*
* 並び順ではなくIDを指定したNPCを削除したい場合以下のコマンドです
* NF_NPC_ID削除 4 # アクターID[4]のNPCを削除
* NF_REM_NPC_ID 4 # 同上
*
* 利用規約
* 作者に無断で改変再配布が可能で利用形態商用18禁利用等
* についても制限はありません
@ -95,6 +116,11 @@
return null;
};
var getParamBoolean = function (paramNames) {
var value = getParamOther(paramNames);
return (value || '').toUpperCase() === 'TRUE';
};
var getParamNumber = function (paramNames, min, max) {
var value = getParamOther(paramNames);
if (arguments.length < 2) min = -Infinity;
@ -118,6 +144,7 @@
// パラメータの取得と整形
//=============================================================================
var paramMaxNpcNumber = getParamNumber(['MaxNpcNumber', '最大同時NPC数']);
var paramHideNormalFollower = getParamBoolean(['HideNormalFollower', '通常フォロワーを表示しない']);
//=============================================================================
// Game_Interpreter
@ -126,24 +153,7 @@
var _Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
Game_Interpreter.prototype.pluginCommand = function (command, args) {
_Game_Interpreter_pluginCommand.apply(this, arguments);
if (!command.match(new RegExp('^' + metaTagPrefix, 'i'))) return;
try {
this.pluginCommandNpcFollower(command.replace(new RegExp(metaTagPrefix, 'i'), ''), args);
} catch (e) {
if ($gameTemp.isPlaytest() && Utils.isNwjs()) {
var window = require('nw.gui').Window.get();
if (!window.isDevToolsOpen()) {
var devTool = window.showDevTools();
devTool.moveTo(0, 0);
devTool.resizeTo(window.screenX + window.outerWidth, window.screenY + window.outerHeight);
window.focus();
}
}
console.log('プラグインコマンドの実行中にエラーが発生しました。');
console.log('- コマンド名  : ' + command);
console.log('- コマンド引数 : ' + args);
console.log('- エラー原因 : ' + e.stack || e.toString());
}
this.pluginCommandNpcFollower(command.replace(new RegExp(metaTagPrefix, 'i'), ''), args);
};
Game_Interpreter.prototype.pluginCommandNpcFollower = function (command, args) {
@ -157,6 +167,10 @@
case '_REM_NPC':
$gameParty.removeNpc(getArgNumberWithEval(args[0], 1));
break;
case '_NPC_ID削除':
case '_REM_NPC_ID':
var removeActorId = getArgNumberWithEval(args[0]);
$gameParty.removeNpcById(removeActorId);
}
};
@ -209,6 +223,18 @@
$gameMap.requestRefresh();
};
Game_Party.prototype.removeNpcById = function (id) {
for (var i = 0, n = this._npcs.length; i < n; i++) {
if (this._npcs[i] === id) {
this._npcs.splice(i, 1);
this._npcIndexes.splice(i, 1);
i--;
}
}
$gamePlayer.refresh();
$gameMap.requestRefresh();
};
Game_Party.prototype.npcMembers = function () {
return this._npcs.map(function (id) {
return $gameActors.actor(id);
@ -225,9 +251,13 @@
var visibleMembers = [];
for (var i = 0, n = this.maxBattleMembers() + 1; i < n; i++) {
for (var j = 0, m = npcMembers.length; j < m; j++) {
if (this._npcIndexes[j] === i) visibleMembers.push(npcMembers[j]);
if (this._npcIndexes[j] === i) {
visibleMembers.push(npcMembers[j]);
}
}
if (battleMembers.length > i && !paramHideNormalFollower) {
visibleMembers.push(battleMembers[i]);
}
if (battleMembers.length > i) visibleMembers.push(battleMembers[i]);
}
this._visibleMembers = visibleMembers;
};
@ -239,11 +269,14 @@
var _Game_Followers_initialize = Game_Followers.prototype.initialize;
Game_Followers.prototype.initialize = function () {
_Game_Followers_initialize.apply(this, arguments);
if (paramHideNormalFollower) {
this._data = [];
}
this.initNpc();
};
Game_Followers.prototype.initNpc = function () {
var memberLength = $gameParty.maxBattleMembers();
var memberLength = this._data.length > 0 ? this._data.length + 1 : 0;
for (var i = 0; i < paramMaxNpcNumber; i++) {
this._data.push(new Game_Follower(memberLength + i));
}

View file

@ -0,0 +1,411 @@
/*=============================================================================
PluginCommonBase.js
----------------------------------------------------------------------------
(C)2020 KADOKAWA
----------------------------------------------------------------------------
Version(完成時に削除)
0.0.7 2020/02/18 スキルの計算式が正常に機能しなくなる問題を修正スクリプト中に制御文字を使用できる機能を一時的に削除
0.0.6 2020/02/16 動的コモンイベントの機能を提供
0.0.5 2020/02/16 全体をリファクタリング
0.0.4 2020/02/12 パラメータの制御文字を変換しない設定を追加
0.0.3 2020/01/28 配列やオブジェクト内の制御文字も正しく変換できるよう修正
0.0.2 2020/01/13 MZコアスクリプトでプラグインコマンドの実行主体がGame_Interpreterに変更されたことに伴う修正
0.0.1 2020/01/05 初版
=============================================================================*/
/*:
* @target MZ
* @plugindesc プラグイン解析共通基盤
* @author トリアコンタン
*
* @help PluginCommonBase.js
*
* 本プラグインは他のプラグインから参照されることを前提としたベースプラグインです
* 本プラグインを導入すると様々な場面で以下の制御文字が使えるようになります
*
* 利用可能な制御文字
* \v[n] : n番目の変数の値に変換されます
* \s[n] : n番目のスイッチの値(true, false)に変換されます
* \ss[n] : n番目のセルフスイッチの値(true, false)に変換されます
*
* 制御文字を利用可能な場面は以下の通りです
* 文章の表示
* メモ欄()
* プラグインコマンド()
* プラグインパラメータ()
* スキルなどの説明欄
* スキルアイテムの計算式
* PluginCommonBase.jsをベースとして取り込んだプラグインのみ
*
* 以下は開発者向けの解説です
*
* このプラグインをベースとして取り込むことでパラメータの解析や
* プラグインコマンドメモ欄の取得時にパラメータ型および制御文字の変換を自動化します
* 制御文字の変換処理を共通化することで配下の全てのプラグインで一貫した
* 制御文字の変換仕様を実現します
*
* プラグインパラメータの型解析
* プラグインパラメータを自動で型解析し変換します
* またパラメータ取得時に制御文字の変換を自動で行います
* 以下のメソッドを呼んで戻り値を取得します
* 引数には必ずdocument.currentScriptを指定します
*
* PluginManagerEx.createParameter(document.currentScript);
*
* プラグインコマンドパラメータの型解析
* プラグインコマンドパラメータを自動で型解析し変換します
* またパラメータ取得時に制御文字の変換を自動で行います
* PluginManager.registerCommandの代わりに以下を使用します
* 引数には必ずdocument.currentScriptを指定します
*
* PluginManagerEx.registerCommand(document.currentScript, "command", args => {
* });
*
* メモ欄の解析
* 指定したオブジェクトからメモ欄情報を取得します
* 制御文字の変換を自動で行います
* 名称は複数指定することも可能です
*
* PluginManagerEx.findMetaValue(obj, tagName1, tagName2...);
*
* 動的コモンイベントの実行
* 動的コモンイベントを実行できます
* 動的コモンイベントとはスタック型の並列処理コモンイベントです
* 好きなだけ登録できて実行が終わったものから自働で破棄されます
* $gameMap.setupDynamicCommon(commonEventId);
*
* 組み込み関数の追加
* データベースを指定した条件で完全一致検索して一致した最初の1件を返します
* DataManager.searchDataItem(dataArray, columnName, columnValue);
*
* 全てのシステムSEを停止します
* AudioManager.stopAllStaticSe();
*
* 指定したシステムSEを停止します
* AudioManager.stopStaticSe(se);
*
*/
(() => {
'use strict';
/**
* PluginParam
*/
class PluginParam {
constructor(parameter, needParse = true) {
if (needParse) {
parameter = JSON.parse(JSON.stringify(parameter, this._paramReplacer));
}
this.setup(parameter);
}
setNoConvert(paramName) {
this._noConvert.push(paramName);
}
setup(parameter) {
this._parameter = parameter;
for (const paramName in parameter) {
if (!parameter.hasOwnProperty(paramName)) {
continue;
}
const subParam = parameter[paramName];
if (this._isStructArray(subParam)) {
subParam.forEach((subParamItem, index) => {
subParam[index] = new PluginParam(subParamItem, false);
});
} else if (this._isStruct(subParam)) {
parameter[paramName] = new PluginParam(subParam, false);
}
this._setAccessor(paramName);
}
this._noConvert = []
}
_setAccessor(paramName) {
Object.defineProperty(this, paramName, {
get() {
return this._convert(this._param(paramName), paramName);
},
set(value) {
this._parameter[paramName] = value;
},
configurable: true
});
}
_convert(param, paramName) {
if (this._isStruct(param) || this._isStructArray(param)) {
return param;
} else if (Array.isArray(param)) {
return param.map(paramItem => this._convert(paramItem, paramName));
}
if (!this._noConvert.includes(paramName)) {
return PluginManagerEx.convertVariables(param);
} else {
return param;
}
}
_isStructArray(param) {
return Array.isArray(param) && (param.length === 0 || this._isStruct(param));
}
_isStruct(param) {
return Object.prototype.toString.call(param) === '[object Object]';
}
_param(name) {
return this._parameter[name];
}
_paramReplacer(key, value) {
if (value === 'null') {
return value;
}
if (value[0] === '"' && value[value.length - 1] === '"') {
return value;
}
try {
return JSON.parse(value);
} catch (e) {
return value;
}
}
}
/**
* PluginManagerEx
*/
class PluginManagerEx {
static convertVariables(text, data = null) {
if (text !== String(text)) {
return text;
}
text = this.convertEscapeCharacters(text, data);
if (text === 'true') {
return true;
} else if (text === 'false') {
return false;
} else if (Number(text) === parseFloat(text)) {
return parseFloat(text);
} else {
return text;
}
}
static convertEscapeCharacters(text, data = null) {
text = TextConverter.convertEscapeCharactersBase(text, data);
text = this.convertEscapeCharactersEx(text, data);
text = TextConverter.convertEscapeCharactersBase(text, data);
return text;
}
// Additional Escape Characters
static convertEscapeCharactersEx(text, data = null) {
const key = this._selfSwitchKey;
if (!key) {
return text;
}
text = text.replace(/\x1bSS\[(.+)]/gi, (_, p1) => {
key[2] = p1;
return $gameSelfSwitches ? $gameSelfSwitches.value(key) : '';
});
return text;
}
static createParameter(currentScript) {
const paramText = PluginManager.parameters(this.findPluginName(currentScript));
return new PluginParam(paramText);
}
static createCommandArgs(args) {
const hasObject = Object.keys(args).some(key => {
return args[key].match(/^[\[{].*[}\]]$/);
});
if (hasObject) {
return new PluginParam(args);
}
const newArgs = {};
Object.keys(args).forEach(key => {
newArgs[key] = this.convertVariables(args[key]);
});
return newArgs;
}
static findMetaValue(object, ...nameList) {
let metaValue = null;
const meta = object.meta;
if (!meta) {
throw new Error(`Not found meta property : ${object}`)
}
this.generateSelfSwitchKey(object.id);
nameList.some(name => {
metaValue = meta.hasOwnProperty(name) ? this.convertVariables(meta[name], object) : null;
return metaValue !== null;
});
return metaValue;
}
static findPluginName(currentScript) {
return currentScript.src.replace(/^.*\/(.*).js$/, function () {
return arguments[1];
});
}
static registerCommand(currentScript, commandName, funcName) {
const pluginName = this.findPluginName(currentScript);
const key = pluginName + ":" + commandName;
const func = typeof funcName === 'function' ? funcName : Game_Interpreter.prototype[funcName];
if (!func) {
throw new Error(`Not found function Game_Interpreter : ${funcName}`)
}
PluginManager.registerCommand(pluginName, commandName, function (args) {
func.call(this, PluginManagerEx.createCommandArgs(args, key));
});
}
static isExistPlugin(pluginName) {
return Object.keys(PluginManager.parameters(pluginName)).length > 0;
}
static generateSelfSwitchKey(eventId) {
if (!$gameMap) {
return;
}
this._selfSwitchKey = [$gameMap.mapId(), eventId, null];
}
static findClassName(object) {
return object.constructor.toString().replace(/function\s+(.*)\s*\([\s\S]*/m, '$1');
}
}
window.PluginManagerEx = PluginManagerEx;
class TextConverter {
// Copy of Window_Base.prototype.convertEscapeCharacters
static convertEscapeCharactersBase(text, data = null) {
text = text.replace(/\\/g, "\x1b");
text = text.replace(/\x1b\x1b/g, "\\");
text = text.replace(/\x1bV\[(\d+)]/gi, (_, p1) =>
$gameVariables ? $gameVariables.value(parseInt(p1)) : ''
);
text = text.replace(/\x1bV\[(\d+)]/gi, (_, p1) =>
$gameVariables ? $gameVariables.value(parseInt(p1)) : ''
);
text = text.replace(/\x1bN\[(\d+)]/gi, (_, p1) =>
this.actorName(parseInt(p1))
);
text = text.replace(/\x1bP\[(\d+)]/gi, (_, p1) =>
this.partyMemberName(parseInt(p1))
);
if ($dataSystem) {
text = text.replace(/\x1bG/gi, TextManager.currencyUnit);
}
return text;
}
static actorName(n) {
const actor = n >= 1 && $gameActors ? $gameActors.actor(n) : null;
return actor ? actor.name() : '';
}
static partyMemberName(n) {
const actor = n >= 1 && $gameParty ? $gameParty.members()[n - 1] : null;
return actor ? actor.name() : "";
}
}
const _PluginManager_callCommand = PluginManager.callCommand;
PluginManager.callCommand = function (self, pluginName, commandName, args) {
PluginManagerEx.generateSelfSwitchKey(self.eventId());
_PluginManager_callCommand.apply(this, arguments);
};
const _Window_Base_convertEscapeCharacters = Window_Base.prototype.convertEscapeCharacters;
Window_Base.prototype.convertEscapeCharacters = function (text) {
text = _Window_Base_convertEscapeCharacters.apply(this, arguments);
return PluginManagerEx.convertEscapeCharacters(text);
};
/**
* Game_Map
* Support dynamic events.
*/
const _Game_Map_setupEvents = Game_Map.prototype.setupEvents;
Game_Map.prototype.setupEvents = function () {
_Game_Map_setupEvents.apply(this, arguments);
this._dynamicEvents = [];
};
Game_Map.prototype.setupDynamicCommon = function (id) {
const event = $dataCommonEvents[id];
if (event) {
this.setupDynamicInterpreter(event.list);
}
};
Game_Map.prototype.setupDynamicInterpreter = function (list) {
const interpreter = new Game_Interpreter();
interpreter.setup(list, 0);
this._dynamicEvents.push(interpreter);
this._dynamicEvents = this._dynamicEvents.filter(
interpreter => interpreter.isRunning());
};
const _Game_Map_updateEvents = Game_Map.prototype.updateEvents;
Game_Map.prototype.updateEvents = function () {
_Game_Map_updateEvents.apply(this, arguments);
this._dynamicEvents.forEach(interpreter => interpreter.update());
};
/**
* DataManager.searchDataItem
* Search database
* @param dataArray target
* @param columnName condition1
* @param columnValue condition2
* @returns {object} result
*/
DataManager.searchDataItem = function (dataArray, columnName, columnValue) {
let result = 0;
dataArray.some(function (dataItem) {
if (dataItem && dataItem[columnName] === columnValue) {
result = dataItem;
return true;
}
return false;
});
return result;
};
/**
* AudioManager.stopAllStaticSe
* Stop all system SE.
*/
AudioManager.stopAllStaticSe = function () {
this._staticBuffers.forEach(function (buffer) {
buffer.stop();
});
this._staticBuffers = [];
};
/**
* AudioManager.stopStaticSe
* Stop system SE.
*/
AudioManager.stopStaticSe = function (se) {
if (!se.name) {
return;
}
for (var i = 0; i < this._staticBuffers.length; i++) {
var buffer = this._staticBuffers[i];
if (buffer._reservedSeName === se.name) {
buffer.stop();
this.updateSeParameters(buffer, se);
break;
}
}
};
})();

View file

@ -0,0 +1,547 @@
/*:
* @plugindesc 簡易リズムゲームプラグイン
* @author Tennana
* @help
* 簡単なリズムゲームをプレイするためのプラグインです
*
* 使い方
* プラグイン設定で譜面情報を設定しプラグインコマンドでゲームを開始します
* プラグインコマンドでゲームを開始すると並列処理以外がブロックされるためヒット/ミス時の処理はスイッチを条件にした並列処理で作成してください
* 曲の再生が終わるか並列処理からゲーム終了コマンドが呼ばれると呼び出し元のイベントに制御が戻ります
*
* プラグインコマンド
* RhythmGameStart 曲名
*  指定した曲名の譜面を読み込んでゲームを開始します
*
* RhythmGameStop
*  ゲームを直ちに終了し起動したイベントに制御を戻します
*
* RhythmGameHidden
* プレイエリアを非表示にします場所移動でも自動的に非表示となります
*
* @param RhythmNotes
* @type struct<RhythmNotes>[]
* @text 譜面情報
*
* @param NotesType
* @type struct<NotesType>[]
* @text ノーツタイプ定義
* @default ["{\"name\":\"赤\",\"input\":\"left\",\"size\":\"30\",\"color\":\"red\"}","{\"name\":\"青\",\"input\":\"right\",\"size\":\"30\",\"color\":\"blue\"}"]
*
* @param NotesSpeed
* @type number
* @text ノーツスピード
* @default 5000
* @desc ノーツが画面上を流れる速度をミリ秒で指定します半分のタイミングでノーツが中央になるように調整されます
*
* @param HitRange
* @type number
* @text ヒット範囲
* @default 100
* @desc 譜面に対するタイミングのずれを許容する範囲をミリ秒で指定します100で前後100ミリ秒を許容します
*
* @param HitSwitch
* @type switch
* @text ヒット時スイッチ
* @desc ヒット時にONになるスイッチ
*
* @param DifferenceVariable
* @type variable
* @text 差分格納変数
* @desc 最後にヒットしたときの譜面との差分ミリ秒を格納する変数
*
* @param MissSwitch
* @type switch
* @text ミススイッチ
* @desc ミス時にONになるスイッチ
*
* @param PlayAreaX
* @type number
* @text プレイエリアX座標
* @default 0
* @min 0
* @desc プレイエリアの左上X座標
*
* @param PlayAreaY
* @type number
* @text プレイエリアY座標
* @default -1
* @min -1
* @desc プレイエリアの左上Y座標-1で画面下部になるよう自動調整します
*
* @param PlayAreaWidth
* @type number
* @text プレイエリア幅
* @default -1
* @min -1
* @desc プレイエリアの横幅をピクセル数で指定します-1で画面幅になるよう自動調整します
*
* @param PlayAreaHeight
* @type number
* @text プレイエリア高さ
* @default 200
* @min 0
* @desc プレイエリアの高さをピクセル数で指定します
*
* @param PlayAreaWindow
* @type file
* @text プレイエリアウィンドウ画像
* @default Window
* @dir img/system
*
* @param PlayAreaArrowSize
* @type number
* @text プレイエリアの矢印サイズ
* @default 2
* @min 1
* @desc プレイエリアの矢印のサイズを倍率で指定します
*/
/*~struct~RhythmNotes:
* @param name
* @text 曲名
* @type string
*
* @param file
* @type file
* @dir audio
*
* @param volume
* @text 音量
* @type number
* @min 0
* @max 100
* @default 90
*
* @param pitch
* @text ピッチ
* @type number
* @min 50
* @max 150
* @default 100
*
* @param pan
* @text 位相
* @type number
* @min -100
* @max 100
* @default 0
*
* @param notes
* @text ノーツ情報
* @type struct<Notes>[]
*
*/
/*~struct~Notes:
* @param hitTime
* @text 判定タイミングミリ秒
* @min 0
* @desc ノーツにヒットするタイミングを開始からのミリ秒で指定します出現時間を上書きします
*
* @param time
* @text 出現時間ミリ秒
* @type number
* @min 0
* @desc ノーツが出現するタイミングを開始からのミリ秒で指定します判定タイミングは出現+ノーツスピードの半分になります
*
* @param type
* @text ノーツタイプ
* @type combo
* @option
* @option
* @desc ノーツの種類を名前で指定します
*
* @param size
* @text 半径
* @type number
* @min 0
* @default 0
* @desc ノーツの半径を上書きします0でデフォルトの大きさになります
*
* @param color
* @text
* @type string
* @desc ノーツの色を上書きしますCSS COLOR形式で指定します空でデフォルトの色になります
*/
/*~struct~NotesType:
* @param name
* @text ノーツタイプ名
* @type string
* @desc ノーツタイプの名前です譜面側で指定する名前になります
*
* @param input
* @type select
* @text キー名称
* @desc このノーツを叩くためのキー名称です
* @option 決定
* @value ok
* @option キャンセル
* @value cancel
* @option ダッシュ
* @value shift
* @option メニュー
* @value menu
* @option ページアップ
* @value pageup
* @option ページダウン
* @value pagedown
* @option 上移動
* @value up
* @option 下移動
* @value down
* @option 左移動
* @value left
* @option 右移動
* @value right
* @default ok
*
* @param size
* @text 半径
* @type number
* @min 2
* @default 30
* @desc ノーツの半径をピクセルで指定します
*
* @param color
* @text
* @type string
* @desc ーツの色をCSS COLOR形式で指定します空でデフォルトの色になります
*
* @param borderColor
* @text 枠色
* @type string
* @desc ーツの枠線の色をCSS COLORで指定します空で白色になります
* @default white
*
* @param borderWidth
* @text 枠線の太さ
* @type number
* @default 1
* @min 0
* @desc ノーツの枠線の太さを指定します
*/
"use strict";
{
const PARAMS = PluginManagerEx.createParameter(document.currentScript);
const HIT_RANGE = PARAMS.HitRange; // ヒット可能範囲
const NOTES_SPEED = PARAMS.NotesSpeed || 5000; // ノーツの速度(ミリ秒)
const FADE_OUT_TIME = 1; // フェードアウト秒数
if (!Html5Audio.addStopListener) {
Html5Audio.addStopListener = function (listener) {
this._audioElement.addEventListener('ended', listener, { once: true });
}
}
(function (orig) {
Game_Interpreter.prototype.pluginCommand = function (command, args) {
orig.call(this, command, args);
if (command === "RhythmGameStart") {
this._waitMode = "rhythm";
RhythmManager.start(args).finally(() => {
this._waitMode = ""
});
}
if (command === "RhythmGameStop") {
RhythmManager.stop();
this._waitMode = "";
this._waitCount = FADE_OUT_TIME * 60 + 10;
return;
}
if (command === "RhythmGameHidden") {
RhythmManager.hidden();
return;
}
};
})(Game_Interpreter.prototype.pluginCommand);
(function (orig) {
Game_Interpreter.prototype.updateWaitMode = function () {
if (this._waitMode === "rhythm") {
return true;
}
return orig.call(this);
};
})(Game_Interpreter.prototype.updateWaitMode);
class RhythmManagerImpl {
async start(args) {
const bgmName = args[0];
const rhythmNote = PARAMS.RhythmNotes.find(rhythmNotes => {
return rhythmNotes.name === bgmName;
});
if (!rhythmNote) {
throw new Error(`RhythmNotes not found. name: ${bgmName}`);
}
this._currentRhythmNote = rhythmNote;
this._waitNotes = rhythmNote.notes.map(notes => {
if (Number.isFinite(notes.hitTime)) {
notes.time = notes.hitTime - NOTES_SPEED / 2;
}
return notes;
}).sort((a, b) => a.time - b.time);
return Promise.all([
this.preloadBgm(rhythmNote).then(bgm => {
this._bgmBuffer = bgm
}),
this.createPlayArea()
]).then(() => {
this._playing = true;
AudioManager.updateBufferParameters(this._bgmBuffer,
ConfigManager.bgmVolume, this._currentRhythmNote);
this._bgmBuffer.play(false, 0);
return new Promise((resolve, reject) => {
this._bgmBuffer.addStopListener(resolve);
});
}).then(() => {
this._playing = false;
});
}
preloadBgm(rhythmNotes) {
return new Promise((resolve, reject) => {
const ext = AudioManager.audioFileExt();
let url = "./audio/" + rhythmNotes.file;
if (!AudioManager.shouldUseHtml5Audio()) {
const audio = new WebAudio(url + ext);
audio.addLoadListener(resolve.bind(null, audio));
return;
}
if (!Decrypter.hasEncryptedAudio) {
return url + ext;
}
return fetch(Decrypter.extToEncryptExt(rhythmNotes.file + ext))
.then(response => response.arrayBuffer())
.then(arrayBuffer => {
return Decrypter.createBlobUrl(arrayBuffer);
});
}).then(url => {
if (typeof url === 'string') {
Html5Audio.setup(url)
return new Promise((resolve, reject) => {
Html5Audio.addLoadListener(resolve.bind(null, Html5Audio));
});
}
return url;
});
}
async createPlayArea() {
if (this._playArea && this._playArea.parent) {
this._playArea.visible = true;
} else {
await new Promise(resolve => {
if (!PARAMS.PlayAreaWindow) {
return resolve();
}
ImageManager.loadSystem(PARAMS.PlayAreaWindow).addLoadListener(
resolve);
});
this._playArea = new PlayArea();
}
this._playArea.children.filter(child => child instanceof Notes).forEach(
child => {
child.destroy();
});
SceneManager._scene.addWindow(this._playArea);
return this._playArea;
}
appearNotes(time) {
if (this._waitNotes.length === 0) {
return;
}
const notes = this._waitNotes[0];
if (notes.time > time) {
return;
}
const notesType = PARAMS.NotesType.find(
notesType => notesType.name === notes.type);
const notesAppearance = Object.assign({
time: notes.time,
borderWidth: 1,
borderColor: 'white',
zIndex: notes.zIndex
}, notesType);
notesAppearance.color = notes.color || notesAppearance.color;
notesAppearance.size = notes.size || notesAppearance.size;
this._playArea.addNotes(notesAppearance);
this._waitNotes.shift();
}
stop() {
this._bgmBuffer.fadeOut(FADE_OUT_TIME);
setTimeout(this._bgmBuffer.stop.bind(this._bgmBuffer),
FADE_OUT_TIME * 1000 + 100);
this._playing = false;
}
hidden() {
if (this._playArea) {
this._playArea.visible = false;
}
}
}
Object.defineProperties(RhythmManagerImpl.prototype, {
playing: {
get: function () {
return this._playing;
}
},
currentRhythmNote: {
get: function () {
return this._currentRhythmNote;
}
},
currentPlayTime: {
get: function () {
return this._bgmBuffer ? this._bgmBuffer.seek() * 1000 : 0;
}
}
});
class PlayArea extends Window_Base {
constructor() {
const width = PARAMS.PlayAreaWidth > 0 ? PARAMS.PlayAreaWidth
: Graphics.width;
const height = PARAMS.PlayAreaHeight > 0 ? PARAMS.PlayAreaHeight : 200;
const x = PARAMS.PlayAreaX > 0 ? PARAMS.PlayAreaX : 0;
const y = PARAMS.PlayAreaY >= 0 ? PARAMS.PlayAreaY : Graphics.height
- height;
super(x, y, width, height);
this.notesChunk = width / NOTES_SPEED;
this.resetFontSettings()
this.downArrowVisible = true;
this.upArrowVisible = true;
const scale = PARAMS.PlayAreaArrowSize || 2;
this._upArrowSprite.scale.x = scale;
this._upArrowSprite.scale.y = scale;
this._downArrowSprite.scale.x = scale;
this._downArrowSprite.scale.y = scale;
}
_refreshArrows() {
super._refreshArrows();
let cursorX = this.width / 2;
this._downArrowSprite.move(cursorX, this.standardPadding() * 1.5);
this._upArrowSprite.move(cursorX,
this.height - this.standardPadding() * 1.5);
}
standardFontSize() {
return 24;
}
update() {
const time = RhythmManager.currentPlayTime;
const width = this.width;
const notesArray = this.children.filter(child => child instanceof Notes).reverse();
notesArray.forEach(notes => {
notes.updatePos(time, width, this.notesChunk);
notes.miss(time);
});
super.update();
if (RhythmManager.playing === false) {
return;
}
RhythmManager.appearNotes(time);
if (notesArray.length === 0) {
return;
}
PARAMS.NotesType.forEach(notesType => {
if (Input.isTriggered(notesType.input)) {
const hitNotes = notesArray.find(notes => {
return notes.canHit(time, notesType.input);
});
if (hitNotes) {
hitNotes.hit(time);
} else {
$gameSwitches.setValue(PARAMS.MissSwitch, true);
}
}
});
}
addNotes(notes) {
this.addChildAt(new Notes(this.width,
this.contentsHeight() / 2 + this.standardPadding(), notes), 3);
}
loadWindowskin() {
if (!PARAMS.PlayAreaWindow) {
return super.loadWindowskin();
}
this.windowskin = ImageManager.loadSystem(PARAMS.PlayAreaWindow);
}
}
class Notes extends Sprite {
constructor(x, y, notes) {
super();
const radius = notes.size + notes.borderWidth;
this.bitmap = new Bitmap(radius * 2, radius * 2);
if (notes.borderWidth > 0) {
this.bitmap.drawCircle(radius, radius, radius, notes.borderColor);
}
this.bitmap.drawCircle(radius, radius, notes.size, notes.color);
this.x = x || 0;
this.y = y || 0;
this.anchor.x = 0.5;
this.anchor.y = 0.5;
this.zIndex = notes.zIndex;
this.hitTime = notes.time + NOTES_SPEED / 2;
this.appearTime = notes.time;
this._input = notes.input;
this._result = null;
}
canHit(time, input) {
if (this._result !== null || (input && input !== this._input)) {
return false;
}
return this.hitTime - HIT_RANGE <= time && time <= this.hitTime
+ HIT_RANGE;
}
hit(time) {
this.destroy();
$gameSwitches.setValue(PARAMS.HitSwitch, true);
$gameVariables.setValue(PARAMS.DifferenceVariable, time - this.hitTime);
this._result = true;
}
miss(time) {
if (this._result !== null || time <= this.hitTime + HIT_RANGE) {
return;
}
this._result = false;
$gameSwitches.setValue(PARAMS.MissSwitch, true);
}
updatePos(time, parentWidth, chunk) {
const x = parentWidth - (time - this.appearTime) * chunk;
if (x < 0 && x < -this.width) {
// 画面外へ出たら削除
this.destroy();
return;
}
this.x = x;
}
}
(function (orig) {
Scene_Map.prototype.onMapLoaded = function () {
orig.apply(this, arguments);
if (!window.RhythmManager || !window.RhythmManager.playing) {
return;
}
this.addWindow(window.RhythmManager._playArea);
};
})(Scene_Map.prototype.onMapLoaded);
window.RhythmManager = new RhythmManagerImpl();
}

View file

@ -0,0 +1,180 @@
//=============================================================================
// TRP_DisplacementFilter.js
//=============================================================================
/*:
* @plugindesc 水中マップ用のゆらぎフィルター
* @author Thirop
* @help
*
* 1.img/systemフォルダに指定する画像名の変形用画像ファイルを配置
* 2.マップのメモ欄に設定を記述
* <displacement:x方向スピード,y方向スピード,拡大率,画像名>
* 拡大率を省略時のデフォルト値は20
* 画像名を省略時のデフォルト値はDisplacementMap
*
*/
//=============================================================================
(function () {
var parameters = PluginManager.parameters('TRP_DisplacementFilter');
//=============================================================================
// Game_Screen
//=============================================================================
var _Game_Screen_clear = Game_Screen.prototype.clear;
Game_Screen.prototype.clear = function () {
_Game_Screen_clear.call(this);
this._displacementSetting = null;
};
Game_Screen.prototype.startDisplacementFilter = function (sx, sy, scale, image) {
this._displacementSetting = {
sx: sx || 0,
sy: sy || 0,
scale: scale || 20,
image: image || 'DisplacementMap'
};
};
Game_Screen.prototype.clearDisplacementFilter = function (sx, sy, scale, image) {
this._displacementSetting = null;
};
//=============================================================================
// Game_Map
//=============================================================================
var _Game_Map_setup = Game_Map.prototype.setup;
Game_Map.prototype.setup = function (mapId) {
_Game_Map_setup.call(this, mapId);
var displacement = $dataMap.meta ? $dataMap.meta.displacement : null;
if (displacement) {
this.setupDisplacement(displacement);
} else {
$gameScreen.clearDisplacementFilter();
}
};
Game_Map.prototype.setupDisplacement = function (displacement) {
var dispArgs = displacement.split(',');
var sx = Number(dispArgs[0]);
var sy = Number(dispArgs[1]);
var scale = Number(dispArgs[2]) || 0;
var image = dispArgs[3];
$gameScreen.startDisplacementFilter(sx, sy, scale, image);
};
//=============================================================================
// Scene_Map
//=============================================================================
var _Scene_Map_initialize = Scene_Map.prototype.initialize;
Scene_Map.prototype.initialize = function () {
_Scene_Map_initialize.call(this);
this.clearDisplacement();
};
Scene_Map.prototype.clearDisplacement = function () {
this._displacement = {
image: '',
scale: 0,
filter: null,
dx: -1,
dy: -1
};
};
var _Scene_Map_update = Scene_Map.prototype.update;
Scene_Map.prototype.update = function () {
_Scene_Map_update.call(this);
this.updateDisplacementFilter();
};
Scene_Map.prototype.updateDisplacementFilter = function () {
var setting = $gameScreen._displacementSetting;
if (setting) {
if (this._displacement.image !== setting.image) {
this._displacement.image = setting.image;
this.setupDisplacementFilters(setting);
} else if (this._displacement.filter) {
this._updateDisplacemenFilters(setting);
}
} else if (this._displacement.filter) {
ths.removeDisplacementFilter();
}
};
Scene_Map.prototype._updateDisplacemenFilters = function (setting) {
var displacement = this._displacement;
var filter = displacement.filter;
filter.maskSprite.x += setting.sx;
filter.maskSprite.y += setting.sy;
var dx = $gameMap.displayX();
if (displacement.dx !== dx) {
filter.maskSprite.x += (displacement.dx - dx) * 48;
displacement.dx = dx;
}
var dy = $gameMap.displayY();
if (displacement.dy !== dy) {
filter.maskSprite.y += (displacement.dy - dy) * 48;
displacement.dy = dy;
}
if (this._displacement.scale !== setting.scale) {
this._displacement.scale = setting.scale;
filter.scale = new PIXI.Point(setting.scale, setting.scale);
}
};
Scene_Map.prototype.setupDisplacementFilters = function (setting) {
if (!this._displacement.filter) {
this.createDisplacementFilter(setting);
}
var bitmap = ImageManager.loadSystem(setting.image);
bitmap.addLoadListener(function (bitmap) {
bitmap.baseTexture.wrapMode = PIXI.WRAP_MODES.REPEAT;
});
this._displacement.filter.maskSprite.bitmap = bitmap;
this._displacement.scale = setting.scale;
this._displacement.filter.scale = new PIXI.Point(setting.scale, setting.scale);
};
Scene_Map.prototype.createDisplacementFilter = function (setting) {
var sprite = new Sprite();
var filter = new PIXI.filters.DisplacementFilter(sprite);
this.addChild(sprite);
this._displacement.filter = filter;
var allFilters = this._spriteset.filters || [];
allFilters.push(filter);
this._spriteset.filters = allFilters;
};
Scene_Map.prototype.removeDisplacementFilter = function () {
var allFilters = this.filters;
var filter = this._displacement.filter;
var index = allFilters.indexOf(filter);
if (index >= 0) {
allFilters.splice(index, 1);
}
this.filters = allFilters;
if (filter.maskSprite.parent) {
filter.maskSprite.parent.removeChild(filter.maskSprite);
}
this.clearDisplacement();
};
})();

View file

@ -0,0 +1,215 @@
//=============================================================================
// TRP_ParticleExOption.js
//=============================================================================
/*:
* @plugindesc TRP_Particle負荷オプション追加
* @author Thirop
*
* @param name
* @text オプション名
* @desc オプションに表示する名称
* @type string
* @default パーティクル演出量
*
* @param index
* @text 表示順
* @desc オプションの上から何番目に表示するか(正しく反映するにはプラグインをなるべく下に配置
* @type number
* @default 999
*
* @param levels
* @text 負荷設定リスト
* @desc 各段階の負荷設定
* @type struct<OptionLevel>[]
* @default ["{\"name\":\"最高\",\"value\":\"0\"}","{\"name\":\"高\",\"value\":\"2000\"}","{\"name\":\"中\",\"value\":\"1000\"}","{\"name\":\"低\",\"value\":\"300\"}","{\"name\":\"最低\",\"value\":\"100\"}"]
*
*/
//=============================================================================
/*~struct~OptionLevel:
* @param name
* @text 負荷表示名
* @desc 選択時のオプション表示名
* @default 最高
*
* @param value
* @text 発生キャパシティ
* @desc パーティクル発生能力の値(maxコマンドと同じ仕様0で制限無し)
* @default 0
* @type number
* @min 0
*/
(function () {
var parameters = PluginManager.parameters('TRP_ParticleExOption');
parameters = JSON.parse(JSON.stringify(parameters, function (key, value) {
try {
return JSON.parse(value);
} catch (e) {
try {
return eval(value);
} catch (e) {
return value;
}
}
}));
var commandIndex = Number(parameters.index);
var commandName = parameters.name;
var commandLevels = parameters.levels;
var DEFAULT_LEVEL = { name: '無制限', value: 0 };
var TARGET_SYMBOL = 'trpParticleNumLevel';
//=============================================================================
// ConfigManager
//=============================================================================
ConfigManager.trpParticleNumLevel = 0;
var _ConfigManager_load = ConfigManager.load;
ConfigManager.load = function () {
_ConfigManager_load.call(this);
this.applyTrpParticleNum();
};
var _ConfigManager_save = ConfigManager.save;
ConfigManager.save = function () {
_ConfigManager_save.call(this);
this.applyTrpParticleNum();
};
var _ConfigManager_makeData = ConfigManager.makeData;
ConfigManager.makeData = function () {
var config = _ConfigManager_makeData.call(this);
config.trpParticleNumLevel = this.trpParticleNumLevel || 0;
return config;
};
var _ConfigManager_applyData = ConfigManager.applyData;
ConfigManager.applyData = function (config) {
_ConfigManager_applyData.call(this, config);
this.trpParticleNumLevel = Number(config.trpParticleNumLevel) || 0;
};
ConfigManager.applyTrpParticleNum = function () {
if ($gameScreen && $gameScreen._particle) {
$gameScreen._particle.resetMaxParticlesIfNotCustomValueSet();
}
};
ConfigManager.trpParticleNum = function () {
var level = commandLevels[this.trpParticleNumLevel] || commandLevels[0] || DEFAULT_LEVEL;
return level.value;
};
//=============================================================================
// Game_Particle
//=============================================================================
Game_Particle.prototype.resetMaxParticlesIfNotCustomValueSet = function () {
if (this._customMaxValueSet) return;
this._maxParticles = ConfigManager.trpParticleNum();
};
Game_Particle.prototype.resetMaxParticles = function () {
this._maxParticles = ConfigManager.trpParticleNum();
this._customMaxValueSet = false;
};
Object.defineProperty(Game_Particle.prototype, 'maxParticles', {
get: function () {
return this._maxParticles || 0;
}, set: function (value) {
this._maxParticles = value || 0;
this._customMaxValueSet = true;
},
configurable: true
});
//=============================================================================
// Window_Options
//=============================================================================
var _Window_Options_makeCommandList = Window_Options.prototype.makeCommandList;
Window_Options.prototype.makeCommandList = function () {
_Window_Options_makeCommandList.call(this);
this.addCommand(commandName, TARGET_SYMBOL);
var command = this._list.pop();
var index = commandIndex.clamp(0, this._list.length);
this._list.splice(index, 0, command);
};
var _Window_Options_statusText = Window_Options.prototype.statusText;
Window_Options.prototype.statusText = function (index) {
var symbol = this.commandSymbol(index);
if (symbol === TARGET_SYMBOL) {
var value = this.getConfigValue(symbol);
return this.trpParticleNumText(value);
} else {
return _Window_Options_statusText.call(this, index);
}
};
Window_Options.prototype.trpParticleNumText = function (value) {
var level = commandLevels[value];
if (!level) level = commandLevels[0] || DEFAULT_LEVEL;
return level.name;
};
var _Window_Options_processOk = Window_Options.prototype.processOk;
Window_Options.prototype.processOk = function () {
var index = this.index();
var symbol = this.commandSymbol(index);
if (symbol === TARGET_SYMBOL) {
this.changeTrpParticleNumValue(symbol, -1);
} else {
_Window_Options_processOk.call(this);
}
};
Window_Options.prototype.changeTrpParticleNumValue = function (symbol, delta) {
var value = this.getConfigValue(symbol);
value += delta;
value = value.clamp(0, commandLevels.length - 1);
this.setConfigValue(symbol, value);
this.redrawItem(this.findSymbol(symbol));
SoundManager.playCursor();
};
var _Window_Options_cursorRight = Window_Options.prototype.cursorRight;
Window_Options.prototype.cursorRight = function (wrap) {
var index = this.index();
var symbol = this.commandSymbol(index);
if (symbol === TARGET_SYMBOL) {
this.changeTrpParticleNumValue(symbol, -1);
} else {
_Window_Options_cursorRight.call(this, wrap);
}
};
var _Window_Options_cursorLeft = Window_Options.prototype.cursorLeft;
Window_Options.prototype.cursorLeft = function (wrap) {
var index = this.index();
var symbol = this.commandSymbol(index);
if (symbol === TARGET_SYMBOL) {
this.changeTrpParticleNumValue(symbol, 1);
} else {
_Window_Options_cursorLeft.call(this);
}
};
})();

View file

@ -0,0 +1,812 @@
//=============================================================================
// TRP_Particle_ExFireworks.js
//=============================================================================
/*:
* @author Thirop
* @pluguindesc 花火プラグイン(TRP_Particle<for MV>)
* @help
* 更新履歴
* 1.0.4 <2022/02/14> セーブロード時の不具合修正
*
*
* @param modes
* @text モード設定
* @desc モード設定
* @type struct<Mode>[]
* @default ["{\"name\":\"opening1\",\"minInterval\":\"3\",\"maxInterval\":\"3\",\"ids\":\"[\\\"fw_simple\\\"]\",\"variations\":\"\",\"positionStr\":\"1,2,3,4,5,6,7,8,9\",\"launchAtSame\":\"true\",\"dyRange\":\"0.05\",\"defaultSec\":\"0\",\"endWaitSec\":\"1.10\",\"invalidOnAuto\":\"true\"}","{\"name\":\"opening2\",\"minInterval\":\"3\",\"maxInterval\":\"3\",\"ids\":\"[\\\"fw_twin\\\"]\",\"variations\":\"\",\"positionStr\":\"1,2.33,3.67,5,6.33,7.67,9\",\"launchAtSame\":\"true\",\"dyRange\":\"0.10\",\"defaultSec\":\"0\",\"endWaitSec\":\"1.00\",\"invalidOnAuto\":\"true\"}","{\"name\":\"opening1Low\",\"minInterval\":\"3\",\"maxInterval\":\"3\",\"ids\":\"[\\\"fw_simple\\\"]\",\"variations\":\"[]\",\"positionStr\":\"1,2.33,3.67,5,6.33,7.67,9\",\"launchAtSame\":\"true\",\"dyRange\":\"0.05\",\"defaultSec\":\"0\",\"endWaitSec\":\"1.10\"}","{\"name\":\"opening2Low\",\"minInterval\":\"3\",\"maxInterval\":\"3\",\"ids\":\"[\\\"fw_twin\\\"]\",\"variations\":\"\",\"positionStr\":\"2,5,8\",\"launchAtSame\":\"true\",\"dyRange\":\"0.10\",\"defaultSec\":\"0\",\"endWaitSec\":\"1.00\"}","{\"name\":\"normal\",\"minInterval\":\"1\",\"maxInterval\":\"120\",\"ids\":\"[\\\"fw_simple\\\",\\\"fw_twinkle\\\",\\\"fw_dual\\\",\\\"fw_change\\\",\\\"fw_kiku\\\",\\\"fw_kikus\\\"]\",\"variations\":\"[]\",\"positionStr\":\"\",\"launchAtSame\":\"false\",\"dyRange\":\"-1\",\"defaultSec\":\"10.00\",\"endWaitSec\":\"3.00\"}","{\"name\":\"twinkle\",\"minInterval\":\"1\",\"maxInterval\":\"120\",\"ids\":\"[\\\"fw_twinkle\\\"]\",\"variations\":\"[]\",\"positionStr\":\"\",\"launchAtSame\":\"false\",\"dyRange\":\"-1\",\"defaultSec\":\"10.00\",\"endWaitSec\":\"3.00\"}","{\"name\":\"kiku\",\"minInterval\":\"1\",\"maxInterval\":\"120\",\"ids\":\"[\\\"fw_kiku\\\"]\",\"variations\":\"[]\",\"positionStr\":\"\",\"launchAtSame\":\"false\",\"dyRange\":\"-1\",\"defaultSec\":\"10.00\",\"endWaitSec\":\"3.00\"}","{\"name\":\"dual\",\"minInterval\":\"1\",\"maxInterval\":\"120\",\"ids\":\"[\\\"fw_dual\\\"]\",\"variations\":\"[]\",\"positionStr\":\"\",\"launchAtSame\":\"false\",\"dyRange\":\"-1\",\"defaultSec\":\"10.00\",\"endWaitSec\":\"3.00\"}","{\"name\":\"change\",\"minInterval\":\"1\",\"maxInterval\":\"120\",\"ids\":\"[\\\"fw_twinkle\\\"]\",\"variations\":\"[]\",\"positionStr\":\"\",\"launchAtSame\":\"false\",\"dyRange\":\"-1\",\"defaultSec\":\"10.00\",\"endWaitSec\":\"3.00\"}","{\"name\":\"starmine\",\"minInterval\":\"1\",\"maxInterval\":\"20\",\"ids\":\"[\\\"fw_simple\\\"]\",\"variations\":\"[]\",\"positionStr\":\"\",\"launchAtSame\":\"false\",\"dyRange\":\"-1\",\"defaultSec\":\"10.00\",\"endWaitSec\":\"3.00\"}","{\"name\":\"starmineHigh\",\"minInterval\":\"1\",\"maxInterval\":\"15\",\"ids\":\"[\\\"fw_simple\\\",\\\"fw_simple\\\",\\\"fw_simple\\\",\\\"fw_twin\\\"]\",\"variations\":\"[]\",\"positionStr\":\"\",\"launchAtSame\":\"false\",\"dyRange\":\"-1\",\"defaultSec\":\"10.00\",\"endWaitSec\":\"3.00\"}","{\"name\":\"starmineLow\",\"minInterval\":\"1\",\"maxInterval\":\"40\",\"ids\":\"[\\\"fw_simple\\\"]\",\"variations\":\"[]\",\"positionStr\":\"\",\"launchAtSame\":\"false\",\"dyRange\":\"-1\",\"defaultSec\":\"10.00\",\"endWaitSec\":\"3.00\"}","{\"name\":\"kikusMulti\",\"minInterval\":\"3\",\"maxInterval\":\"3\",\"ids\":\"[\\\"fw_kikus\\\"]\",\"variations\":\"[]\",\"positionStr\":\"\",\"launchAtSame\":\"false\",\"dyRange\":\"40.00\",\"defaultSec\":\"0.72\",\"endWaitSec\":\"3.00\"}"]
*
* @param fireworks
* @text 花火データ設定
* @desc 花火パーティクルデータごとの設定デフォルト値以外を使用する場合に設定
* @type struct<Fireworks>[]
* @default ["{\"name\":\"fw_twin\",\"noLaunch\":\"true\",\"variations\":\"[]\",\"se\":\"{\\\"name\\\":\\\"/audio/se/\\\",\\\"volume\\\":\\\"90\\\",\\\"pitch\\\":\\\"100\\\",\\\"pan\\\":\\\"100\\\"}\"}"]
*
* @param defaultVariationStr
* @text 基本バリエーション
* @desc デフォルトのカラーバリエーションカンマ(,)続きで指定
* @default yellow,green,blue,purple,red
*
* @param defaultAutoModes
* @text 自動モード設定
* @desc 自動モード(auto)で再生するモードをカンマつなぎで指定(未指定で全て)
* @default normal,normal,normal:red,normal:green,normal:blue,starmine,starmine:yellow
*
* @param defaultDyRange
* @text 打ち上げ高さ幅
* @desc 打ち上げて爆発する高さのランダム幅(%)
* @type number
* @min 0
* @default 25
*
* @param launchHeight
* @text 打ち上げ高さ
* @desc 打ち上げパーティクル設定fw_baseを調整する場合のみ変更fw_baseが消滅する地点の高さを設定(デフォ:452)
* @default 452
* @type number
*
* @param parallax
* @text スクロール視差
* @desc スクロールの視差率カンマ続きでx,yを指定1でスクロール完全追従
* @default 0.5,0.25
*
* @param defaultLaunchSe
* @text 打ち上げ時のSE
* @desc 花火打ち上げ時のSE
* @type struct<SE>
*
* @param defaultBurstSe
* @text 爆発時のSE
* @desc 花火爆発時のSE
* @type struct<SE>
*
* @param seVolumeRange
* @text ボリューム乱数幅
* @desc SEボリュームのランダムに変化させる幅
* @default 10
* @type number
* @max 100
* @min 0
*
* @param sePitchRange
* @text ピッチ乱数幅
* @desc SEピッチのランダムに変化させる幅
* @default 5
* @type number
* @min 0
*
*/
//=============================================================================
/*~struct~SE:
* @param name
* @text SEファイル名
* @desc SEに使用するファイル名の選択
* @type file
* @default /audio/se/
*
* @param volume
* @text ボリューム
* @desc SEのボリューム
* @type number
* @min 0
* @max 100
* @default 90
*
* @param pitch
* @text ピッチ
* @desc SEのピッチ
* @type number
* @min 0
* @default 100
*
* @param pan
* @text パン
* @desc SEのパン
* @type number
* @default 100
*
*/
/*~struct~Fireworks:
* @param name
* @text パーティクルグループ名
* @desc 対応するパーティクルグループ名
*
* @param noLaunch
* @text 噴き出しタイプ
* @desc ONとすると吹き上げタイプ打ち上げせずに地面位置で表示
* @type boolean
* @default false
*
* @param variations
* @text バリエーション
* @desc このパーティクルグループに用意しているバリエーション未設定でデフォルト1項目目にnoneで未使用
* @type string[]
* @default []
*
* @param se
* @text SE設定
* @desc SE設定未設定でデフォルトSE名前をnoneでSE未使用
* @type struct<SE>
*
*/
/*~struct~Mode:
* @param name
* @text モード名
* @desc モード名各プラグインコマンドでモードの指定に使用
*
* @param minInterval
* @text 最小打ち上げ間隔
* @desc 打ち上げ間隔の最小フレーム数
* @type number
* @min 1
* @default 30
*
* @param maxInterval
* @text 最大打ち上げ間隔
* @desc 打ち上げ間隔の最大フレーム数
* @type number
* @min 1
* @default 60
*
* @param ids
* @text 花火IDリスト
* @desc 有効な花火パーティクルグループのリスト
* @type string[]
* @default []
*
* @param variations
* @text バリエーション
* @desc このモードで有効なバリエーション1項目目にnoneでバリエーションなし
* @type string[]
*
* @param positionStr
* @text X位置
* @desc 発射するX位置(0~10)の指定カンマ(,)続きで複数指定可能
*
* @param launchAtSame
* @text 同時に発射
* @desc ONにするとX位置を複数指定時打ち上げ時にそれらの位置で同時発射
* @type boolean
* @default false
*
* @param dyRange
* @text 打ち上げ高さ幅
* @desc 爆発位置の高さのランダム幅(%)-1とするとデフォルト値使用
* @default -1
* @decimals 2
* @type number
* @min -1
*
* @param defaultSec
* @text モード継続秒数
* @desc モード継続秒数
* @default 10
* @type number
* @decimals 2
* @min 0
*
* @param endWaitSec
* @text 終了時のウェイト
* @desc モード終了時に次のモードに遷移するまでの秒数
* @default 3
* @type number
* @decimals 2
* @min 0
*
*
*/
//PRAGMA_END: fwHeader
//PRAGMA: defGameFireworks
function Game_Fireworks() {
this.initialize.apply(this, arguments);
};
//PRAGMA_END: defGameFireworks
(function () {
'use strict';
//PRAGMA: fwPluginName
var pluginName = 'TRP_Particle_ExFireworks';
//PRAGMA_END: fwPluginName
function supplement(defaultValue, optionArg) {
if (optionArg === undefined) {
return defaultValue;
}
return optionArg;
};
function supplementNum(defaultValue, optionArg) {
return Number(supplement(defaultValue, optionArg));
};
var _supplementDefWords = ['default', 'def', 'd'];
function supplementDef(defaultValue, optionArg, otherWords) {
var value = supplement(defaultValue, optionArg);
var defTargetWords = otherWords || [];
if (defTargetWords) {
defTargetWords = defTargetWords.concat(_supplementDefWords);
} else {
defTargetWords = _supplementDefWords;
}
var length = defTargetWords.length;
for (var i = 0; i < length; i = (i + 1) | 0) {
var target = defTargetWords[i];
if (value === target) {
value = defaultValue;
break;
}
}
return value;
};
function supplementDefNum(defaultValue, optionArg, otherWords) {
var value = supplementDef(defaultValue, optionArg, otherWords);
return Number(value);
};
/* process parameters
===================================*/
var parameters = PluginManager.parameters(pluginName);
var modes = null;
var modeNamesForAuto = [];
var fireworks = {};
(() => {
parameters = JSON.parse(JSON.stringify(parameters, function (key, value) {
try {
return JSON.parse(value);
} catch (e) {
try {
if (value[0] === '[' || value[0] === '{') {
if (value.contains(' ')) {
return value;
}
return eval(value);
} else if (value === '') {
return value;
} else if (!isNaN(value)) {
return Number(value);
} else if (value === 'true') {
return true;
} else if (value === 'false') {
return false;
} else {
return value;
}
} catch (e) {
return value;
}
}
}));
//variations
parameters.defaultVariations = parameters.defaultVariations || (parameters.defaultVariationStr || '').split(',');
//process seData
function processSe(se) {
if (!se) return null;
var elems = se.name.split('/');
var name = elems[elems.length - 1];
if (!name) {
return null;
} else {
se.name = name.split('.')[0]
}
return se;
}
for (const data of parameters.fireworks) {
data.se = processSe(data.se);
fireworks[data.name] = data;
}
parameters.defaultLaunchSe = processSe(parameters.defaultLaunchSe);
parameters.defaultBurstSe = processSe(parameters.defaultBurstSe);
//parallax
parameters.parallax = parameters.parallax || '0.5,0.25';
var parallax = parameters.parallax.split(',');
parameters.parallaxX = Number(parallax[0]);
parameters.parallaxY = parallax.length > 1 ? Number(parallax[1]) : Number(parallax[0]);
//supplement mode params
modes = parameters.modes;
for (var i = modes.length - 1; i >= 0; i = (i - 1) | 0) {
var mode = modes[i];
if (!mode.name) {
modes.splice(i, 1);
} else {
mode.positions = mode.positionStr ? mode.positionStr.split(',') : null;
}
}
//auto mode
parameters.defaultValidAutoModes = parameters.defaultAutoModes ? parameters.defaultAutoModes.split(',') : [];
if (parameters.defaultValidAutoModes.length === 0) {
for (const modeData of modes) {
parameters.defaultValidAutoModes.push(modeData.name);
}
}
parameters.fireworks = null;
})();
var defaultFireworks = {
noLaunch: false,
variations: parameters.defaultVariations,
se: parameters.defaultBurstSe,
};
//=============================================================================
// PluginManager
//=============================================================================
//PRAGMA: fwRegisterCommands
//PRAGMA_END: fwRegisterCommands
var _Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
Game_Interpreter.prototype.pluginCommand = function (command, args) {
if (command.toLowerCase() === 'fireworks' || command === '花火') {
$gameScreen._particle.processFireworksCommand(args);
} else {
_Game_Interpreter_pluginCommand.call(this, command, args);
}
};
//=============================================================================
// Game_Particle
//=============================================================================
var Game_Particle_initialize = Game_Particle.prototype.initialize;
Game_Particle.prototype.initialize = function () {
Game_Particle_initialize.call(this);
this._fireworks = null;
};
var Game_Particle_update = Game_Particle.prototype.update;
Game_Particle.prototype.update = function () {
Game_Particle_update.call(this);
if (this._fireworks) {
if (!this._fireworks.update()) {
this._fireworks = null;
}
}
};
Game_Particle.prototype.processFireworksCommand = function (args) {
var command = args.shift();
switch (command.toLowerCase()) {
case 'start':
case '開始':
this.startFireworksMode.apply(this, args);
break;
case 'reserve':
case '予約':
this.reserveFireworksMode.apply(this, args);
break;
default:
if (this._fireworks) {
this._fireworks.processCommand(command, args);
}
}
};
Game_Particle.prototype.startFireworksMode = function (mode, duration, variationStr) {
if (!this._fireworks) {
this._fireworks = new Game_Fireworks();
}
mode = supplementDef('auto', mode);
duration = supplementDefNum(-1, duration);
variationStr = supplementDef('', variationStr);
this._fireworks.start(mode, duration, variationStr);
};
Game_Particle.prototype.reserveFireworksMode = function (mode, duration, variationStr, startWait) {
if (!this._fireworks) {
this._fireworks = new Game_Fireworks();
}
mode = supplementDef('auto', mode);
duration = supplementDefNum(-1, duration);
variationStr = supplementDef('', variationStr);
startWait = supplementDefNum(-1, startWait);
this._fireworks.reserve(mode, duration, variationStr, startWait);
};
//=============================================================================
// Game_Fireworks
//=============================================================================
Game_Fireworks.BASE_NAME = 'fw_base';
Game_Fireworks.prototype.initialize = function () {
this._end = false;
this._active = false;
this._nextCount = 0;
this._uid = 0;
this._launchStack = [];
this._modeStack = [];
this._mode = '';
this._variations = null;
this._validAutoModes = null;
this._autoModeVariationStr = '';
this._reservedModes = [];
this._modeCount = 0;
};
Game_Fireworks.prototype.processCommand = function (command, args) {
switch (command.toLowerCase()) {
case 'clear':
case 'クリア':
this._modeStack.length = 0;
break;
case 'end':
case '終了':
this.end();
break;
}
};
Game_Fireworks.prototype.reserve = function (mode = '', duration = -1, variationStr, startWait = -1) {
if (!this._mode || this._modeCount <= 0) {
this.start(mode, duration, variationStr);
return;
}
this._modeStack.push({
mode: mode,
duration: duration,
variationStr: variationStr,
startWait: startWait,
});
}
Game_Fireworks.prototype.start = function (mode = '', duration = -1, variationStr, startWait = -1) {
this._active = true;
this._validAutoModes = null;
this._autoModeVariationStr = '';
this._end = false;
if (!mode || mode.indexOf('auto') === 0) {
//clear stack after auto
this._modeStack.length = 0;
if (mode && mode.contains(':')) {
this._validAutoModes = mode.substring(5).split(',');
}
this._autoModeVariationStr = variationStr;
this.exceedMode(duration, variationStr);
} else {
this.changeMode(mode, duration, variationStr, startWait);
}
if (this._mode !== 'wait' && this._nextCount <= 0 && !this._end) {
this.launch();
}
};
Game_Fireworks.prototype.end = function () {
this._end = true;
this._mode = '';
this._modeStack.length = 0;
this._nextCount = 0;
this._modeCount = 0;
};
//=============================================================================
// Mode
//=============================================================================
Game_Fireworks.prototype.exceedMode = function (duration = -1, variationStr = this._autoModeVariationStr) {
var mode;
if (this._modeStack.length > 0) {
var stack = this._modeStack.shift();
mode = stack.mode;
duration = stack.duration;
variationStr = stack.variationStr;
var startWait = stack.startWait;
this.start(mode, duration, variationStr, startWait);
} else {
var validModes = this._validAutoModes || parameters.defaultValidAutoModes;
if (validModes.length === 0) {
this.end();
return;
}
//auto mode
if (validModes.length === 1) {
mode = validModes[0];
} else {
while (!mode || mode === this._mode) {
mode = validModes[Math.randomInt(validModes.length)];
}
}
if (mode.contains(':')) {
var elems = mode.split(':');
mode = elems[0];
variationStr = elems[1];
}
this.changeMode(mode, duration, variationStr);
}
};
Game_Fireworks.prototype.changeMode = function (mode, duration = -1, variationStr, startWait = -1) {
var lastModeData = this.modeData();
if (mode === 'end' || mode === '終了') {
this.end();
return;
}
this._mode = mode;
this._nextCount = 0;
this._variations = variationStr ? variationStr.split(',') : null;
if (mode !== 'wait') {
var modeData = this.modeData();
if (!modeData) {
throw new Error('モード名「' + mode + '」の設定が存在しません');
}
if (duration < 0) {
duration = modeData.defaultSec;
}
}
this._modeCount = Math.ceil(duration * 60) || 1;
if (startWait >= 0) {
this._modeCount += startWait;
this._nextCount += startWait;
} else if (lastModeData && lastModeData.endWaitSec) {
var delay = Math.ceil(lastModeData.endWaitSec * 60)
this._modeCount += delay;
this._nextCount += delay;
}
};
Game_Fireworks.prototype.modeData = function (target = this._mode) {
var length = modes.length;
for (var i = 0; i < length; i = (i + 1) | 0) {
var mode = modes[i];
if (mode.name === target) {
return mode;
}
}
return null;
};
//=============================================================================
// Update
//=============================================================================
Game_Fireworks.prototype.update = function () {
if (!this._active) return true;
if (!this._end) {
if (this._mode !== 'wait' && this._nextCount > 0) {
this._nextCount -= 1;
if (this._nextCount <= 0) {
this.launch();
}
}
if (this._modeCount > 0) {
this._modeCount -= 1;
if (this._modeCount <= 0) {
this.exceedMode();
}
}
}
for (var i = this._launchStack.length - 1; i >= 0; i = (i - 1) | 0) {
var stack = this._launchStack[i];
stack.fr -= 1;
if (stack.fr <= 0) {
this._launchStack.splice(i, 1);
this.burst(stack);
}
}
if (this._end && this._launchStack.length === 0) {
return false;
}
return true;
};
Game_Fireworks.BASE_DATA = null;
Game_Fireworks.prototype.fireworks = function (name) {
return fireworks[name] || defaultFireworks;
};
Game_Fireworks.prototype.launch = function () {
var mode = this.modeData();
this._nextCount = mode.minInterval + Math.randomInt(mode.maxInterval - mode.minInterval + 1);
var fireworksName = mode.ids[Math.randomInt(mode.ids.length)];
var fireworks = this.fireworks(fireworksName);
var variations;
var modeVariations = this._variations || mode.variations;
if (modeVariations === '' || (modeVariations && modeVariations.length === 0)) {
modeVariations = parameters.defaultVariations;
}
if (modeVariations.length > 0 && modeVariations[0] !== 'none') {
variations = fireworks.variations;
if (!variations || variations.length === 0) {
variations = parameters.defaultVariations;
}
if (modeVariations.length > 0) {
variations = variations.concat();
variations.push('default');
variations.push('def')
var length = variations.length;
for (var i = length - 1; i >= 0; i = (i - 1) | 0) {
if (!modeVariations.contains(variations[i])) {
variations.splice(i, 1);
}
}
}
}
var dyRange = 0.01 * (mode.dyRange >= 0 ? mode.dyRange : parameters.defaultDyRange);
var positions = mode.positions;
var xPos;
if (!positions || positions.length === 0) {
} else if (positions.length === 1) {
xPos = Number(positions[0]);
} else if (!mode.launchAtSame) {
xPos = Number(positions[Math.random(positions.length)]);
} else {
var length = positions.length;
for (var i = 0; i < length; i = (i + 1) | 0) {
xPos = Number(positions[i]);
this._launch(xPos, dyRange, variations, fireworksName);
}
return;
}
this._launch(xPos, dyRange, variations, fireworksName);
};
Game_Fireworks.prototype._launch = function (xPos, dyRange = 0, variations, fireworksName) {
if (isNaN(xPos)) {
xPos = (1 + 8 * Math.random())
}
var fireworks = this.fireworks(fireworksName);
if (variations && variations[0] !== 'none') {
var variation = variations[Math.randomInt(variations.length)];
if (variation !== 'default' && variation !== 'def') {
if (variation.indexOf('_') !== 0) {
fireworksName += '_';
}
fireworksName += variation;
}
}
//prepare launch particle
var uid = this._uid++;
var name;
if (fireworks.noLaunch) {
name = fireworksName;
} else {
name = Game_Fireworks.BASE_NAME;
}
var id = name + '-' + uid;
var bx = Graphics.boxWidth * (-0.5 + xPos / 10);
var dy = dyRange * (-0.5 + Math.random()) * Graphics.boxHeight;
var by = Graphics.boxHeight / 2 + dy;
if (fireworks.noLaunch) {
//update position(x)
if (Game_Particle.groupDataWithName(name)) {
$gameScreen._particle.particleGroupSet(0, id, 'weather:' + parameters.parallax, '', name, bx, by);
} else {
$gameScreen._particle.particlePlay(0, id, 'weather:' + parameters.parallax, name);
$gameScreen._particle.particleUpdate([id, 'pos', bx, by]);
}
} else {
$gameScreen._particle.particlePlay(0, id, 'weather:' + parameters.parallax, name, 'back');
//update position(x)
$gameScreen._particle.particleUpdate([id, 'pos', bx, by])
}
if (fireworks.noLaunch) {
this.tryPlaySe(fireworks.se);
return;
}
//launch se
this.tryPlaySe(parameters.defaultLaunchSe);
//update lifetime(y)
var config = Game_Particle.BASE_DATA;
if (!config) {
config = Game_Fireworks.BASE_DATA = Game_Particle.configDataWithName(name);
}
var lifetime = config.lifetime.min;
var frame = lifetime * 60;
var x = bx;
var y = Graphics.boxHeight / 2 - parameters.launchHeight + dy;
this._launchStack.push({
fr: frame,
uid: uid,
mode: this._mode,
name: fireworksName,
x: x,
y: y,
dx: $gameMap._displayX,
dy: $gameMap._displayY,
})
};
Game_Fireworks.prototype.tryPlaySe = function (se) {
if (!se || se.name === 'none') return;
var volume = se.volume;
var pitch = se.pitch;
if (parameters.seVolumeRange) {
se.volume += parameters.seVolumeRange * (-1 + 2 * Math.random());
}
if (parameters.sePitchRange) {
se.pitch += parameters.sePitchRange * (-1 + 2 * Math.random());
}
AudioManager.playSe(se);
se.volume = volume;
se.pitch = pitch;
};
Game_Fireworks.prototype.burst = function (data) {
var mode = this.modeData(data.mode);
var fireworks = this.fireworks(data.name);
var dx = parameters.parallaxX * ($gameMap._displayX - data.dx) * 48;
var dy = parameters.parallaxY * ($gameMap._displayY - data.dy) * 48;
var x = (data.x - dx);
var y = (data.y - dy);
var name = data.name;
var id = name + '-' + data.uid;
if (Game_Particle.groupDataWithName(name)) {
$gameScreen._particle.particleGroupSet(0, id, 'weather:' + parameters.parallax, '', name, x, y);
} else {
$gameScreen._particle.particlePlay(0, id, 'weather:' + parameters.parallax, name);
$gameScreen._particle.particleUpdate([id, 'pos', x, y]);
}
this.tryPlaySe(fireworks.se || parameters.defaultBurstSe);
};
})();

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,313 @@
//=============================================================================
// TRP_Particle_ExPreset3.js
//=============================================================================
/*:
* @plugindesc パーティクルプリセットデータ
* @help
* fw_base <character> 花火~打ち上げ用
*
* パーティクルグループ
* fw_change <character> 花火~色変化[]
* fw_dual <character> 花火~2色[]
* fw_kiku <character> 花火~()[]
* fw_kikus <character> 花火~()[]
* fw_simple <character> 花火~シンプル[]
* fw_twin <character> 花火~V字噴出[]
* fw_twinkle <character> 花火~キラキラ[]
*
* @requiredAssets img/particles/flare
* @requiredAssets img/particles/particle9
* @requiredAssets img/particles/particle8
* @requiredAssets img/particles/flame1g
*/
//PRAGMA_END: exPreset3Header
var $dataTrpParticleGroupsPreset = $dataTrpParticleGroupsPreset || {};
(() => {
$dataTrpParticlePreset["fw_base"] = [4, [[0, 1, 0.7, 1, 1, 0]], [[0, 0.15, 1, 0.1], 1], [[0, 1000, 0.5, 200, 0.8, 100, 1, 0], 1], [[0, "#f8cda8", 1, "#9f9f9f"]], 0, [0, 0], null, [-90, -90], [0, 0], 10, 0, 0, [1.3, 1.3], 1, 0.01, 1, 5, 0.011, 10000, [0, 0], 4, [0, 312], [0, 0, 0.015, 1, 0, 0, 0], 0, 0, "particle7", 0,
"花火~打ち上げ用[橙]"];
// $dataTrpParticlePreset["fw_base_yellow"] = [4,[[0,0.8,0.7,0.8,1,0]],[[0,0.15,1,0.15],0.5],[[0,1000,0.5,200,0.8,100,1,0],1],[[0,"#fffa76",1,"#fffdcd"]],0,[0,0],null,[-90,-90],[0,0],0,0,0,[1.3,1.3],1,0.01,1,5,0.011,10000,[0,0],4,[0,312],[0,0,0.015,1,0,0,0],0,0,"particle9",0,
// "花火~打ち上げ用[黄]"];
// $dataTrpParticlePreset["fw_base_green"] = [4,[[0,0.8,0.7,0.8,1,0]],[[0,0.15,1,0.15],0.5],[[0,1000,0.5,200,0.8,100,1,0],1],[[0,"#a1ff76",1,"#daface"]],0,[0,0],null,[-90,-90],[0,0],0,0,0,[1.3,1.3],1,0.01,1,5,0.011,10000,[0,0],4,[0,312],[0,0,0.015,1,0,0,0],0,0,"particle9",0,
// "花火~打ち上げ用[緑]"];
// $dataTrpParticlePreset["fw_base_blue"] = [4,[[0,0.8,0.7,0.8,1,0]],[[0,0.15,1,0.15],0.5],[[0,1000,0.5,200,0.8,100,1,0],1],[[0,"#276aff",1,"#c2eaff"]],0,[0,0],null,[-90,-90],[0,0],0,0,0,[1.3,1.3],1,0.01,1,5,0.011,10000,[0,0],4,[0,312],[0,0,0.015,1,0,0,0],0,0,"particle9",0,
// "花火~打ち上げ用[青]"];
// $dataTrpParticlePreset["fw_base_purple"] = [4,[[0,0.8,0.7,0.8,1,0]],[[0,0.15,1,0.15],0.5],[[0,1000,0.5,200,0.8,100,1,0],1],[[0,"#b169ff",1,"#e7cdff"]],0,[0,0],null,[-90,-90],[0,0],0,0,0,[1.3,1.3],1,0.01,1,5,0.011,10000,[0,0],4,[0,312],[0,0,0.015,1,0,0,0],0,0,"particle9",0,
// "花火~打ち上げ用[紫]"];
// $dataTrpParticlePreset["fw_base_red"] = [4,[[0,0.8,0.7,0.8,1,0]],[[0,0.15,1,0.15],0.5],[[0,1000,0.5,200,0.8,100,1,0],1],[[0,"#ff4444",1,"#ffc2c2"]],0,[0,0],null,[-90,-90],[0,0],0,0,0,[1.3,1.3],1,0.01,1,5,0.011,10000,[0,0],4,[0,312],[0,0,0.015,1,0,0,0],0,0,"particle9",0,
// "花火~打ち上げ用[赤]"];
//fw_twinkle
$dataTrpParticlePreset["_auto:0:fw_twinkle/h"] = [4, [[0, 0, 0.11, 1, 0.5, 1, 1, 0]], [[0, 0.1, 0.15, 0.1, 0.8, 0.05, 1, 0], 0.8], [[0, 1200, 0.1, 200, 0.2, 50, 1, 1], 0.1], [[0, "#c29474", 1, "#e4c7ad"]], 1, [0, 0], null, [0, 360], [50, -50], 0, 0, 0, [2, 2], 1, 0.1, 1, 200, 0.11, 10000, [0, 0], 0, [0, -300], null, 0, 0, "flare", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_twinkle_yellow/h"] = [4, [[0, 0, 0.11, 1, 0.5, 1, 1, 0]], [[0, 0.1, 0.15, 0.1, 0.8, 0.05, 1, 0], 0.8], [[0, 1200, 0.1, 200, 0.2, 50, 1, 1], 0.1], [[0, "#f7fd85", 1, "#fffdc2"]], 1, [0, 0], null, [0, 360], [50, -50], 0, 0, 0, [2, 2], 1, 0.1, 1, 200, 0.11, 10000, [0, 0], 0, [0, -300], null, 0, 0, "flare", 0, ""];
$dataTrpParticlePreset["_auto:0:fw_twinkle_green/h"] = [4, [[0, 0, 0.11, 1, 0.5, 1, 1, 0]], [[0, 0.1, 0.15, 0.1, 0.8, 0.05, 1, 0], 0.8], [[0, 1200, 0.1, 200, 0.2, 50, 1, 1], 0.1], [[0, "#a2ddaa", 1, "#e2f8d4"]], 1, [0, 0], null, [0, 360], [50, -50], 0, 0, 0, [2, 2], 1, 0.1, 1, 200, 0.11, 10000, [0, 0], 0, [0, -300], null, 0, 0, "flare", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_twinkle_blue/h"] = [4, [[0, 0, 0.11, 1, 0.5, 1, 1, 0]], [[0, 0.1, 0.15, 0.1, 0.8, 0.05, 1, 0], 0.8], [[0, 1200, 0.1, 200, 0.2, 50, 1, 1], 0.1], [[0, "#8eaefd", 1, "#b1bffd"]], 1, [0, 0], null, [0, 360], [50, -50], 0, 0, 0, [2, 2], 1, 0.1, 1, 200, 0.11, 10000, [0, 0], 0, [0, -300], null, 0, 0, "flare", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_twinkle_purple/h"] = [4, [[0, 0, 0.11, 1, 0.5, 1, 1, 0]], [[0, 0.1, 0.15, 0.1, 0.8, 0.05, 1, 0], 0.8], [[0, 1200, 0.1, 200, 0.2, 50, 1, 1], 0.1], [[0, "#ab9dfa", 1, "#ecddfa"]], 1, [0, 0], null, [0, 360], [50, -50], 0, 0, 0, [2, 2], 1, 0.1, 1, 200, 0.11, 10000, [0, 0], 0, [0, -300], null, 0, 0, "flare", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_twinkle_red/h"] = [4, [[0, 0, 0.11, 1, 0.5, 1, 1, 0]], [[0, 0.1, 0.15, 0.1, 0.8, 0.05, 1, 0], 0.8], [[0, 1200, 0.1, 200, 0.2, 50, 1, 1], 0.1], [[0, "#dda2b4", 1, "#f8d4d4"]], 1, [0, 0], null, [0, 360], [50, -50], 0, 0, 0, [2, 2], 1, 0.1, 1, 200, 0.11, 10000, [0, 0], 0, [0, -300], null, 0, 0, "flare", 0, ""]
$dataTrpParticlePreset["_sub:0:fw_twinkle/h"] = [4, [[0, 0, 0.1, 1, 0.2, 0, 0.3, 1, 0.4, 0, 0.5, 1, 0.6, 0, 0.7, 1, 1, 0]], [[0, 0.1, 0.7, 0.1, 1, 0], 0.5], [[0, 0, 1, 0], 1], [[0, "#f8cf66", 1, "#ffffff"]], 0, [0, 20], null, [0, 360], [0, 0], 0, 0, 0, [1, 2], 1, 0.1, 1, 1, 0.11, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flare", 0, ""];
$dataTrpParticlePreset["_sub:0:fw_twinkle_yellow/h"] = [4, [[0, 0, 0.1, 1, 0.2, 0, 0.3, 1, 0.4, 0, 0.5, 1, 0.6, 0, 0.7, 1, 1, 0]], [[0, 0.1, 0.7, 0.1, 1, 0], 0.5], [[0, 0, 1, 0], 1], [[0, "#ecf866", 1, "#ffffff"]], 0, [0, 20], null, [0, 360], [0, 0], 0, 0, 0, [1, 2], 1, 0.1, 1, 1, 0.11, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flare", 0, ""];
$dataTrpParticlePreset["_sub:0:fw_twinkle_green/h"] = [4, [[0, 0, 0.1, 1, 0.2, 0, 0.3, 1, 0.4, 0, 0.5, 1, 0.6, 0, 0.7, 1, 1, 0]], [[0, 0.1, 0.7, 0.1, 1, 0], 0.5], [[0, 0, 1, 0], 1], [[0, "#66f879", 1, "#ffffff"]], 0, [0, 20], null, [0, 360], [0, 0], 0, 0, 0, [1, 2], 1, 0.1, 1, 1, 0.11, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flare", 0, ""]
$dataTrpParticlePreset["_sub:0:fw_twinkle_blue/h"] = [4, [[0, 0, 0.1, 1, 0.2, 0, 0.3, 1, 0.4, 0, 0.5, 1, 0.6, 0, 0.7, 1, 1, 0]], [[0, 0.1, 0.7, 0.1, 1, 0], 0.5], [[0, 0, 1, 0], 1], [[0, "#6692f8", 1, "#ffffff"]], 0, [0, 20], null, [0, 360], [0, 0], 0, 0, 0, [1, 2], 1, 0.1, 1, 1, 0.11, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flare", 0, ""]
$dataTrpParticlePreset["_sub:0:fw_twinkle_purple/h"] = [4, [[0, 0, 0.1, 1, 0.2, 0, 0.3, 1, 0.4, 0, 0.5, 1, 0.6, 0, 0.7, 1, 1, 0]], [[0, 0.1, 0.7, 0.1, 1, 0], 0.5], [[0, 0, 1, 0], 1], [[0, "#8866f8", 1, "#ffffff"]], 0, [0, 20], null, [0, 360], [0, 0], 0, 0, 0, [1, 2], 1, 0.1, 1, 1, 0.11, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flare", 0, ""]
$dataTrpParticlePreset["_sub:0:fw_twinkle_red/h"] = [4, [[0, 0, 0.1, 1, 0.2, 0, 0.3, 1, 0.4, 0, 0.5, 1, 0.6, 0, 0.7, 1, 1, 0]], [[0, 0.1, 0.7, 0.1, 1, 0], 0.5], [[0, 0, 1, 0], 1], [[0, "#f47878", 1, "#ffffff"]], 0, [0, 20], null, [0, 360], [0, 0], 0, 0, 0, [1, 2], 1, 0.1, 1, 1, 0.11, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flare", 0, ""]
$dataTrpParticleGroupsPreset["fw_twinkle"] = {
"repeat": -1, "list": ["play _auto:0 target def back", "sub set _auto:0 _sub:0 0.9 -1 3 0 0"], "targetType": 0,
"comment": "花火~キラキラ[橙]"
};
$dataTrpParticleGroupsPreset["fw_twinkle_yellow/h"] = {
"repeat": -1, "list": ["play _auto:0 target def back", "sub set _auto:0 _sub:0 0.9 -1 3 0 0"], "targetType": 0,
"comment": "花火~キラキラ[黄]"
};
$dataTrpParticleGroupsPreset["fw_twinkle_green/h"] = {
"repeat": -1, "list": ["play _auto:0 target def back", "sub set _auto:0 _sub:0 0.9 -1 3 0 0"], "targetType": 0,
"comment": "花火~キラキラ[緑]"
};
$dataTrpParticleGroupsPreset["fw_twinkle_blue/h"] = {
"repeat": -1, "list": ["play _auto:0 target def back", "sub set _auto:0 _sub:0 0.9 -1 3 0 0"], "targetType": 0,
"comment": "花火~キラキラ[青]"
};
$dataTrpParticleGroupsPreset["fw_twinkle_purple/h"] = {
"repeat": -1, "list": ["play _auto:0 target def back", "sub set _auto:0 _sub:0 0.9 -1 3 0 0"], "targetType": 0,
"comment": "花火~キラキラ[紫]"
};
$dataTrpParticleGroupsPreset["fw_twinkle_red/h"] = {
"repeat": -1, "list": ["play _auto:0 target def back", "sub set _auto:0 _sub:0 0.9 -1 3 0 0"], "targetType": 0,
"comment": "花火~キラキラ[赤]"
};
//fw_kiku
$dataTrpParticlePreset["_auto:0:fw_kiku/h"] = [4, [[0, 2, 0.11, 1, 0.5, 1, 1, 0]], [[0, 2, 0.15, 1.5, 0.5, 0.2, 1, 0], 1], [[0, 1500, 0.1, 100, 1, 10], 0.8], [[0, "#ffffff", 1, "#ff8e3e"]], 1, [0, 2], null, [-240, 60], [50, -50], 0, 0, 0, [1, 2.5], 1, 0.001, 1, 1, 0.04, 10000, [0, 0], 0, [0, -300], null, 0, 0, "particle8", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_kiku_yellow/h"] = [4, [[0, 2, 0.11, 1, 0.5, 1, 1, 0]], [[0, 2, 0.15, 1.5, 0.5, 0.2, 1, 0], 1], [[0, 1500, 0.1, 100, 1, 10], 0.8], [[0, "#ffffff", 1, "#ffcf3e"]], 1, [0, 2], null, [-240, 60], [50, -50], 0, 0, 0, [1, 2.5], 1, 0.001, 1, 1, 0.04, 10000, [0, 0], 0, [0, -300], null, 0, 0, "particle8", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_kiku_green/h"] = [4, [[0, 2, 0.11, 1, 0.5, 1, 1, 0]], [[0, 2, 0.15, 1.5, 0.5, 0.2, 1, 0], 1], [[0, 1500, 0.1, 100, 1, 10], 0.8], [[0, "#ffffff", 1, "#77ad4a"]], 1, [0, 2], null, [-240, 60], [50, -50], 0, 0, 0, [1, 2.5], 1, 0.001, 1, 1, 0.04, 10000, [0, 0], 0, [0, -300], null, 0, 0, "particle8", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_kiku_blue/h"] = [4, [[0, 2, 0.11, 1, 0.5, 1, 1, 0]], [[0, 2, 0.15, 1.5, 0.5, 0.2, 1, 0], 1], [[0, 1500, 0.1, 100, 1, 10], 0.8], [[0, "#ffffff", 1, "#4a68ad"]], 1, [0, 2], null, [-240, 60], [50, -50], 0, 0, 0, [1, 2.5], 1, 0.001, 1, 1, 0.04, 10000, [0, 0], 0, [0, -300], null, 0, 0, "particle8", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_kiku_purple/h"] = [4, [[0, 2, 0.11, 1, 0.5, 1, 1, 0]], [[0, 2, 0.15, 1.5, 0.5, 0.2, 1, 0], 1], [[0, 1500, 0.1, 100, 1, 10], 0.8], [[0, "#ffffff", 1, "#7a4aad"]], 1, [0, 2], null, [-240, 60], [50, -50], 0, 0, 0, [1, 2.5], 1, 0.001, 1, 1, 0.04, 10000, [0, 0], 0, [0, -300], null, 0, 0, "particle8", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_kiku_red/h"] = [4, [[0, 2, 0.11, 1, 0.5, 1, 1, 0]], [[0, 2, 0.15, 1.5, 0.5, 0.2, 1, 0], 1], [[0, 1500, 0.1, 100, 1, 10], 0.8], [[0, "#ffffff", 1, "#ed5942"]], 1, [0, 2], null, [-240, 60], [50, -50], 0, 0, 0, [1, 2.5], 1, 0.001, 1, 1, 0.04, 10000, [0, 0], 0, [0, -300], null, 0, 0, "particle8", 0, ""]
$dataTrpParticlePreset["_sub:0:fw_kiku/h"] = [4, [[0, 1, 1, 0]], [[0, 0.3, 0.5, 0.2, 1, 0], 1], [[0, 0, 1, 0], 1], [[0, "#f6857f", 1, "#ffffff"]], 0, [0, 0], null, [0, 0], [0, 0], 10, 0, 0, [2.5, 3], 1, 0.06, 1, 1, -1, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flame1g", 0, ""]
$dataTrpParticlePreset["_sub:0:fw_kiku_yellow/h"] = [4, [[0, 1, 1, 0]], [[0, 0.3, 0.5, 0.2, 1, 0], 1], [[0, 0, 1, 0], 1], [[0, "#f6e27f", 1, "#ffffff"]], 0, [0, 0], null, [0, 0], [0, 0], 10, 0, 0, [2.5, 3], 1, 0.06, 1, 1, -1, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flame1g", 0, ""]
$dataTrpParticlePreset["_sub:0:fw_kiku_green/h"] = [4, [[0, 1, 1, 0]], [[0, 0.3, 0.5, 0.2, 1, 0], 1], [[0, 0, 1, 0], 1], [[0, "#99ca87", 1, "#ffffff"]], 0, [0, 0], null, [0, 0], [0, 0], 10, 0, 0, [2.5, 3], 1, 0.06, 1, 1, -1, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flame1g", 0, ""]
$dataTrpParticlePreset["_sub:0:fw_kiku_blue/h"] = [4, [[0, 1, 1, 0]], [[0, 0.3, 0.5, 0.2, 1, 0], 1], [[0, 0, 1, 0], 1], [[0, "#5081b8", 1, "#ffffff"]], 0, [0, 0], null, [0, 0], [0, 0], 10, 0, 0, [2.5, 3], 1, 0.06, 1, 1, -1, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flame1g", 0, ""]
$dataTrpParticlePreset["_sub:0:fw_kiku_purple/h"] = [4, [[0, 1, 1, 0]], [[0, 0.3, 0.5, 0.2, 1, 0], 1], [[0, 0, 1, 0], 1], [[0, "#7e5bb2", 1, "#ffffff"]], 0, [0, 0], null, [0, 0], [0, 0], 10, 0, 0, [2.5, 3], 1, 0.06, 1, 1, -1, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flame1g", 0, ""]
$dataTrpParticlePreset["_sub:0:fw_kiku_red/h"] = [4, [[0, 1, 1, 0]], [[0, 0.3, 0.5, 0.2, 1, 0], 1], [[0, 0, 1, 0], 1], [[0, "#b25b78", 1, "#ffffff"]], 0, [0, 0], null, [0, 0], [0, 0], 10, 0, 0, [2.5, 3], 1, 0.06, 1, 1, -1, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flame1g", 0, ""]
$dataTrpParticleGroupsPreset["fw_kiku"] = {
"repeat": -1, "list": ["play _auto:0 target def back", "sub set _auto:0 _sub:0 0.06 0.5 0.05 1 0"], "targetType": 0,
"comment": "花火~菊(大)[橙]"
};
$dataTrpParticleGroupsPreset["fw_kiku_yellow/h"] = {
"repeat": -1, "list": ["play _auto:0 target def back", "sub set _auto:0 _sub:0 0.06 0.5 0.05 1 0"], "targetType": 0,
"comment": "花火~菊(大)[黄]"
};
$dataTrpParticleGroupsPreset["fw_kiku_green/h"] = {
"repeat": -1, "list": ["play _auto:0 target def back", "sub set _auto:0 _sub:0 0.06 0.5 0.05 1 0"], "targetType": 0,
"comment": "花火~菊(大)[緑]"
};
$dataTrpParticleGroupsPreset["fw_kiku_blue/h"] = {
"repeat": -1, "list": ["play _auto:0 target def back", "sub set _auto:0 _sub:0 0.06 0.5 0.05 1 0"], "targetType": 0,
"comment": "花火~菊(大)[青]"
};
$dataTrpParticleGroupsPreset["fw_kiku_purple/h"] = {
"repeat": -1, "list": ["play _auto:0 target def back", "sub set _auto:0 _sub:0 0.06 0.5 0.05 1 0"], "targetType": 0,
"comment": "花火~菊(大)[紫]"
};
$dataTrpParticleGroupsPreset["fw_kiku_red/h"] = {
"repeat": -1, "list": ["play _auto:0 target def back", "sub set _auto:0 _sub:0 0.06 0.5 0.05 1 0"], "targetType": 0,
"comment": "花火~菊(大)[赤]"
};
//fw_dual
$dataTrpParticlePreset["_auto:0:fw_dual/h"] = [4, [[0, 1, 0.11, 1, 0.7, 1, 1, 0]], [[0, 1.2, 0.15, 0.6, 0.7, 0.3, 1, 0], 1], [[0, 1300, 0.15, 30, 1, 1], 0.5], [[0, "#ddb585", 1, "#ffaf3e"]], 1, [0, 0], null, [0, 0], [50, -50], 0, 0, 0, [2, 2], 1, 0.001, 1, 2, 0.05, 10000, [0, 0], 3, [0, -300], [0, 0, 0, 0], 0, 0, "particle9", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_dual_yellow/h"] = [4, [[0, 1, 0.11, 1, 0.7, 1, 1, 0]], [[0, 1.2, 0.15, 0.6, 0.7, 0.3, 1, 0], 1], [[0, 1300, 0.15, 30, 1, 1], 0.5], [[0, "#dddd85", 1, "#ffcf3e"]], 1, [0, 0], null, [0, 0], [50, -50], 0, 0, 0, [2, 2], 1, 0.001, 1, 2, 0.05, 10000, [0, 0], 3, [0, -300], [0, 0, 0, 0], 0, 0, "particle9", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_dual_green/h"] = [4, [[0, 1, 0.11, 1, 0.7, 1, 1, 0]], [[0, 1.2, 0.15, 0.6, 0.7, 0.3, 1, 0], 1], [[0, 1300, 0.15, 30, 1, 1], 0.5], [[0, "#5fa963", 1, "#54bf67"]], 1, [0, 0], null, [0, 0], [50, -50], 0, 0, 0, [2, 2], 1, 0.001, 1, 2, 0.05, 10000, [0, 0], 3, [0, -300], [0, 0, 0, 0], 0, 0, "particle9", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_dual_blue/h"] = [4, [[0, 1, 0.11, 1, 0.7, 1, 1, 0]], [[0, 1.2, 0.15, 0.6, 0.7, 0.3, 1, 0], 1], [[0, 1300, 0.15, 30, 1, 1], 0.5], [[0, "#5c7bc6", 1, "#243ff6"]], 1, [0, 0], null, [0, 0], [50, -50], 0, 0, 0, [2, 2], 1, 0.001, 1, 2, 0.05, 10000, [0, 0], 3, [0, -300], [0, 0, 0, 0], 0, 0, "particle9", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_dual_purple/h"] = [4, [[0, 1, 0.11, 1, 0.7, 1, 1, 0]], [[0, 1.2, 0.15, 0.6, 0.7, 0.3, 1, 0], 1], [[0, 1300, 0.15, 30, 1, 1], 0.5], [[0, "#6a5adf", 1, "#4e24f6"]], 1, [0, 0], null, [0, 0], [50, -50], 0, 0, 0, [2, 2], 1, 0.001, 1, 2, 0.05, 10000, [0, 0], 3, [0, -300], [0, 0, 0, 0], 0, 0, "particle9", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_dual_red/h"] = [4, [[0, 1, 0.11, 1, 0.7, 1, 1, 0]], [[0, 1.2, 0.15, 0.6, 0.7, 0.3, 1, 0], 1], [[0, 1300, 0.15, 30, 1, 1], 0.5], [[0, "#eb8c8c", 1, "#f66060"]], 1, [0, 0], null, [0, 0], [50, -50], 0, 0, 0, [2, 2], 1, 0.001, 1, 2, 0.05, 10000, [0, 0], 3, [0, -300], [0, 0, 0, 0], 0, 0, "particle9", 0, ""]
$dataTrpParticlePreset["_auto:1:fw_dual/h"] = [4, [[0, 1, 0.11, 1, 0.5, 1, 1, 0]], [[0, 1.2, 0.15, 0.6, 0.7, 0.25, 1, 0], 1], [[0, 700, 0.13, 20, 1, 10], 0.2], [[0, "#94b976", 1, "#70c847"]], 1, [0, 0], null, [0, 0], [50, -50], 0, 0, 0, [2, 2], 1, 0.001, 1, 2, 0.035, 10000, [0, 0], 3, [0, -300], [0, 0, 0, 20], 0, 0, "particle9", 0, ""]
$dataTrpParticlePreset["_auto:1:fw_dual_yellow/h"] = [4, [[0, 1, 0.11, 1, 0.5, 1, 1, 0]], [[0, 1.2, 0.15, 0.6, 0.7, 0.25, 1, 0], 1], [[0, 700, 0.13, 20, 1, 10], 0.2], [[0, "#76b9a4", 1, "#4785c8"]], 1, [0, 0], null, [0, 0], [50, -50], 0, 0, 0, [2, 2], 1, 0.001, 1, 2, 0.035, 10000, [0, 0], 3, [0, -300], [0, 0, 0, 20], 0, 0, "particle9", 0, ""]
$dataTrpParticlePreset["_auto:1:fw_dual_green/h"] = [4, [[0, 1, 0.11, 1, 0.5, 1, 1, 0]], [[0, 1.2, 0.15, 0.6, 0.7, 0.25, 1, 0], 1], [[0, 700, 0.13, 20, 1, 10], 0.2], [[0, "#7696b9", 1, "#4b47c8"]], 1, [0, 0], null, [0, 0], [50, -50], 0, 0, 0, [2, 2], 1, 0.001, 1, 2, 0.035, 10000, [0, 0], 3, [0, -300], [0, 0, 0, 20], 0, 0, "particle9", 0, ""]
$dataTrpParticlePreset["_auto:1:fw_dual_blue/h"] = [4, [[0, 1, 0.11, 1, 0.5, 1, 1, 0]], [[0, 1.2, 0.15, 0.6, 0.7, 0.25, 1, 0], 1], [[0, 700, 0.13, 20, 1, 10], 0.2], [[0, "#ae67cd", 1, "#9b47c8"]], 1, [0, 0], null, [0, 0], [50, -50], 0, 0, 0, [2, 2], 1, 0.001, 1, 2, 0.035, 10000, [0, 0], 3, [0, -300], [0, 0, 0, 20], 0, 0, "particle9", 0, ""]
$dataTrpParticlePreset["_auto:1:fw_dual_purple/h"] = [4, [[0, 1, 0.11, 1, 0.5, 1, 1, 0]], [[0, 1.2, 0.15, 0.6, 0.7, 0.25, 1, 0], 1], [[0, 700, 0.13, 20, 1, 10], 0.2], [[0, "#cd8967", 1, "#c88e47"]], 1, [0, 0], null, [0, 0], [50, -50], 0, 0, 0, [2, 2], 1, 0.001, 1, 2, 0.035, 10000, [0, 0], 3, [0, -300], [0, 0, 0, 20], 0, 0, "particle9", 0, ""]
$dataTrpParticlePreset["_auto:1:fw_dual_red/h"] = [4, [[0, 1, 0.11, 1, 0.5, 1, 1, 0]], [[0, 1.2, 0.15, 0.6, 0.7, 0.25, 1, 0], 1], [[0, 700, 0.13, 20, 1, 10], 0.2], [[0, "#cdb967", 1, "#c8b347"]], 1, [0, 0], null, [0, 0], [50, -50], 0, 0, 0, [2, 2], 1, 0.001, 1, 2, 0.035, 10000, [0, 0], 3, [0, -300], [0, 0, 0, 20], 0, 0, "particle9", 0, ""]
$dataTrpParticleGroupsPreset["fw_dual"] = {
"repeat": -1, "list": ["play _auto:0 target def back", "play _auto:1 target def back"], "targetType": 0,
"comment": "花火~2色[橙]"
};
$dataTrpParticleGroupsPreset["fw_dual_yellow/h"] = {
"repeat": -1, "list": ["play _auto:0 target def back", "play _auto:1 target def back"], "targetType": 0,
"comment": "花火~2色[黄]"
};
$dataTrpParticleGroupsPreset["fw_dual_green/h"] = {
"repeat": -1, "list": ["play _auto:0 target def back", "play _auto:1 target def back"], "targetType": 0,
"comment": "花火~2色[緑]"
};
$dataTrpParticleGroupsPreset["fw_dual_blue/h"] = {
"repeat": -1, "list": ["play _auto:0 target def back", "play _auto:1 target def back"], "targetType": 0,
"comment": "花火~2色[青]"
};
$dataTrpParticleGroupsPreset["fw_dual_purple/h"] = {
"repeat": -1, "list": ["play _auto:0 target def back", "play _auto:1 target def back"], "targetType": 0,
"comment": "花火~2色[紫]"
};
$dataTrpParticleGroupsPreset["fw_dual_red/h"] = {
"repeat": -1, "list": ["play _auto:0 target def back", "play _auto:1 target def back"], "targetType": 0,
"comment": "花火~2色[赤]"
};
//fw_simple
$dataTrpParticlePreset["_auto:0:fw_simple/h"] = [4, [[0, 0, 0.11, 1, 0.4, 1, 1, 0]], [[0, 0.15, 0.15, 0.15, 0.8, 0.08, 1, 0], 0.8], [[0, 1500, 0.12, 200, 0.2, 50, 1, 1], 0.1], [[0, "#fbbb9b", 1, "#f4a84a"]], 1, [0, 0], null, [0, 360], [0, 0], 0, 0, 0, [1.4, 1.6], 1, 0.001, 1, 10, 0.011, 10000, [0, 0], 0, [0, -300], null, 0, 0, "flare", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_simple_yellow/h"] = [4, [[0, 0, 0.11, 1, 0.4, 1, 1, 0]], [[0, 0.15, 0.15, 0.15, 0.8, 0.08, 1, 0], 0.8], [[0, 1500, 0.12, 200, 0.2, 50, 1, 1], 0.1], [[0, "#fbe09b", 1, "#f4ca4a"]], 1, [0, 0], null, [0, 360], [0, 0], 0, 0, 0, [1.4, 1.6], 1, 0.001, 1, 10, 0.011, 10000, [0, 0], 0, [0, -300], null, 0, 0, "flare", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_simple_green/h"] = [4, [[0, 0, 0.11, 1, 0.4, 1, 1, 0]], [[0, 0.15, 0.15, 0.15, 0.8, 0.08, 1, 0], 0.8], [[0, 1500, 0.12, 200, 0.2, 50, 1, 1], 0.1], [[0, "#6dad78", 1, "#41cb5f"]], 1, [0, 0], null, [0, 360], [0, 0], 0, 0, 0, [1.4, 1.6], 1, 0.001, 1, 10, 0.011, 10000, [0, 0], 0, [0, -300], null, 0, 0, "flare", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_simple_blue/h"] = [4, [[0, 0, 0.11, 1, 0.4, 1, 1, 0]], [[0, 0.15, 0.15, 0.15, 0.8, 0.08, 1, 0], 0.8], [[0, 1500, 0.12, 200, 0.2, 50, 1, 1], 0.1], [[0, "#3d7df3", 1, "#5e84eb"]], 1, [0, 0], null, [0, 360], [0, 0], 0, 0, 0, [1.4, 1.6], 1, 0.001, 1, 10, 0.011, 10000, [0, 0], 0, [0, -300], null, 0, 0, "flare", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_simple_purple/h"] = [4, [[0, 0, 0.11, 1, 0.4, 1, 1, 0]], [[0, 0.15, 0.15, 0.15, 0.8, 0.08, 1, 0], 0.8], [[0, 1500, 0.12, 200, 0.2, 50, 1, 1], 0.1], [[0, "#996bfa", 1, "#8764fa"]], 1, [0, 0], null, [0, 360], [0, 0], 0, 0, 0, [1.4, 1.6], 1, 0.001, 1, 10, 0.011, 10000, [0, 0], 0, [0, -300], null, 0, 0, "flare", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_simple_red/h"] = [4, [[0, 0, 0.11, 1, 0.4, 1, 1, 0]], [[0, 0.15, 0.15, 0.15, 0.8, 0.08, 1, 0], 0.8], [[0, 1500, 0.12, 200, 0.2, 50, 1, 1], 0.1], [[0, "#ed9494", 1, "#fa6464"]], 1, [0, 0], null, [0, 360], [0, 0], 0, 0, 0, [1.4, 1.6], 1, 0.001, 1, 10, 0.011, 10000, [0, 0], 0, [0, -300], null, 0, 0, "flare", 0, ""]
$dataTrpParticleGroupsPreset["fw_simple"] = {
"repeat": -1, "list": ["play _auto:0 target def back"], "targetType": 0,
"comment": "花火~シンプル[橙]"
};
$dataTrpParticleGroupsPreset["fw_simple_yellow/h"] = {
"repeat": -1, "list": ["play _auto:0 target def back"], "targetType": 0,
"comment": "花火~シンプル[黄]"
};
$dataTrpParticleGroupsPreset["fw_simple_green/h"] = {
"repeat": -1, "list": ["play _auto:0 target def back"], "targetType": 0,
"comment": "花火~シンプル[緑]"
};
$dataTrpParticleGroupsPreset["fw_simple_blue/h"] = {
"repeat": -1, "list": ["play _auto:0 target def back"], "targetType": 0,
"comment": "花火~シンプル[青]"
};
$dataTrpParticleGroupsPreset["fw_simple_purple/h"] = {
"repeat": -1, "list": ["play _auto:0 target def back"], "targetType": 0,
"comment": "花火~シンプル[紫]"
};
$dataTrpParticleGroupsPreset["fw_simple_red/h"] = {
"repeat": -1, "list": ["play _auto:0 target def back"], "targetType": 0,
"comment": "花火~シンプル[赤]"
};
//fw_change
$dataTrpParticlePreset["_auto:0:fw_change/h"] = [4, [[0, 0, 0.11, 1, 0.5, 1, 1, 0]], [[0, 0.1, 0.15, 0.1, 0.8, 0.05, 1, 0], 0.8], [[0, 1200, 0.1, 200, 0.2, 50, 1, 1], 0.1], [[0, "#fa9b46", 1, "#f1de90"]], 1, [0, 0], null, [0, 360], [50, -50], 0, 0, 0, [2, 2], 1, 0.1, 1, 200, 0.11, 10000, [0, 0], 0, [0, -300], null, 0, 0, "flare", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_change_yellow/h"] = [4, [[0, 0, 0.11, 1, 0.5, 1, 1, 0]], [[0, 0.1, 0.15, 0.1, 0.8, 0.05, 1, 0], 0.8], [[0, 1200, 0.1, 200, 0.2, 50, 1, 1], 0.1], [[0, "#fad646", 1, "#f1e690"]], 1, [0, 0], null, [0, 360], [50, -50], 0, 0, 0, [2, 2], 1, 0.1, 1, 200, 0.11, 10000, [0, 0], 0, [0, -300], null, 0, 0, "flare", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_change_green/h"] = [4, [[0, 0, 0.11, 1, 0.5, 1, 1, 0]], [[0, 0.1, 0.15, 0.1, 0.8, 0.05, 1, 0], 0.8], [[0, 1200, 0.1, 200, 0.2, 50, 1, 1], 0.1], [[0, "#5da632", 1, "#c7f190"]], 1, [0, 0], null, [0, 360], [50, -50], 0, 0, 0, [2, 2], 1, 0.1, 1, 200, 0.11, 10000, [0, 0], 0, [0, -300], null, 0, 0, "flare", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_change_blue/h"] = [4, [[0, 0, 0.11, 1, 0.5, 1, 1, 0]], [[0, 0.1, 0.15, 0.1, 0.8, 0.05, 1, 0], 0.8], [[0, 1200, 0.1, 200, 0.2, 50, 1, 1], 0.1], [[0, "#3acdfa", 1, "#3062ed"]], 1, [0, 0], null, [0, 360], [50, -50], 0, 0, 0, [2, 2], 1, 0.1, 1, 200, 0.11, 10000, [0, 0], 0, [0, -300], null, 0, 0, "flare", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_change_purple/h"] = [4, [[0, 0, 0.11, 1, 0.5, 1, 1, 0]], [[0, 0.1, 0.15, 0.1, 0.8, 0.05, 1, 0], 0.8], [[0, 1200, 0.1, 200, 0.2, 50, 1, 1], 0.1], [[0, "#903afa", 1, "#3059ed"]], 1, [0, 0], null, [0, 360], [50, -50], 0, 0, 0, [2, 2], 1, 0.1, 1, 200, 0.11, 10000, [0, 0], 0, [0, -300], null, 0, 0, "flare", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_change_red/h"] = [4, [[0, 0, 0.11, 1, 0.5, 1, 1, 0]], [[0, 0.1, 0.15, 0.1, 0.8, 0.05, 1, 0], 0.8], [[0, 1200, 0.1, 200, 0.2, 50, 1, 1], 0.1], [[0, "#fda5a5", 1, "#fa4e2a"]], 1, [0, 0], null, [0, 360], [50, -50], 0, 0, 0, [2, 2], 1, 0.1, 1, 200, 0.11, 10000, [0, 0], 0, [0, -300], null, 0, 0, "flare", 0, ""]
$dataTrpParticlePreset["_sub:0:fw_change/h"] = [4, [[0, 0, 0.11, 1, 0.5, 1, 1, 0]], [[0, 0, 0.11, 0.15, 0.2, 0.12, 0.8, 0.05, 1, 0], 1], [[0, 10, 1, 0], 0.1], [[0, "#97d6c7", 1, "#398fa9"]], 1, [0, 2], null, [0, 0], [50, -50], 0, 0, 0, [1.5, 1.5], 1, 0.1, 1, 1, 0.11, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flare", 0, ""]
$dataTrpParticlePreset["_sub:0:fw_change_yellow/h"] = [4, [[0, 0, 0.11, 1, 0.5, 1, 1, 0]], [[0, 0, 0.11, 0.15, 0.2, 0.12, 0.8, 0.05, 1, 0], 1], [[0, 10, 1, 0], 0.1], [[0, "#9798d6", 1, "#2b4ee6"]], 1, [0, 2], null, [0, 0], [50, -50], 0, 0, 0, [1.5, 1.5], 1, 0.1, 1, 1, 0.11, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flare", 0, ""]
$dataTrpParticlePreset["_sub:0:fw_change_green/h"] = [4, [[0, 0, 0.11, 1, 0.5, 1, 1, 0]], [[0, 0, 0.11, 0.15, 0.2, 0.12, 0.8, 0.05, 1, 0], 1], [[0, 10, 1, 0], 0.1], [[0, "#b397d6", 1, "#662be6"]], 1, [0, 2], null, [0, 0], [50, -50], 0, 0, 0, [1.5, 1.5], 1, 0.1, 1, 1, 0.11, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flare", 0, ""]
$dataTrpParticlePreset["_sub:0:fw_change_blue/h"] = [4, [[0, 0, 0.11, 1, 0.5, 1, 1, 0]], [[0, 0, 0.11, 0.15, 0.2, 0.12, 0.8, 0.05, 1, 0], 1], [[0, 10, 1, 0], 0.1], [[0, "#edb3b3", 1, "#d1236c"]], 1, [0, 2], null, [0, 0], [50, -50], 0, 0, 0, [1.5, 1.5], 1, 0.1, 1, 1, 0.11, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flare", 0, ""]
$dataTrpParticlePreset["_sub:0:fw_change_purple/h"] = [4, [[0, 0, 0.11, 1, 0.5, 1, 1, 0]], [[0, 0, 0.11, 0.15, 0.2, 0.12, 0.8, 0.05, 1, 0], 1], [[0, 10, 1, 0], 0.1], [[0, "#edceb3", 1, "#d17a23"]], 1, [0, 2], null, [0, 0], [50, -50], 0, 0, 0, [1.5, 1.5], 1, 0.1, 1, 1, 0.11, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flare", 0, ""]
$dataTrpParticlePreset["_sub:0:fw_change_red/h"] = [4, [[0, 0, 0.11, 1, 0.5, 1, 1, 0]], [[0, 0, 0.11, 0.15, 0.2, 0.12, 0.8, 0.05, 1, 0], 1], [[0, 10, 1, 0], 0.1], [[0, "#e0edb3", 1, "#69d123"]], 1, [0, 2], null, [0, 0], [50, -50], 0, 0, 0, [1.5, 1.5], 1, 0.1, 1, 1, 0.11, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flare", 0, ""]
$dataTrpParticleGroupsPreset["fw_change"] = {
"repeat": -1, "list": ["play _auto:0 target def back", "sub set _auto:0 _sub:0 0.8 -1 1 1 0 def back"], "targetType": 0,
"comment": "花火~色変化[橙]"
};
$dataTrpParticleGroupsPreset["fw_change_yellow/h"] = {
"repeat": -1, "list": ["play _auto:0 target def back", "sub set _auto:0 _sub:0 0.8 -1 1 1 0 def back"], "targetType": 0,
"comment": "花火~色変化[黄]"
};
$dataTrpParticleGroupsPreset["fw_change_green/h"] = {
"repeat": -1, "list": ["play _auto:0 target def back", "sub set _auto:0 _sub:0 0.8 -1 1 1 0 def back"], "targetType": 0,
"comment": "花火~色変化[緑]"
};
$dataTrpParticleGroupsPreset["fw_change_blue/h"] = {
"repeat": -1, "list": ["play _auto:0 target def back", "sub set _auto:0 _sub:0 0.8 -1 1 1 0 def back"], "targetType": 0,
"comment": "花火~色変化[青]"
};
$dataTrpParticleGroupsPreset["fw_change_purple/h"] = {
"repeat": -1, "list": ["play _auto:0 target def back", "sub set _auto:0 _sub:0 0.8 -1 1 1 0 def back"], "targetType": 0,
"comment": "花火~色変化[紫]"
};
$dataTrpParticleGroupsPreset["fw_change_red/h"] = {
"repeat": -1, "list": ["play _auto:0 target def back", "sub set _auto:0 _sub:0 0.8 -1 1 1 0 def back"], "targetType": 0,
"comment": "花火~色変化[赤]"
};
//fw_kikus
$dataTrpParticlePreset["_auto:0:fw_kikus/h"] = [4, [[0, 1, 0.6, 1, 1, 0]], [[0, 1.5, 0.11, 1.2, 0.6, 0.3, 1, 0], 1], [[0, 700, 0.11, 150, 0.6, 40, 1, 0], 0.85], [[0, "#ffffff", 1, "#ff683e"]], 1, [0, 5], null, [-225, 45], [50, -50], 10, 0, 0, [0.9, 1.3], 1, 0.001, 1, 1, 0.012, 10000, [0, 0], 0, [0, -300], null, 0, 0, "particle8", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_kikus_yellow/h"] = [4, [[0, 1, 0.6, 1, 1, 0]], [[0, 1.5, 0.11, 1.2, 0.6, 0.3, 1, 0], 1], [[0, 700, 0.11, 150, 0.6, 40, 1, 0], 0.85], [[0, "#ffffff", 1, "#ffcf3e"]], 1, [0, 5], null, [-225, 45], [50, -50], 10, 0, 0, [0.9, 1.3], 1, 0.001, 1, 1, 0.012, 10000, [0, 0], 0, [0, -300], null, 0, 0, "particle8", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_kikus_green/h"] = [4, [[0, 1, 0.6, 1, 1, 0]], [[0, 1.5, 0.11, 1.2, 0.6, 0.3, 1, 0], 1], [[0, 700, 0.11, 150, 0.6, 40, 1, 0], 0.85], [[0, "#ffffff", 1, "#92cb91"]], 1, [0, 5], null, [-225, 45], [50, -50], 10, 0, 0, [0.9, 1.3], 1, 0.001, 1, 1, 0.012, 10000, [0, 0], 0, [0, -300], null, 0, 0, "particle8", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_kikus_blue/h"] = [4, [[0, 1, 0.6, 1, 1, 0]], [[0, 1.5, 0.11, 1.2, 0.6, 0.3, 1, 0], 1], [[0, 700, 0.11, 150, 0.6, 40, 1, 0], 0.85], [[0, "#bccff4", 1, "#5580d4"]], 1, [0, 5], null, [-225, 45], [50, -50], 10, 0, 0, [0.9, 1.3], 1, 0.001, 1, 1, 0.012, 10000, [0, 0], 0, [0, -300], null, 0, 0, "particle8", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_kikus_purple/h"] = [4, [[0, 1, 0.6, 1, 1, 0]], [[0, 1.5, 0.11, 1.2, 0.6, 0.3, 1, 0], 1], [[0, 700, 0.11, 150, 0.6, 40, 1, 0], 0.85], [[0, "#ccbcf4", 1, "#6855d4"]], 1, [0, 5], null, [-225, 45], [50, -50], 10, 0, 0, [0.9, 1.3], 1, 0.001, 1, 1, 0.012, 10000, [0, 0], 0, [0, -300], null, 0, 0, "particle8", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_kikus_red/h"] = [4, [[0, 1, 0.6, 1, 1, 0]], [[0, 1.5, 0.11, 1.2, 0.6, 0.3, 1, 0], 1], [[0, 700, 0.11, 150, 0.6, 40, 1, 0], 0.85], [[0, "#f4d1bc", 1, "#d4559b"]], 1, [0, 5], null, [-225, 45], [50, -50], 10, 0, 0, [0.9, 1.3], 1, 0.001, 1, 1, 0.012, 10000, [0, 0], 0, [0, -300], null, 0, 0, "particle8", 0, ""]
$dataTrpParticlePreset["_sub:0:fw_kikus/h"] = [4, [[0, 1, 1, 0]], [[0, 0.25, 0.5, 0.25, 1, 0], 1], [[0, 0, 1, 0], 1], [[0, "#f6857f", 1, "#ffffff"]], 0, [0, 0], null, [0, 0], [0, 0], 10, 0, 0, [1.9, 2.3], 1, 0.04, 1, 1, -1, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flame1g", 0, ""]
$dataTrpParticlePreset["_sub:0:fw_kikus_yellow/h"] = [4, [[0, 1, 1, 0]], [[0, 0.25, 0.5, 0.25, 1, 0], 1], [[0, 0, 1, 0], 1], [[0, "#b1a15d", 1, "#ddc96b"]], 0, [0, 0], null, [0, 0], [0, 0], 10, 0, 0, [1.9, 2.3], 1, 0.04, 1, 1, -1, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flame1g", 0, ""]
$dataTrpParticlePreset["_sub:0:fw_kikus_green/h"] = [4, [[0, 1, 1, 0]], [[0, 0.25, 0.5, 0.25, 1, 0], 1], [[0, 0, 1, 0], 1], [[0, "#88cf8b", 1, "#5cbf76"]], 0, [0, 0], null, [0, 0], [0, 0], 10, 0, 0, [1.9, 2.3], 1, 0.04, 1, 1, -1, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flame1g", 0, ""]
$dataTrpParticlePreset["_sub:0:fw_kikus_blue/h"] = [4, [[0, 1, 1, 0]], [[0, 0.25, 0.5, 0.25, 1, 0], 1], [[0, 0, 1, 0], 1], [[0, "#2848bf", 1, "#8589d8"]], 0, [0, 0], null, [0, 0], [0, 0], 10, 0, 0, [1.9, 2.3], 1, 0.04, 1, 1, -1, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flame1g", 0, ""]
$dataTrpParticlePreset["_sub:0:fw_kikus_purple/h"] = [4, [[0, 1, 1, 0]], [[0, 0.25, 0.5, 0.25, 1, 0], 1], [[0, 0, 1, 0], 1], [[0, "#6e4ddd", 1, "#9885d8"]], 0, [0, 0], null, [0, 0], [0, 0], 10, 0, 0, [1.9, 2.3], 1, 0.04, 1, 1, -1, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flame1g", 0, ""]
$dataTrpParticlePreset["_sub:0:fw_kikus_red/h"] = [4, [[0, 1, 1, 0]], [[0, 0.25, 0.5, 0.25, 1, 0], 1], [[0, 0, 1, 0], 1], [[0, "#ea7d7d", 1, "#dfa5c7"]], 0, [0, 0], null, [0, 0], [0, 0], 10, 0, 0, [1.9, 2.3], 1, 0.04, 1, 1, -1, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flame1g", 0, ""]
$dataTrpParticleGroupsPreset["fw_kikus"] = {
"repeat": -1, "list": ["set _auto:0 target def back", "sub set _auto:0 _sub:0 0.05 0.65 0 1 0"], "targetType": 0,
"comment": "花火~菊(小)[橙]"
};
$dataTrpParticleGroupsPreset["fw_kikus_yellow/h"] = {
"repeat": -1, "list": ["set _auto:0 target def back", "sub set _auto:0 _sub:0 0.05 0.65 0 1 0"], "targetType": 0,
"comment": "花火~菊(小)[黄]"
};
$dataTrpParticleGroupsPreset["fw_kikus_green/h"] = {
"repeat": -1, "list": ["set _auto:0 target def back", "sub set _auto:0 _sub:0 0.05 0.65 0 1 0"], "targetType": 0,
"comment": "花火~菊(小)[緑]"
};
$dataTrpParticleGroupsPreset["fw_kikus_blue/h"] = {
"repeat": -1, "list": ["set _auto:0 target def back", "sub set _auto:0 _sub:0 0.05 0.65 0 1 0"], "targetType": 0,
"comment": "花火~菊(小)[青]"
};
$dataTrpParticleGroupsPreset["fw_kikus_purple/h"] = {
"repeat": -1, "list": ["set _auto:0 target def back", "sub set _auto:0 _sub:0 0.05 0.65 0 1 0"], "targetType": 0,
"comment": "花火~菊(小)[紫]"
};
$dataTrpParticleGroupsPreset["fw_kikus_red/h"] = {
"repeat": -1, "list": ["set _auto:0 target def back", "sub set _auto:0 _sub:0 0.05 0.65 0 1 0"], "targetType": 0,
"comment": "花火~菊(小)[赤]"
};
//fw_twin
$dataTrpParticlePreset["_auto:0:fw_twin/h"] = [4, [[0, 2, 0.11, 1, 0.5, 1, 1, 0]], [[0, 2.5, 0.15, 1, 0.5, 0.1, 1, 0], 1], [[0, 2000, 0.2, 450, 0.5, 100, 1, 10], 0.9], [[0, "#ff9989", 1, "#ffe2ca"]], 0, [0, 0], null, [-120, -110], [50, -50], 0, 0, 0, [1.3, 1.5], 1, 0.01, 1, 2, 0.011, 10000, [0, 0], 4, [0, 0], [20, -100, 0, 0, 0, 0, 0], 0, 0, "particle8", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_twin_yellow/h"] = [4, [[0, 2, 0.11, 1, 0.5, 1, 1, 0]], [[0, 2.5, 0.15, 1, 0.5, 0.1, 1, 0], 1], [[0, 2000, 0.2, 450, 0.5, 100, 1, 10], 0.9], [[0, "#f8dd73", 1, "#ffe2ca"]], 0, [0, 0], null, [-120, -110], [50, -50], 0, 0, 0, [1.3, 1.5], 1, 0.01, 1, 2, 0.011, 10000, [0, 0], 4, [0, 0], [20, -100, 0, 0, 0, 0, 0], 0, 0, "particle8", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_twin_green/h"] = [4, [[0, 2, 0.11, 1, 0.5, 1, 1, 0]], [[0, 2.5, 0.15, 1, 0.5, 0.1, 1, 0], 1], [[0, 2000, 0.2, 450, 0.5, 100, 1, 10], 0.9], [[0, "#48ef49", 1, "#ceffca"]], 0, [0, 0], null, [-120, -110], [50, -50], 0, 0, 0, [1.3, 1.5], 1, 0.01, 1, 2, 0.011, 10000, [0, 0], 4, [0, 0], [20, -100, 0, 0, 0, 0, 0], 0, 0, "particle8", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_twin_blue/h"] = [4, [[0, 2, 0.11, 1, 0.5, 1, 1, 0]], [[0, 2.5, 0.15, 1, 0.5, 0.1, 1, 0], 1], [[0, 2000, 0.2, 450, 0.5, 100, 1, 10], 0.9], [[0, "#739bf8", 1, "#cae5ff"]], 0, [0, 0], null, [-120, -110], [50, -50], 0, 0, 0, [1.3, 1.5], 1, 0.01, 1, 2, 0.011, 10000, [0, 0], 4, [0, 0], [20, -100, 0, 0, 0, 0, 0], 0, 0, "particle8", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_twin_purple/h"] = [4, [[0, 2, 0.11, 1, 0.5, 1, 1, 0]], [[0, 2.5, 0.15, 1, 0.5, 0.1, 1, 0], 1], [[0, 2000, 0.2, 450, 0.5, 100, 1, 10], 0.9], [[0, "#8548ef", 1, "#ddcaff"]], 0, [0, 0], null, [-120, -110], [50, -50], 0, 0, 0, [1.3, 1.5], 1, 0.01, 1, 2, 0.011, 10000, [0, 0], 4, [0, 0], [20, -100, 0, 0, 0, 0, 0], 0, 0, "particle8", 0, ""]
$dataTrpParticlePreset["_auto:0:fw_twin_red/h"] = [4, [[0, 2, 0.11, 1, 0.5, 1, 1, 0]], [[0, 2.5, 0.15, 1, 0.5, 0.1, 1, 0], 1], [[0, 2000, 0.2, 450, 0.5, 100, 1, 10], 0.9], [[0, "#f69a9a", 1, "#ffcae5"]], 0, [0, 0], null, [-120, -110], [50, -50], 0, 0, 0, [1.3, 1.5], 1, 0.01, 1, 2, 0.011, 10000, [0, 0], 4, [0, 0], [20, -100, 0, 0, 0, 0, 0], 0, 0, "particle8", 0, ""]
$dataTrpParticlePreset["_sub:0:fw_twin/h"] = [4, [[0, 1, 1, 0]], [[0, 0.2, 0.5, 0.2, 1, 0], 1], [[0, 30, 1, 0], 1], [[0, "#f6857f", 1, "#ffffff"]], 0, [0, 4], null, [0, 0], [0, 0], 10, 0, 0, [0.8, 1], 1, 0.005, 1, 1, -1, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flame1g", 0, ""]
$dataTrpParticlePreset["_sub:0:fw_twin_yellow/h"] = [4, [[0, 1, 1, 0]], [[0, 0.2, 0.5, 0.2, 1, 0], 1], [[0, 30, 1, 0], 1], [[0, "#edb350", 1, "#f3d4a0"]], 0, [0, 4], null, [0, 0], [0, 0], 10, 0, 0, [0.8, 1], 1, 0.005, 1, 1, -1, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flame1g", 0, ""]
$dataTrpParticlePreset["_sub:0:fw_twin_green/h"] = [4, [[0, 1, 1, 0]], [[0, 0.2, 0.5, 0.2, 1, 0], 1], [[0, 30, 1, 0], 1], [[0, "#62ed50", 1, "#a8e8b1"]], 0, [0, 4], null, [0, 0], [0, 0], 10, 0, 0, [0.8, 1], 1, 0.005, 1, 1, -1, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flame1g", 0, ""]
$dataTrpParticlePreset["_sub:0:fw_twin_blue/h"] = [4, [[0, 1, 1, 0]], [[0, 0.2, 0.5, 0.2, 1, 0], 1], [[0, 30, 1, 0], 1], [[0, "#4c5ffb", 1, "#c8cffb"]], 0, [0, 4], null, [0, 0], [0, 0], 10, 0, 0, [0.8, 1], 1, 0.005, 1, 1, -1, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flame1g", 0, ""]
$dataTrpParticlePreset["_sub:0:fw_twin_purple/h"] = [4, [[0, 1, 1, 0]], [[0, 0.2, 0.5, 0.2, 1, 0], 1], [[0, 30, 1, 0], 1], [[0, "#7e4cfb", 1, "#d0c8fb"]], 0, [0, 4], null, [0, 0], [0, 0], 10, 0, 0, [0.8, 1], 1, 0.005, 1, 1, -1, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flame1g", 0, ""]
$dataTrpParticlePreset["_sub:0:fw_twin_red/h"] = [4, [[0, 1, 1, 0]], [[0, 0.2, 0.5, 0.2, 1, 0], 1], [[0, 30, 1, 0], 1], [[0, "#ff5999", 1, "#ff9b9b"]], 0, [0, 4], null, [0, 0], [0, 0], 10, 0, 0, [0.8, 1], 1, 0.005, 1, 1, -1, 10000, [0, 0], 0, [0, 0], null, 0, 0, "flame1g", 0, ""]
$dataTrpParticleGroupsPreset["fw_twin"] = {
"repeat": -1, "list": ["set _auto:0 target def back", "sub set _auto:0 _sub:0 0 0.5 0 1 0"], "targetType": 0,
"comment": "花火~V字噴出[橙]"
};
$dataTrpParticleGroupsPreset["fw_twin_yellow/h"] = {
"repeat": -1, "list": ["set _auto:0 target def back", "sub set _auto:0 _sub:0 0 0.5 0 1 0"], "targetType": 0,
"comment": "花火~V字噴出[黄]"
};
$dataTrpParticleGroupsPreset["fw_twin_green/h"] = {
"repeat": -1, "list": ["set _auto:0 target def back", "sub set _auto:0 _sub:0 0 0.5 0 1 0"], "targetType": 0,
"comment": "花火~V字噴出[緑]"
};
$dataTrpParticleGroupsPreset["fw_twin_blue/h"] = {
"repeat": -1, "list": ["set _auto:0 target def back", "sub set _auto:0 _sub:0 0 0.5 0 1 0"], "targetType": 0,
"comment": "花火~V字噴出[青]"
};
$dataTrpParticleGroupsPreset["fw_twin_purple/h"] = {
"repeat": -1, "list": ["set _auto:0 target def back", "sub set _auto:0 _sub:0 0 0.5 0 1 0"], "targetType": 0,
"comment": "花火~V字噴出[紫]"
};
$dataTrpParticleGroupsPreset["fw_twin_red/h"] = {
"repeat": -1, "list": ["set _auto:0 target def back", "sub set _auto:0 _sub:0 0 0.5 0 1 0"], "targetType": 0,
"comment": "花火~V字噴出[赤]"
};
//PRAGMA: registerPreset3Command
//PRAGMA_END: registerPreset3Command
})();

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,652 @@
//=============================================================================
// TRP_Particle_Group.js
//=============================================================================
/*:
* @plugindesc グループ再生機能の有効化
* @author Thirop
*
* 更新履歴
* 2.19 2022/2/14 ロード時のエラー修正
* 2.13 2021/11/4 隠しコマンド(flash/shake/se)に対応
* 2.09 2021/8/18 設定名の/hを自動補完
* 座標調整が正しく反映されない不具合修正
* 2.05 --- 設定名に_auto:~使用可能に修正
* 2.00 --- 初版
*
*/
//=============================================================================
//PRAGMA_END: groupHeader
var $dataTrpParticleGroupsPreset = $dataTrpParticleGroupsPreset || null;
var $dataTrpParticleGroups = null;
//PRAGMA: defParticleGroup
function ParticleGroup() {
this.initialize.apply(this, arguments);
}
//PRAGMA_END: defParticleGroup
(function () {
'use strict';
//PRAGMA: groupPluginSetting
var pluginName = 'TRP_Particle_Group';
Game_Particle.GROUP_DATA_FIILE_PATH = 'TrpParticleGroups.json';
var baseParameters = PluginManager.parameters('TRP_Particle');
//PRAGMA_END: groupPluginSetting
var LC = TRP_Localize.localize.bind(TRP_Localize, 'parGr');
var NLC = TRP_Localize.noLocalize;
var errorLog = baseParameters.errorLog === 'true';
DataManager._databaseFiles.push({
name: '$dataTrpParticleGroups',
src: Game_Particle.GROUP_DATA_FIILE_PATH,
});
var _DataManager_loadDataFile = DataManager.loadDataFile;
DataManager.loadDataFile = function (name, src) {
if (src.contains('Test_') && src.contains('TrpParticleGroups')) {
src = Game_Particle.GROUP_DATA_FIILE_PATH;
}
_DataManager_loadDataFile.call(this, name, src);
};
function supplement(defaultValue, optionArg) {
if (optionArg === undefined) {
return defaultValue;
}
return optionArg;
};
function supplementNum(defaultValue, optionArg) {
return Number(supplement(defaultValue, optionArg));
};
var _supplementDefWords = ['default', 'def', 'd'];
function supplementDef(defaultValue, optionArg, otherWords) {
var value = supplement(defaultValue, optionArg);
var defTargetWords = otherWords || [];
if (defTargetWords) {
defTargetWords = defTargetWords.concat(_supplementDefWords);
} else {
defTargetWords = _supplementDefWords;
}
var length = defTargetWords.length;
for (var i = 0; i < length; i = (i + 1) | 0) {
var target = defTargetWords[i];
if (value === target) {
value = defaultValue;
break;
}
}
return value;
};
function supplementDefNum(defaultValue, optionArg, otherWords) {
var value = supplementDef(defaultValue, optionArg, otherWords);
return Number(value);
};
//PRAGMA: groupCommandRegister
//PRAGMA_END: groupCommandRegister
//=============================================================================
// Game_Particle
//=============================================================================
Game_Particle.groupData = function (data) {
return this.groupDataWithName(data.name);
};
Game_Particle.groupDataWithName = function (name) {
var config = $dataTrpParticleGroups[name];
if (config) {
return config;
}
config = $dataTrpParticleGroupsPreset[name];
if (config) {
return config;
}
if (name.indexOf('/h') !== name.length - 2) {
return this.groupDataWithName(name + '/h');
}
return null;
};
var _Game_Particle_initialize = Game_Particle.prototype.initialize;
Game_Particle.prototype.initialize = function () {
_Game_Particle_initialize.call(this);
this._groups = {};
this._groupKeys = [];
};
var _Game_Particle_pluginCommand = Game_Particle.prototype.pluginCommand;
Game_Particle.prototype.pluginCommand = function (interpreter, args, eventId) {
var sub = args[0].toLowerCase();
if (sub === 'group') {
this.processGroupCommand(interpreter, args, eventId);
} else {
_Game_Particle_pluginCommand.call(this, interpreter, args, eventId);
}
};
Game_Particle.prototype.processGroupCommand = function (interpreter, args, eventId) {
var main = args.shift();
var sub = args.shift().toLowerCase();
//process eid
if (!isNaN(eventId)) {
this.processArgsEventId(args, eventId);
}
var tag;
if (sub === 'set' || sub === 'play' || sub === 'edit') {
tag = this.extractTagRegister(args);
args.splice(-1 + Game_Particle.GROUP_COMMAND_ARGS_INDEX_TAG, 0, tag);
var targetId = '';
if (sub === 'set' || sub === 'play') {
args.unshift(eventId);
Game_Particle.prototype.particleGroupSet.apply(this, args);
targetId = args[1];
} else if (sub === 'edit') {
args.unshift(eventId);
if (Game_Particle.prototype.particleGroupEdit.apply(this, args) && interpreter) {
interpreter.wait(1);
}
targetId = args[2];
}
} else if (sub === 'clear') {
Game_Particle.prototype.particleGroupClear.apply(this, args);
}
};
Game_Particle.GROUP_COMMAND_ARGS_INDEX_TAG = 3;
Game_Particle.prototype.particleGroupEdit = function () { };
Game_Particle.prototype.particleGroupSet = function (eventId, id, target, tag, name, x, y) {
name = supplementDef(id, name) || id;
id = this.idWithSuffix(id);
if (!!this._groups[id]) {
return;
}
x = Number(x) || 0;
y = Number(y) || 0;
if (!Game_Particle.groupDataWithName(name)) {
if (errorLog) {
throw new Error(LC('設定名:%1のグループ設定データが存在しません。', 0).format(name));
}
return;
}
if (errorLog && target === undefined) {
throw new Error(LC('パーティクル表示コマンドの対象が設定されてません。', 2) + '(ID:' + id + ')');
}
//make data
var group = new ParticleGroup(eventId, id, target, tag, name, x, y);
this._groups[id] = group;
this._groupKeys.push(id);
return group;
};
Game_Particle.prototype.particleGroupClear = function (id, quit) {
if (quit === 'false' || quit === 'f') {
quit = false;
} else if (quit === 'true' || quit === 't') {
quit = true;
} else {
quit = supplementDef(false, quit);
}
var data = this._groups[id];
if (data) {
data.repeat = -1;
if (quit) {
var index = this._groupKeys.indexOf(id);
this._groupKeys.splice(index, 1);
delete this._groups[id];
}
}
};
var _Game_Particle_update = Game_Particle.prototype.update;
Game_Particle.prototype.update = function () {
_Game_Particle_update.call(this);
if (!this._groups) {
this._groups = {};
}
if (!this._groupKeys) {
this._groupKeys = [];
}
var keys = this._groupKeys;
var length = keys.length;
var destroyed = false;
for (var i = length - 1; i >= 0; i = (i - 1) | 0) {
var key = keys[i];
var group = this._groups[key];
if (group && !group.destroy) {
group.update(this);
}
if (!group || group.destroy) {
keys.splice(i, 1);
delete this._groups[key];
}
}
};
/* auto remove
===================================*/
var _Game_Particle_removeCharacterTargetParticles = Game_Particle.prototype.removeCharacterTargetParticles;
Game_Particle.prototype.removeCharacterTargetParticles = function () {
this._removeCharacterTargetParticles(this._groupKeys, this._groups);
_Game_Particle_removeCharacterTargetParticles.call(this);
};
var _Game_Particle_removePartyTargetParticles = Game_Particle.prototype.removePartyTargetParticles;
Game_Particle.prototype.removePartyTargetParticles = function () {
this._removePartyTargetParticles(this._groupKeys, this._groups);
_Game_Particle_removePartyTargetParticles.call(this);
};
var _Game_Particle_removeParticlesWithTargetTypes = Game_Particle.prototype.removeParticlesWithTargetTypes;
Game_Particle.prototype.removeParticlesWithTargetTypes = function (types) {
this._removeParticlesWithTargetTypes(types, this._groupKeys, this._groups);
_Game_Particle_removeParticlesWithTargetTypes.call(this, types);
};
var _Game_Particle_clearTargetsParticles = Game_Particle.prototype.clearTargetsParticles;
Game_Particle.prototype.clearTargetsParticles = function (targetTypes, targetId, keys, allData) {
_Game_Particle_clearTargetsParticles.call(this, targetTypes, targetId, this._groupKeys, this._groups);
_Game_Particle_clearTargetsParticles.call(this, targetTypes, targetId, keys, allData);
};
//=============================================================================
// ParticleGroup
//=============================================================================
Game_Particle.ParticleGroup = ParticleGroup;
ParticleGroup.prototype.initialize = function (eventId, id, target, tag, name, x, y) {
var particleData = $gameScreen._particle.particleData(eventId, id, target, name, undefined, undefined, undefined, undefined, true);
this.id = id;
this.eventId = eventId;
this.target = target;
this.targetType = particleData.targetType;
this.targetId = particleData.targetId;
this.name = name;
this.replacedName = name.replace('/h', '');
this.tag = tag || ('group:' + id);
this.x = x;
this.y = y;
this.params = {};
this._stop = false;
this._clear = false;
this.quit = false;
this.interval = 0;
this.exceed = null;
this.list = null;
this.repeat = 0;
this.destroy = false;
this._index = -1;
this._wait = 0;
this.applyData();
};
ParticleGroup.prototype.applyData = function () {
var data = this.data();
this.repeat = data.repeat;
if (data.list.length === 0) {
data.list = [''];
}
this.list = data.list;
}
ParticleGroup.prototype.data = function () {
return Game_Particle.groupData(this);
};
ParticleGroup.idSuffix = function (id) {
return '/GROUP:' + id
};
Object.defineProperty(ParticleGroup.prototype, 'clear', {
get: function () {
return this._clear
}, set: function (value) {
this._clear = value;
if (value) {
this.repeat = -1;
if (this.stop) {
this.processQuit();
}
}
},
configurable: true
});
Object.defineProperty(ParticleGroup.prototype, 'stop', {
get: function () {
return this._stop
}, set: function (value) {
this._stop = value;
if (value) {
if (this.clear) {
this.processQuit();
}
}
},
configurable: true
});
ParticleGroup.prototype.processQuit = function (particle = $gameScreen._particle) {
var index = particle._groupKeys.indexOf(this.id);
if (index >= 0) {
particle._groupKeys.splice(index, 1);
delete particle._groups[this.id];
}
};
function activeInterpreter() {
var interpreter;
if ($gameTroop.inBattle() && $gameTroop.isEventRunning()) {
interpreter = $gameTroop._interpreter;
} else if ($gameMap.isEventRunning()) {
interpreter = $gameMap._interpreter;
} else {
return null;
}
while (interpreter._childInterpreter) {
interpreter = interpreter._childInterpreter;
}
return interpreter;
};
ParticleGroup.processParticleSubCommand = function (args) {
if (baseParameters.commandNames.contains(args[0])) {
args.shift();
}
return args[0];
}
ParticleGroup.prototype.update = function (particle) {
if (this._wait > 0) {
this._wait -= 1;
return;
}
var list = this.data().list;
var length = list.length;
var suffix = ParticleGroup.idSuffix(this.id);
$gameScreen._particle.addAutoIdSuffix(suffix);
var interpreter = activeInterpreter();
while (this._index < length - 1 && this._wait <= 0) {
this._index = (this._index + 1) | 0
var command = list[this._index];
var args = command.split(' ');
var isPlayCommands = false;
ParticleGroup.processParticleSubCommand(args);
if (!this.isCommandValid(command, this.id, this.replacedName, args)) {
break;
}
switch (args[0].toLowerCase()) {
case 'wait':
this._wait = Number(args[1]);
break;
case 'edit':
case 'set':
case 'play':
isPlayCommands = true;
var tag = particle.extractTagRegister(args);
tag = tag || this.tag;
if (tag) {
if (!tag.contains('tag:')) {
tag = 'tag:' + tag;
}
args.push(tag);
}
if (args[2] === 'target') {
args[2] = this.target;
}
if (/^_auto:[0-9]+$/.test(args[1])) {
args[1] += ':' + this.replacedName + '/h';
}
if (args[3] && /^_auto:[0-9]+$/.test(args[3])) {
args[3] += ':' + this.replacedName + '/h';
}
break;
case 'repeat':
case 'on':
case 'off':
case 'clear':
case 'update':
case 'animate':
case 'move':
case 'exceed':
case 'screenLoop':
case 'loop':
case 'filter':
case 'max':
if (/^_auto:[0-9]+$/.test(args[1])) {
args[1] += ':' + this.replacedName + '/h';
}
break;
case 'sub':
if (/_auto:[0-9]+$/.test(args[2])) {
args[2] += ':' + this.replacedName + '/h';
}
if (/_sub:[0-9]+$/.test(args[3])) {
args[3] += ':' + this.replacedName + '/h';
}
break;
}
if (this._wait > 0) {
break;
}
particle.pluginCommand(interpreter, args, this.eventId);
if (isPlayCommands) {
if (this.x || this.y) {
particle.particleUpdate([args[1], 'pos', this.x || 0, this.y || 0]);
}
}
}
$gameScreen._particle.removeAutoIdSuffix(suffix);
if (this._wait <= 0 && this._index >= length - 1) {
if (this.repeat >= 0) {
this._wait = this.repeat;
this._index = -1;
} else {
this.destroy = true;
}
}
};
//=============================================================================
// command validation
//=============================================================================
ParticleGroup.prototype.isCommandValid = function (command, id, name, args) {
return ParticleGroup.isCommandValid(command, id, name, args);
};
ParticleGroup.isCommandValid = function (command, id, groupName, args = null) {
if (!command) return false;
args = args || command.split(' ');
var sub = ParticleGroup.processParticleSubCommand(args);
if (!sub) {
return false;
}
sub = sub.toLowerCase();
//check sub commands
switch (sub) {
case 'wait':
return !isNaN(args[1]) && Number(args[1]) >= 0
case 'set':
case 'play':
case 'edit':
return this._isPlayCommandValid(id, groupName, sub, args);
case 'repeat':
case 'on':
case 'off':
case 'clear':
case 'update':
case 'animate':
case 'move':
case 'exceed':
case 'screenLoop':
case 'loop':
case 'filter':
case 'max':
if (!this.isCommandTargetIdValid(id, groupName, args[1])) {
return false;
}
break;
case 'sub':
if (/_auto:[0-9]+$/.test(args[2])) {
args[2] += ':' + groupName + '/h';
}
if (args[1] !== 'edit') {
var name = args[3];
if (/^_sub:[0-9]+$/.test(name)) {
name += ':' + groupName + '/h';
}
if (!$dataTrpParticles[name] && !$dataTrpParticlePreset[name]) {
return false;
}
}
if (!this.isCommandTargetIdValid(id, groupName, args[2])) {
return false;
}
break;
case 'flash':
case 'shake':
case 'se':
return true;
case 'group':
return false;
default:
return false;
}
return true;
};
ParticleGroup.isCommandTargetIdValid = function (groupId, groupName, id) {
if (id === undefined) {
return false;
}
if (id === '' || id === ' ') {
return false;
}
if (/_auto:[0-9]+$/.test(id)) {
id += ':' + groupName + '/h';
}
if (!id.contains('/GROUP:')
&& id !== 'all'
&& id.indexOf('all:') !== 0
&& id.indexOf('tag:') !== 0) {
id += ParticleGroup.idSuffix(groupId);
if (!$gameScreen._particle._data[id]) {
return false;
}
}
return true;
};
ParticleGroup._isPlayCommandValid = function (groupId, groupName, command, args) {
if (args.length <= 2 || args[2] === '' || args[2] === ' ') {
return false;
}
//remove tag arg
var length = args.length;
for (var i = 0; i < length; i = (i + 1) | 0) {
var arg = args[i];
if (arg.indexOf('tag:') === 0) {
args = args.concat();
args.splice(i, 1);
break;
}
}
var id = args[1];
var target = args[2];
var name = args[3];
if (/^_auto:[0-9]+$/.test(id)) {
id += ':' + groupName + '/h';
}
if (/^_auto:[0-9]+$/.test(name)) {
name += ':' + groupName + '/h';
}
name = supplementDef(id, name) || id;
// var eventId = this._data.eventId;
// var data = $gameScreen._particle.particleData(eventId,id,target,name)
// if(!data)return false;
//check id
if (id === '' || id === ' ') {
return false;
}
//check name exists
if (command !== 'edit') {
if (!$dataTrpParticles[name] && !$dataTrpParticlePreset[name]) {
return false;
}
}
return true;
};
})();

View file

@ -0,0 +1,771 @@
//=============================================================================
// TRP_Particle_SubEmitter.js
//=============================================================================
/* 使
またこのソフトウェアはMITライセンスならびにApache 2.0ライセンスで配布されている製作物が含まれています
http://www.opensource.org/licenses/mit-license
http://www.apache.org/licenses/LICENSE-2.0
*/
//=============================================================================
/*:
* @plugindesc サブエミッター機能の有効化
* @author Thirop
* @help
* 更新履歴
* 2.13 2021/10/27 慣性が正しく働かない不具合修正
* 2.09 2021/8/18 本体設定キャッシュ設定(β)に対応
* 2.08 --- Safari/iOSで生じる起動時エラー修正
* 2.00 --- 初版
*/
//=============================================================================
//PRAGMA_END: subEmitterHeader
(function () {
'use strict';
//PRAGMA: subEmitterRegisterCommands
//PRAGMA_END: subEmitterRegisterCommands
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */
/* global Reflect, Promise */
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
function __extends(d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
/***************************************************************************** */
//PRAGMA: subEmitterPluginSetting
var baseParameters = PluginManager.parameters('TRP_Particle');
//PRAGMA_END: subEmitterPluginSetting
var LC = TRP_Localize.localize.bind(TRP_Localize, 'parSe');
var _Game_Particle_particleData = Game_Particle.prototype.particleData;
Game_Particle.prototype.particleData = function (eventId, id, target, name, z, x, y, image) {
var data = _Game_Particle_particleData.apply(this, arguments);
if (data.subs) {
data.subs = null;
}
return data;
};
var _Game_Particle_pluginCommand = Game_Particle.prototype.pluginCommand;
Game_Particle.prototype.pluginCommand = function (interpreter, args, eventId) {
var sub = args[0].toLowerCase();
if (sub === 'sub') {
this.processSubEmitterCommand(interpreter, args, eventId);
} else {
_Game_Particle_pluginCommand.call(this, interpreter, args, eventId);
}
};
Game_Particle.prototype.processSubEmitterCommand = function (interpreter, args, eventId) {
var main = args.shift();
var sub = args.shift().toLowerCase();
if (!isNaN(eventId)) {
this.processArgsEventId(args, eventId);
}
if (sub === 'set' || sub === 'play' || sub === 'edit') {
if (sub === 'set' || sub === 'play') {
Game_Particle.prototype.particleSubEmitterSet.apply(this, args);
} else if (sub === 'edit') {
if (Game_Particle.prototype.particleSubEmitterEdit.apply(this, args) && interpreter) {
interpreter.wait(1);
}
}
}
};
Game_Particle.prototype.particleSubEmitterSet = function (id, name, timing = 0, endTiming = -1, speedRate = 0, inheritAngle = 0, inheritScale = 0) {
var data = this.dataWithId(id);
if (!data) {
return;
}
var subEmitters = data.subs;
if (!subEmitters) {
subEmitters = data.subs = [];
}
var length = subEmitters.length;
for (var i = 0; i < length; i = (i + 1) | 0) {
var sb = subEmitters[i];
if (sb[0] === name) {
return;
}
}
subEmitters.push([name, Number(timing), Number(endTiming), Number(speedRate), Number(inheritAngle), Number(inheritScale)]);
};
Game_Particle.SUB_EMITTER_DEFAULT_DATA = null;
Game_Particle.prototype.particleSubEmitterEdit = function (id, name, timing = 0, endTiming = -1, speedRate = 0, inheritAngle = 0, inheritScale = 0) {
//ensure config data exists
if (!$dataTrpParticles[name] && !$dataTrpParticlePreset[name]) {
if (!Game_Particle.SUB_EMITTER_DEFAULT_DATA) {
Game_Particle.SUB_EMITTER_DEFAULT_DATA = JsonEx.makeDeepCopy(ParticleEditor.DEFAULT_DATA || {});
Game_Particle.SUB_EMITTER_DEFAULT_DATA.frequency = 0.1;
}
$dataTrpParticles[name] = JsonEx.makeDeepCopy(Game_Particle.SUB_EMITTER_DEFAULT_DATA);
}
this.particleSubEmitterSet.apply(this, arguments);
id = id + Game_Particle.SUB_EMITTER_DEV_SUFFIX + name;
var exData = {
timing: timing,
endTiming: endTiming,
speedRate: speedRate,
inheritAngle: inheritAngle,
inheritScale: inheritScale,
}
this._particleEditWithExData(exData, 0, '', id);
};
Game_Particle.SUB_EMITTER_DEV_SUFFIX = '/SUB:';
var _Game_Particle_idWithSuffix = Game_Particle.prototype.idWithSuffix;
Game_Particle.prototype.idWithSuffix = function (id) {
if (this._suffix && id.contains(Game_Particle.SUB_EMITTER_DEV_SUFFIX)) {
var args = id.split(Game_Particle.SUB_EMITTER_DEV_SUFFIX);
var main = args[0];
var sub = args[1];
main = _Game_Particle_idWithSuffix.call(this, main);
return main + Game_Particle.SUB_EMITTER_DEV_SUFFIX + sub;
} else {
return _Game_Particle_idWithSuffix.call(this, id);
}
};
//=============================================================================
// ParticleEmitter
//=============================================================================
var _ParticleEmitter_setupBitmaps = ParticleEmitter.prototype.setupBitmaps;
ParticleEmitter.prototype.setupBitmaps = function (image, bitmaps) {
_ParticleEmitter_setupBitmaps.call(this, image, bitmaps);
this._setupSubEmitterBitmaps = true;
if (this._data.subs) {
this.setupSubEmitters(image, bitmaps, this._data.subs);
} else {
this.tryStart(image, bitmaps);
}
};
var _ParticleEmitter_initMembers = ParticleEmitter.prototype.initMembers;
ParticleEmitter.prototype.initMembers = function () {
_ParticleEmitter_initMembers.call(this);
this._setupSubEmitterBitmaps = false;
this._subData = null;
this._subNames = null;
this._subBitmaps = null;
};
ParticleEmitter.prototype.setupSubEmitters = function (image, mainBitmaps, subData) {
this._subData = subData;
this._subNames = [];
var bitmaps = this._subBitmaps = [];
var length = subData.length;
for (var i = 0; i < length; i = (i + 1) | 0) {
var data = subData[i];
var name = data[0];
var config = Game_Particle.configDataWithName(name)
Array.prototype.push.apply(bitmaps, this.bitmapsWithImage(config.image || baseParameters.defaultImage));
this._subNames.push(name);
}
var length = bitmaps.length;
for (var i = 0; i < length; i = (i + 1) | 0) {
bitmaps[i].addLoadListener(ParticleEmitter.prototype.tryStart.bind(this, image, mainBitmaps));
}
};
var _ParticleEmitter_tryStart = ParticleEmitter.prototype.tryStart;
ParticleEmitter.prototype.tryStart = function (image, bitmaps) {
if (this._started) return;
if (!this._setupSubEmitterBitmaps) {
return;
}
if (this._subBitmaps) {
for (const bitmap of this._subBitmaps) {
if (!bitmap.isReady()) {
return false;
}
}
this._subBitmaps = null;
}
return _ParticleEmitter_tryStart.call(this, image, bitmaps);
};
var _ParticleEmitter_start = ParticleEmitter.prototype.start;
ParticleEmitter.prototype.start = function (image, bitmaps) {
_ParticleEmitter_start.call(this, image, bitmaps);
if (this._subData) {
var emitter = this._emitter;
var container = this._container;
for (const data of this._subData) {
this.setSubEmitter(emitter, container, data);
}
}
};
ParticleEmitter.prototype.setSubEmitter = function (emitter, container, data) {
var name = data[0];
var timing = data[1] || 0;
var endTiming = data.length >= 3 ? data[2] || 0 : -1;
var speedRate = data[3] || 0;
var inheritAngle = data[4] || 0;
var inheritScale = data[5] || 0;
var config = Game_Particle.configDataWithName(name);
var image = config.image || baseParameters.defaultImage;
var bitmaps = this.bitmapsWithImage(image);
var textures = this._texturesWithBitmaps(image, bitmaps);
emitter.setSubEmitter(container, textures, config, timing, endTiming, speedRate, inheritAngle, inheritScale);
};
ParticleEmitter.prototype.particleConstructor = function () {
return this._subData ? TRP_ParticleEx : TRP_Particle;
};
ParticleEmitter.prototype.emitterConstructor = function () {
return this._subData ? TRP_EmitterEx : TRP_Emitter;
};
ParticleEmitter.prototype.subEmitter = function (name) {
return this._emitter._subEmitters ? this._emitter._subEmitters[this._subNames.indexOf(name)] : null;
};
var _ParticleEmitter_loopParticles = ParticleEmitter.prototype.loopParticles;
ParticleEmitter.prototype.loopParticles = function (loopX, loopY) {
_ParticleEmitter_loopParticles.call(this, loopX, loopY, this._emitter);
if (this._subEmitters) {
var length = this._subEmitters.length;
for (var i = 0; i < length; i = (i + 1) | 0) {
_ParticleEmitter_loopParticles.call(this, loopX, loopY, this._subEmitters[i]);
}
}
};
var _ParticleEmitter_cleanup = ParticleEmitter.prototype.cleanup;
ParticleEmitter.prototype.cleanup = function () {
_ParticleEmitter_cleanup.call(this);
if (this._emitter instanceof TRP_EmitterEx) {
this._emitter.cleanupSubEmitters();
}
};
//=============================================================================
// TRP_EmitterEx
//=============================================================================
var TRP_Emitter = ParticleEmitter.TRP_Emitter;
var Emitter = PIXI.particles.Emitter;
var TRP_EmitterEx = /** @class */(function (_super) {
__extends(TRP_EmitterEx, _super);
var utils = PIXI.particles.ParticleUtils;
function TRP_EmitterEx(particleParent, particleImages, config) {
var _this = _super.call(this, particleParent, particleImages, config) || this;
_this._subEmitters = [];
return _this;
};
TRP_EmitterEx.prototype.destroy = function (force) {
if (!force && this.particleTotalCount() > 0) return;
_super.prototype.destroy.call(this);
var length = this._subEmitters.length;
for (var i = 0; i < length; i = (i + 1) | 0) {
this._subEmitters[i].destroy();
}
this._subEmitters.length = 0;
};
TRP_EmitterEx.prototype.cleanupSubEmitters = function () {
var length = this._subEmitters.length;
for (var i = 0; i < length; i = (i + 1) | 0) {
var sub = this._subEmitters[i];
sub.cleanup();
}
}
TRP_EmitterEx.prototype.particleTotalCount = function () {
var count = this.particleCount;
var length = this._subEmitters.length;
for (var i = 0; i < length; i = (i + 1) | 0) {
count += this._subEmitters[i].particleCount;
}
return count;
};
TRP_EmitterEx.prototype.update = function (delta) {
_super.prototype.update.call(this, delta);
if (!this._parent) return;
if (this._subEmitters) {
var length = this._subEmitters.length;
for (var i = 0; i < length; i = (i + 1) | 0) {
this._subEmitters[i].update(delta);
}
}
};
TRP_EmitterEx.prototype.setSubEmitter = function (container, textures, config, timing, endTiming, speedRate, inheritAngle, inheritScale) {
var emitter = new TRP_SubEmitter(container, textures, config, timing, endTiming, speedRate, inheritAngle, inheritScale);
this._subEmitters.push(emitter);
};
TRP_EmitterEx.prototype.applyAdditionalProperties = function (p) {
TRP_Emitter.prototype.applyAdditionalProperties.call(this, p);
p.subEmitters = this._subEmitters;
if (p.subEmitters) {
var emitters = p.subEmitters;
var length = emitters.length;
for (var i = 0; i < length; i = (i + 1) | 0) {
this.pushSubEmitterData(p, i);
}
}
};
TRP_EmitterEx.prototype.pushSubEmitterData = function (p, i) {
var data = p.subEmitterData[i];
if (!data) {
data = {};
p.subEmitterData[i] = data;
data._prevEmitterPos = new PIXI.Point(p.x, p.y);
} else {
data._prevEmitterPos.x = p.x;
data._prevEmitterPos.y = p.y;
}
data._emit = false;
data._spawnTimer = 0;
data._emitterLife = 0;
data._prevPosIsValid = false;
data._spawn = false;
};
TRP_EmitterEx.prototype.applyCapacityLimit = function () {
var naturalCapacity = this.naturalCapacity(this._originalFrequency, this._originalParticlesPerWave);
var subCapacity = this.subEmittersCapacity();
var mainRate = Math.pow(this._capacityRate, naturalCapacity / ((naturalCapacity + subCapacity) || 1));
var subRate = this._capacityRate / (mainRate || 1);
//main limit
var target = naturalCapacity * mainRate;
this.maxParticles = target;
if (this.particlesPerWave > 1) {
this.particlesPerWave = Math.ceil(Math.min(this._originalParticlesPerWave, this._originalParticlesPerWave * (target / naturalCapacity))) || 1;
naturalCapacity = this.naturalCapacity(this._originalFrequency, this.particlesPerWave);
}
this.frequency = Math.max(this._originalFrequency, this._originalFrequency / (target / naturalCapacity));
//sub limit
var length = this._subEmitters.length;
for (var i = 0; i < length; i = (i + 1) | 0) {
var sub = this._subEmitters[i];
sub.capacityRate = subRate;
sub.maxParticles = sub._originalMaxParticles * subRate;
}
};
TRP_EmitterEx.prototype.particleCapacity = function () {
var capacity = _super.prototype.particleCapacity.call(this);
var subCapacity = this.subEmittersCapacity();
return capacity * subCapacity;
};
TRP_EmitterEx.prototype.subEmittersCapacity = function () {
var subCapacity = 1;
var length = this._subEmitters.length;
for (var i = 0; i < length; i = (i + 1) | 0) {
subCapacity += this._subEmitters[i].particleCapacity();
}
return subCapacity;
}
return TRP_EmitterEx;
}(TRP_Emitter));
ParticleEmitter.TRP_EmitterEx = TRP_EmitterEx;
//=============================================================================
// TRP_SubEmitter
//=============================================================================
var TRP_SubEmitter = /** @class */(function (_super) {
__extends(TRP_SubEmitter, _super);
var utils = PIXI.particles.ParticleUtils;
function TRP_SubEmitter(particleParent, particleImages, config, timing = 0, endTiming = -1, speedRate = 0, inheritAngle = 0, inheritScale = 0) {
var _this = TRP_Emitter.call(this, particleParent, particleImages, config) || this;
_this._particleConstructor = TRP_Particle;
_this.timing = timing;
_this.endTiming = endTiming;
_this.speedRate = speedRate;
_this.inheritAngle = inheritAngle;
_this.inheritScale = inheritScale;
return _this;
};
TRP_SubEmitter.prototype.update = function (delta) {
if (this._autoUpdate) {
delta = delta / pixi.settings.TARGET_FPMS / 1000;
}
if (!this._parent) return;
var i, particle, next;
for (particle = this._activeParticlesFirst; particle; particle = next) {
next = particle.next;
particle.update(delta);
}
};
TRP_SubEmitter.prototype.updateParticleEmitter = function (ep, lerp, delta, data) {
//data ~ time,
//ep : emitter particle
if (!data._emit) {
if (!data._spawn && lerp >= this.timing) {
data._emit = true;
data._spawn = true;
data._emitterLife = this.emitterLifetime
} else {
return;
}
} else if (this.endTiming >= 0 && lerp >= this.endTiming) {
data._spawnTimer = 0;
data._emitterLife = 0;
data._emit = false;
return;
}
if (!this._parent)
return;
if (this._autoUpdate) {
delta = delta / pixi.settings.TARGET_FPMS / 1000;
}
//update existing particles
var prevX, prevY;
//if the previous position is valid, store these for later interpolation
if (data._prevPosIsValid) {
prevX = data._prevEmitterPos.x;
prevY = data._prevEmitterPos.y;
}
//store current position of the emitter as local variables
var curX = ep.x + this.spawnPos.x;
var curY = ep.y + this.spawnPos.y;
var posChanged = data._prevPosIsValid && (prevX !== curX || prevY !== curY);
//spawn new particles
if (this._emit) {
//decrease spawn timer
data._spawnTimer -= delta < 0 ? 0 : delta;
//while _spawnTimer < 0, we have particles to spawn
while (data._spawnTimer <= 0) {
//determine if the emitter should stop spawning
if (data._emitterLife > 0) {
data._emitterLife -= this._frequency;
if (data._emitterLife <= 0) {
data._spawnTimer = 0;
data._emitterLife = 0;
data._emit = false;
break;
}
}
//determine if we have hit the particle limit
if (this.particleCount >= this.maxParticles) {
data._spawnTimer += this._frequency;
continue;
}
//determine the particle lifetime
var lifetime = void 0;
if (this.minLifetime == this.maxLifetime)
lifetime = this.minLifetime;
else
lifetime = Math.random() * (this.maxLifetime - this.minLifetime) + this.minLifetime;
//only make the particle if it wouldn't immediately destroy itself
if (-data._spawnTimer < lifetime) {
//If the position has changed and this isn't the first spawn,
//interpolate the spawn position
var emitPosX = void 0, emitPosY = void 0;
if (data._prevPosIsValid && posChanged) {
//1 - _spawnTimer / delta, but _spawnTimer is negative
var lerp = 1 + data._spawnTimer / delta;
emitPosX = (curX - prevX) * lerp + prevX;
emitPosY = (curY - prevY) * lerp + prevY;
}
else //otherwise just set to the spawn position
{
emitPosX = curX;
emitPosY = curY;
}
//create enough particles to fill the wave (non-burst types have a wave of 1)
var i = 0;
for (var len = Math.min(this.particlesPerWave, this.maxParticles - this.particleCount); i < len; ++i) {
//see if we actually spawn one
if (this.spawnChance < 1 && Math.random() >= this.spawnChance)
continue;
//create particle
var p = void 0;
if (this._poolFirst) {
p = this._poolFirst;
this._poolFirst = this._poolFirst.next;
p.next = null;
}
else {
p = new this.particleConstructor(this);
}
//set a random texture if we have more than one
if (this.particleImages.length > 1) {
// if using ordered art
if (this._currentImageIndex !== -1) {
// get current art index, then increment for the next particle
p.applyArt(this.particleImages[this._currentImageIndex++]);
// loop around if needed
if (this._currentImageIndex < 0 || this._currentImageIndex >= this.particleImages.length) {
this._currentImageIndex = 0;
}
}
// otherwise grab a random one
else {
p.applyArt(this.particleImages[Math.floor(Math.random() * this.particleImages.length)]);
}
}
else {
//if they are actually the same texture, a standard particle
//will quit early from the texture setting in setTexture().
p.applyArt(this.particleImages[0]);
}
//set up the start and end values
p.alphaList.reset(this.startAlpha);
p.speedList.reset(this.startSpeed);
if (this.minimumSpeedMultiplier != 1) {
p.speedMultiplier = Math.random() * (1 - this.minimumSpeedMultiplier) + this.minimumSpeedMultiplier;
}
p.acceleration.x = this.acceleration.x;
p.acceleration.y = this.acceleration.y;
p.maxSpeed = this.maxSpeed;
if (this.minimumScaleMultiplier != 1) {
p.scaleMultiplier = Math.random() * (1 - this.minimumScaleMultiplier) + this.minimumScaleMultiplier;
}
p.scaleList.reset(this.startScale);
p.colorList.reset(this.startColor);
//randomize the rotation speed
if (this.minRotationSpeed == this.maxRotationSpeed)
p.rotationSpeed = this.minRotationSpeed;
else
p.rotationSpeed = Math.random() * (this.maxRotationSpeed - this.minRotationSpeed) + this.minRotationSpeed;
p.rotationAcceleration = this.rotationAcceleration;
p.noRotation = this.noRotation;
//set up the lifetime
p.maxLife = lifetime;
//set the blend mode
p.blendMode = this.particleBlendMode;
//set the custom ease, if any
p.ease = this.customEase;
//set the extra data, if any
p.extraData = this.extraData;
//set additional properties to particle
this.applyAdditionalProperties(p);
//call the proper function to handle rotation and position of particle
this._spawnFunc(p, emitPosX, emitPosY, i);
if (this.inheritScale > 0) {
p.scaleMultiplier *= ep.scaleMultiplier;
}
//initialize particle
p.init();
//inertia
p.iVelocity.x = this.speedRate * ep.velocity.x;
p.iVelocity.y = this.speedRate * ep.velocity.y;
p._doInertia = !!(p.iVelocity.x || p.iVelocity.y);
//inheritAngle
if (this.inheritAngle > 0) {
var v1Rotation = Math.atan2(ep.velocity.y, ep.velocity.x);
utils.rotatePoint(v1Rotation / utils.DEG_TO_RADS, p.velocity);
p.rotation += v1Rotation;
}
//update the particle by the time passed, so the particles are spread out properly
p.update(-data._spawnTimer); //we want a positive delta, because a negative delta messes things up
//add the particle to the display list
if (!p.parent) {
if (this.addAtBack)
this._parent.addChildAt(p, 0);
else
this._parent.addChild(p);
}
else {
//kind of hacky, but performance friendly
//shuffle children to correct place
var children = this._parent.children;
//avoid using splice if possible
if (children[0] == p)
children.shift();
else if (children[children.length - 1] == p)
children.pop();
else {
var index = children.indexOf(p);
children.splice(index, 1);
}
if (this.addAtBack)
children.unshift(p);
else
children.push(p);
}
//add particle to list of active particles
if (this._activeParticlesLast) {
this._activeParticlesLast.next = p;
p.prev = this._activeParticlesLast;
this._activeParticlesLast = p;
}
else {
this._activeParticlesLast = this._activeParticlesFirst = p;
}
++this.particleCount;
}
}
//increase timer and continue on to any other particles that need to be created
data._spawnTimer += this._frequency;
}
//if the position changed before this update, then keep track of that
data._prevEmitterPos.x = curX;
data._prevEmitterPos.y = curY;
data._prevPosIsValid = true;
}
};
return TRP_SubEmitter;
}(ParticleEmitter.TRP_Emitter));
//=============================================================================
// TRP_ParticleEx
//=============================================================================
var TRP_Particle = ParticleEmitter.TRP_Particle;
var TRP_ParticleEx = /** @class */(function (_super) {
__extends(TRP_ParticleEx, _super);
var utils = PIXI.particles.ParticleUtils;
function TRP_ParticleEx(emitter) {
var _this = _super.call(this, emitter) || this;
_this.subEmitters = null;
_this.subEmitterData = [];
return _this;
};
TRP_ParticleEx.prototype.kill = function () {
var emitters = this.subEmitters;
var length = emitters ? emitters.length : 0;
for (var i = 0; i < length; i = (i + 1) | 0) {
var data = this.subEmitterData[i];
if (!data._spawn || data._emitterLife > 0) {
return;
}
}
_super.prototype.kill.call(this);
}
TRP_ParticleEx.prototype.update = function (delta) {
var lerp = _super.prototype.update.call(this, delta);
if (this._wait > 0) return lerp;
var emitters = this.subEmitters;
var length = emitters ? emitters.length : 0;
var subLerp = lerp < 0 ? 1 : lerp;
for (var i = 0; i < length; i = (i + 1) | 0) {
emitters[i].updateParticleEmitter(this, subLerp, delta, this.subEmitterData[i]);
}
return lerp;
};
return TRP_ParticleEx;
}(TRP_Particle));
/* cache config
===================================*/
(function () {
'use strict';
if (!baseParameters.useCache || baseParameters.useCache === 'false') return;
//=============================================================================
// TRP_Emitter
//=============================================================================
var Emitter = PIXI.particles.Emitter;
var TRP_Emitter = ParticleEmitter.TRP_Emitter;
var TRP_EmitterEx = ParticleEmitter.TRP_EmitterEx;
if (TRP_EmitterEx) {
var _TRP_EmitterEx_applyAdditionalProperties = TRP_EmitterEx.prototype.applyAdditionalProperties;
TRP_EmitterEx.prototype.applyAdditionalProperties = function (p) {
_TRP_EmitterEx_applyAdditionalProperties.call(this, p);
var naturalCapacity = this.naturalCapacity(this._originalFrequency, this._originalParticlesPerWave);
var rate = naturalCapacity - 1;
var subEmitters = this._subEmitters;
var length = subEmitters.length;
for (var i = 0; i < length; i = (i + 1) | 0) {
var emitter = subEmitters[i];
emitter.preparePoolFromCache(rate);
}
};
}
})();
})();

View file

@ -0,0 +1,60 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.677,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.645,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": -0.629,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": -0.726,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1.403,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0.3,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -1,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.5,
"Blend": "Add"
},
{
"Id": "Eye_small",
"Value": 3,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,75 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.4,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.4,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": -0.468,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -1.2,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.735,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0.2,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -0.2,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -0.2,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,75 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.4,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.4,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": -0.468,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1.4,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -1.2,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.735,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0.2,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -0.2,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -0.2,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,75 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.6,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.6,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": -0.468,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1.8,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -2.4,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.735,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": -0.01,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -1,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -1,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,65 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": -0.468,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0.1,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -3.5,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.5,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -1,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -1,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,65 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.635,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.635,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": -0.686,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": -0.667,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1.4,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0.1,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -3.5,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.5,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -1,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -1,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,65 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -1,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -1,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": -1,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": -1,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1.8,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -2.3,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.5,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -1,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -1,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,75 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.4,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.4,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": -0.468,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -1.2,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.7,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0.2,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -0.5,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -0.5,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,75 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.8,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.8,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": -0.468,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1.4,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -1.2,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.7,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0.2,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -0.5,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -0.5,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,75 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -1,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -1,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": -0.468,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1.8,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -1.2,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.7,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0.41,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -1,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -1,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,65 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": 0.29,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": 0.29,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -0.206,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.5,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0.3,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -0.2,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -0.2,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,75 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": 0.29,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": 0.29,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1.4,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -0.206,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.5,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0.3,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -0.2,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -0.2,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.4,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.4,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,75 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": 0.29,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": 0.29,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1.8,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -0.206,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0.51,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -0.2,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -0.2,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.6,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.6,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,75 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.4,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.4,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": -0.468,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.5,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0.1,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -1.2,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -0.2,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -0.2,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,75 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.6,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.6,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": -0.468,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1.4,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.5,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0.1,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -1.2,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -0.2,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -0.2,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,75 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.8,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.8,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": -0.647,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": -0.635,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1.8,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.5,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0.31,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -1.2,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -1,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -1,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,65 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": -0.468,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0.2,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -1,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.5,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -0.2,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -0.2,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,65 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.835,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.835,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": -0.468,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1.4,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0.2,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -1,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.5,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -0.3,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -0.3,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,65 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -1,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -1,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": -0.668,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": -0.635,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1.8,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0.41,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -1,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": 0.5,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -0.2,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -0.2,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,65 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": 0.29,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": 0.29,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -1.6,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.5,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0.1,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -0.2,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -0.2,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,75 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": 0.29,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": 0.29,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1.4,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -1.6,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.5,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0.1,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -0.2,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -0.2,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.4,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.4,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,75 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": 0.569,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": 0.559,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1.8,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -2.8,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.5,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
"Value": 1,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 1,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -1,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -1,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.8,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.8,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,40 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.892,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -0.3,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -0.3,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -1.6,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,40 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1.4,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.892,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -0.3,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -0.3,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -1.6,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,60 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1.8,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.892,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -1,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -1,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -2.2,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
"Value": 0.6,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 0.6,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.324,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.304,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,75 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": -0.468,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -1.2,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.5,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0.05,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 1,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -0.2,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -0.2,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.4,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.4,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
"Value": 1,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,75 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": -0.468,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1.4,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.5,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0.05,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 1,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -0.3,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -0.3,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.6,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.6,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
"Value": 1,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,75 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": -0.468,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1.8,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -0.6,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": 0.618,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0.3,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 1,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -0.2,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -0.2,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.6,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.6,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
"Value": 1,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,75 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.7,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.7,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": 0.25,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": 0.25,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -1.5,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.5,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
"Value": 1,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 1,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.4,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.4,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -0.2,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -0.2,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,75 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.7,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.7,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": 0.25,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": 0.25,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1.4,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -1.5,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.5,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
"Value": 1,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 1,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.6,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.6,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -0.2,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -0.2,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,75 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.7,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.7,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": 0.25,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": 0.25,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1.8,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -2.7,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": 0.306,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
"Value": 1,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 1,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.8,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -0.3,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -0.3,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,75 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.4,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.4,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": -0.468,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -1.2,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.5,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0.2,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
"Value": 0.9,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 0.9,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -0.2,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -0.2,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,75 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.6,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.6,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": -0.468,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1.4,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -1.2,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.5,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0.2,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
"Value": 0.9,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 0.9,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -0.2,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -0.2,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,75 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.8,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.8,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": -0.468,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1.8,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -1.2,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": 0.51,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0.41,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
"Value": 0.9,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 0.9,
"Blend": "Add"
},
{
"Id": "ParamEyeLOpen",
"Value": -0.2,
"Blend": "Add"
},
{
"Id": "ParamEyeROpen",
"Value": -0.2,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,65 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.4,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.4,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": -0.468,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -1,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.608,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 0.8,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,65 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.6,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.6,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": -0.468,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1.4,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -1,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.608,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 0.8,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,65 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.8,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.8,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": -0.468,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1.8,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -0.324,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": 0.951,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0.42,
"Blend": "Add"
},
{
"Id": "ParamEyeLSmile",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 0.8,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,35 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamCheek",
"Value": 1,
"Blend": "Add"
},
{
"Id": "ParamBrowLY",
"Value": -0.2,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.2,
"Blend": "Add"
},
{
"Id": "ParamAngleY",
"Value": -15,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.598,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -1.353,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,60 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamBrowLY",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRY",
"Value": -0.452,
"Blend": "Add"
},
{
"Id": "ParamBrowLForm",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowRForm",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": -0.468,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": -0.435,
"Blend": "Add"
},
{
"Id": "ParamCheek",
"Value": 1,
"Blend": "Add"
},
{
"Id": "ParamMouthOpenY",
"Value": 0,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -3.5,
"Blend": "Add"
},
{
"Id": "ParamAngleY",
"Value": -15,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.333,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,40 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamEyeLSmile",
"Value": 0.3,
"Blend": "Add"
},
{
"Id": "ParamEyeRSmile",
"Value": 0.3,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -1.324,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": -0.161,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": -0.161,
"Blend": "Add"
},
{
"Id": "ParamAngleY",
"Value": -21.176,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.324,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,30 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamCheek",
"Value": 1,
"Blend": "Add"
},
{
"Id": "ParamBrowLAngle",
"Value": 0.29,
"Blend": "Add"
},
{
"Id": "ParamBrowRAngle",
"Value": 0.29,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.588,
"Blend": "Add"
},
{
"Id": "ParamAngleY",
"Value": -11.765,
"Blend": "Add"
}
]
}

View file

@ -0,0 +1,25 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "ParamCheek",
"Value": 1,
"Blend": "Add"
},
{
"Id": "ParamMouthForm",
"Value": -1.5,
"Blend": "Add"
},
{
"Id": "ParamAngleY",
"Value": -15.588,
"Blend": "Add"
},
{
"Id": "ParamEyeBallY",
"Value": -0.382,
"Blend": "Add"
}
]
}

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