-
Notifications
You must be signed in to change notification settings - Fork 7
/
SkillTreeConfig_v2beta.js
430 lines (371 loc) · 17.8 KB
/
SkillTreeConfig_v2beta.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
/*:
@target MV MZ
@plugindesc スキルツリーコンフィグ v2.0.0-b1
@author うなぎおおとろ
@url https://raw.githubusercontent.com/unagiootoro/RPGMZ/master/SkillTreeConfig.js
@help
スキルツリーのコンフィグ設定ファイルです。
設定については直接このファイルの中身を編集して行います。
*/
const loadSkillTreeConfig = () => {
return {
// =============================================================
// ●ここからは設定項目です。
// =============================================================
/*
スキルツリーのタイプの設定を行います。
skillTreeTypes: [ ~ ]の中にアクターの数だけタイプ設定を追加します。
タイプ設定は、次の形式で設定します。
{ actorId: アクターのID, types: [タイプ情報1, タイプ情報2, ...] }
タイプ情報は、次の形式で設定します。
[タイプ種別, タイプ名, タイプの説明, タイプ有効/無効]
タイプ種別...スキルの派生設定でタイプを識別するためのユニークな識別子を設定します。
タイプ名...タイプ一覧のウィンドウに表示するタイプ名を設定します。
タイプの説明...タイプ一覧のウィンドウに表示するタイプの説明を設定します。
タイプ有効/無効...タイプを有効にする場合は、trueを、無効にする場合は、falseを指定します。
この項目については、省略可能です。省略した場合、trueが指定されます。
[スキルツリータイプの選択肢にアイコンを表示]
スキルツリーのタイプの設定で、タイプ情報にアイコン情報を追加することで、選択肢にアイコンが表示されるようになります。
この場合、タイプ情報は次の形式で設定します。
[タイプ種別, タイプ名, タイプの説明, タイプ有効/無効, アイコンのインデックス]
タイプ種別...スキルの派生設定でタイプを識別するためのユニークな識別子を設定します。
タイプ名...タイプ一覧のウィンドウに表示するタイプ名を設定します。
タイプの説明...タイプ一覧のウィンドウに表示するタイプの説明を設定します。
タイプ有効/無効...タイプを有効にする場合は、trueを、無効にする場合は、falseを指定します。
アイコンのインデックス...使用するアイコンのインデックス
職業単位でのスキルツリーの構築はタイプ設定にclassIdを記載することで行います。
例えば、次のようなタイプ設定があったとします。
{
actorId: 1,
types: [
["剣技", "剣技", "剣技を取得します。"],
["格闘技", "格闘技", "格闘技を取得します。"],
]
}
この設定をアクターID1ではなく職業ID2に適用する場合、次のように設定します。
{
classId: 2,
types: [
["剣技", "剣技", "剣技を取得します。"],
["格闘技", "格闘技", "格闘技を取得します。"],
]
}
[仕様]
・転職すると、前の職業で習得したスキルは習得したままとなります。
・共通のタイプ種別を用いることで、複数の職業間で共有のスキルツリータイプを作成することができます。
・スキルリセットを行った場合、現在のアクターがついている職業のスキルツリーのみリセットされます。
*/
skillTreeTypes: [
{
actorId: 1,
types: [
["剣技", "剣技", "剣技を取得します。", true, 76],
["格闘技", "格闘技", "格闘技を取得します。", true, 77],
]
},
{
actorId: 2,
types: [
["剣技", "剣技", "剣技を取得します。", true, 76],
["格闘技", "格闘技", "格闘技を取得します。", true, 77],
]
},
{
actorId: 3,
types: [
["剣技", "剣技", "剣技を取得します。", true, 76],
["格闘技", "格闘技", "格闘技を取得します。", true, 77],
]
},
{
actorId: 4,
types: [
["剣技", "剣技", "剣技を取得します。", true, 76],
["格闘技", "格闘技", "格闘技を取得します。", true, 77],
]
},
{
actorId: 5,
types: [
["下位攻撃魔法", "攻撃魔法", "攻撃魔法を取得します。", true, 79],
["上位攻撃魔法", "攻撃魔法", "攻撃魔法を取得します。", false, 79],
["回復魔法", "回復魔法", "回復魔法を取得します。", true, 72],
]
},
{
actorId: 6,
types: [
["下位攻撃魔法", "攻撃魔法", "攻撃魔法を取得します。", true, 79],
["上位攻撃魔法", "攻撃魔法", "攻撃魔法を取得します。", false, 79],
["回復魔法", "回復魔法", "回復魔法を取得します。", true, 72],
]
},
{
actorId: 7,
types: [
["下位攻撃魔法", "攻撃魔法", "攻撃魔法を取得します。", true, 79],
["上位攻撃魔法", "攻撃魔法", "攻撃魔法を取得します。", false, 79],
["回復魔法", "回復魔法", "回復魔法を取得します。", true, 72],
]
},
{
actorId: 8,
types: [
["下位攻撃魔法", "攻撃魔法", "攻撃魔法を取得します。", true, 79],
["上位攻撃魔法", "攻撃魔法", "攻撃魔法を取得します。", false, 79],
["回復魔法", "回復魔法", "回復魔法を取得します。", true, 72],
]
},
],
/*
スキルツリーのマップ読み込み設定を行います。
読み込むマップは以下の形式で指定します。
skillTreeMapId: { skillTreeName1: mapID1, skillTreeName2: mapID2, ... }
skillTreeName...スキルツリーのタイプ名を指定します。
mapID...読み込むマップIDを指定します。0の場合は読み込みを行いません。
*/
skillTreeMapId: {
"下位攻撃魔法": 2,
"上位攻撃魔法": 2,
"回復魔法": 3,
"剣技": 4,
"格闘技": 5,
},
/*
各スキルの情報を登録します。
skillTreeInfo: [ ~ ]の中に登録するスキル数分のスキル情報の登録を行います。
スキル情報の登録は次の形式で行います。
[スキル名, スキルID, 必要コスト, アイコン情報]
スキル名...スキルツリーの派生設定でスキルを一意に識別するための識別子
識別子なので、実際のスキル名と一致していなくても問題はありません。
スキルID...データベース上で該当するスキルのID
必要コスト...スキルの習得に必要なコストを次の形式で指定します。
SPを指定する場合 { sp: SP数 } または SP数 ※例 { sp: 10 } または 10
ゴールドを指定する場合 { gold: ゴールド数 } ※例 { gold: 100 }
アイテムを指定する場合 { items: [[アイテム識別子, アイテムID, 個数], ...] }
※例 { items: [["item", 1, 3], ["weapon", 2, 5]]} // ID1のアイテムを3つ、ID2の武器を5つ指定
変数を指定する場合 { variables: [[変数ID, 変数値], ...] }
※例 { variables: [[1, 100], [2, 200] } // ID1の変数を100消費、ID2の変数を200消費
アイコン情報については、アイコンを使用するか、任意の画像を使用するかに応じて次の形式で登録します。
アイコンを使用する場合 ["icon", iconIndex]
iconIndex...使用するアイコンのインデックス
iconIndexは省略可能です。省略した場合、スキルに設定されているアイコンが使用されます。
画像を使用する場合 ["img", fileName]
fileName...画像のファイル名。画像は、「img/pictures」フォルダにインポートしてください。
なお、アイコン情報については省略可能です。省略した場合、["icon"]が適用されます。
【スキルツリーのアイコンにスキル名を表示】
アイコン情報に"icon_ex"を適用します。
アイコンを使用する場合 ["icon_ex", アイコン背景画像, iconIndex]
iconIndex...使用するアイコンのインデックス
iconIndexは省略可能です。省略した場合、スキルに設定されているアイコンが使用されます。
アイコン背景画像...背景画像のファイル名、または背景のインデックスを指定します。
インデックス指定を行う場合、[背景画像のファイル名、X軸インデックス、Y軸インデックス]
の形式で指定します。
fileName...画像のファイル名。画像は、「img/pictures」フォルダにインポートしてください。
*/
skillTreeInfo: [
// 剣技
["強撃", 172, { sp: 1 }, ["icon_ex", "back-blue"]],
["薙ぎ払い", 173, { sp: 2 }, ["icon_ex", "back-blue"]],
["連続攻撃", 174, { sp: 3 }, ["icon_ex", "back-blue"]],
["気合い", 175, { sp: 1 }, ["icon_ex", "back-blue"]],
["応急処置", 176, { sp: 2 }, ["icon_ex", "back-blue"]],
["乙女の構え", 177, { sp: 4 }, ["icon_ex", "back-blue"]],
["スピンクラッシュ", 178, { sp: 5 }, ["icon_ex", "back-blue"]],
// 格闘技
["足払い", 216, { sp: 1 }, ["icon_ex", "back-green"]],
["気孔術", 217, { sp: 2 }, ["icon_ex", "back-green"]],
["回し蹴り", 218, { sp: 3 }, ["icon_ex", "back-green"]],
["猛虎乱舞", 219, { sp: 4 }, ["icon_ex", "back-green"]],
// 攻撃魔法
["ファイアⅠ", 99, { sp: 1 }, ["icon_ex", "back-red"]],
["ファイアⅡ", 100, { sp: 2 }, ["icon_ex", "back-red"]],
["ファイアⅢ", 101, { sp: 3 }, ["icon_ex", "back-red"]],
["フレイムⅠ", 103, { sp: 1 }, ["icon_ex", "back-red"]],
["フレイムⅡ", 104, { sp: 2 }, ["icon_ex", "back-red"]],
["フレイムⅢ", 105, { sp: 3 }, ["icon_ex", "back-red"]],
["アイスⅠ", 107, { sp: 1 }, ["icon_ex", "back-blue"]],
["アイスⅡ", 108, { sp: 2 }, ["icon_ex", "back-blue"]],
["アイスⅢ", 109, { sp: 3 }, ["icon_ex", "back-blue"]],
["ブリザードⅠ", 111, { sp: 1 }, ["icon_ex", "back-blue"]],
["ブリザードⅡ", 112, { sp: 2 }, ["icon_ex", "back-blue"]],
["ブリザードⅢ", 113, { sp: 3 }, ["icon_ex", "back-blue"]],
["サンダーⅠ", 115, { sp: 1 }, ["icon_ex", "back-yellow"]],
["サンダーⅡ", 116, { sp: 2 }, ["icon_ex", "back-yellow"]],
["サンダーⅢ", 117, { sp: 3 }, ["icon_ex", "back-yellow"]],
["スパークⅠ", 119, { sp: 1 }, ["icon_ex", "back-yellow"]],
["スパークⅡ", 120, { sp: 2 }, ["icon_ex", "back-yellow"]],
["スパークⅢ", 121, { sp: 3 }, ["icon_ex", "back-yellow"]],
["ニュークリアⅠ", 156, { sp: 4 }, ["icon_ex", "back-gray"]],
["ニュークリアⅡ", 157, { sp: 5 }, ["icon_ex", "back-gray"]],
// 回復魔法
["ヒールⅠ", 52, { sp: 1 }, ["icon_ex", "back-green"]],
["ヒールⅡ", 53, { sp: 2 }, ["icon_ex", "back-green"]],
["ヒールⅢ", 54, { sp: 3 }, ["icon_ex", "back-green"]],
["リカバーⅠ", 56, { sp: 2 }, ["icon_ex", "back-green"]],
["リカバーⅡ", 57, { sp: 3 }, ["icon_ex", "back-green"]],
["リカバーⅢ", 58, { sp: 4 }, ["icon_ex", "back-green"]],
["キュアーⅠ", 60, { sp: 1 }, ["icon_ex", "back-green"]],
["キュアーⅡ", 61, { sp: 2 }, ["icon_ex", "back-green"]],
["キュアーⅢ", 62, { sp: 3 }, ["icon_ex", "back-green"]],
["レイズⅠ", 64, { sp: 3 }, ["icon_ex", "back-green"]],
["レイズⅡ", 65, { sp: 5 }, ["icon_ex", "back-green"]],
],
/*
スキルツリーの派生設定を行います。
skillTreeDerivative: { ~ }の中にタイプ数分のスキルツリーの登録を行います。
スキルツリーの派生設定は次のように行います。
"タイプ名": [ [スキル1, [派生先スキル1, 派生先スキル2, ...]], [スキル2, [派生先スキル3, 派生先スキル4, ...] ]
※派生先スキルが存在しない終端スキルの場合、派生先スキルは省略可能です。
例えば、"様子を見る"と"連続攻撃"を取得すると、"2回攻撃"が取得できるようにするには、次の設定を行います。
["様子を見る", ["2回攻撃"]],
["連続攻撃", ["2回攻撃"]],
["2回攻撃"],
また、"ヒール"を取得すると、"ファイア"と"スパーク"が取得できるようにするには、次の設定を行います。
["ヒール", ["ファイア"]],
["ヒール", ["スパーク"]],
["ファイア"],
["スパーク"],
*/
skillTreeDerivative: {
"剣技": [
["強撃", ["連続攻撃"]],
["薙ぎ払い", ["連続攻撃"]],
["気合い", ["応急処置"]],
["連続攻撃", ["乙女の構え"]],
["応急処置", ["スピンクラッシュ"]],
["乙女の構え", ["スピンクラッシュ"]],
["スピンクラッシュ"],
],
"格闘技": [
["足払い", ["回し蹴り"]],
["気孔術", ["猛虎乱舞"]],
["回し蹴り", ["猛虎乱舞"]],
["猛虎乱舞"],
],
"下位攻撃魔法": [
["ファイアⅠ", ["ファイアⅡ", "フレイムⅠ"]],
["ファイアⅡ", ["ファイアⅢ", "フレイムⅡ"]],
["フレイムⅠ", ["フレイムⅡ"]],
["ファイアⅢ"],
["フレイムⅡ"],
["アイスⅠ", ["アイスⅡ", "ブリザードⅠ"]],
["アイスⅡ", ["アイスⅢ", "ブリザードⅡ"]],
["ブリザードⅠ", ["ブリザードⅡ"]],
["アイスⅢ"],
["ブリザードⅡ"],
["サンダーⅠ", ["サンダーⅡ", "スパークⅠ"]],
["サンダーⅡ", ["サンダーⅢ", "スパークⅡ"]],
["スパークⅠ", ["スパークⅡ"]],
["サンダーⅢ"],
["スパークⅡ"],
],
"上位攻撃魔法": [
["ファイアⅠ", ["ファイアⅡ", "フレイムⅠ"]],
["ファイアⅡ", ["ファイアⅢ", "フレイムⅡ"]],
["フレイムⅠ", ["フレイムⅡ"]],
["ファイアⅢ", ["フレイムⅢ"]],
["フレイムⅡ", ["フレイムⅢ"]],
["フレイムⅢ", ["ニュークリアⅠ"]],
["アイスⅠ", ["アイスⅡ", "ブリザードⅠ"]],
["アイスⅡ", ["アイスⅢ", "ブリザードⅡ"]],
["ブリザードⅠ", ["ブリザードⅡ"]],
["アイスⅢ", ["ブリザードⅢ"]],
["ブリザードⅡ", ["ブリザードⅢ"]],
["ブリザードⅢ", ["ニュークリアⅠ"]],
["サンダーⅠ", ["サンダーⅡ", "スパークⅠ"]],
["サンダーⅡ", ["サンダーⅢ", "スパークⅡ"]],
["スパークⅠ", ["スパークⅡ"]],
["サンダーⅢ", ["スパークⅢ"]],
["スパークⅡ", ["スパークⅢ"]],
["スパークⅢ", ["ニュークリアⅠ"]],
["ニュークリアⅠ", ["ニュークリアⅡ"]],
["ニュークリアⅡ"],
],
"回復魔法": [
["キュアーⅠ", ["キュアーⅡ"]],
["キュアーⅡ", ["キュアーⅢ"]],
["キュアーⅢ", ["レイズⅠ"]],
["ヒールⅠ", ["ヒールⅡ", "リカバーⅠ"]],
["ヒールⅡ", ["ヒールⅢ"]],
["リカバーⅠ", ["リカバーⅡ"]],
["ヒールⅢ", ["リカバーⅢ"]],
["リカバーⅡ", ["リカバーⅢ"]],
["レイズⅠ", ["レイズⅡ"]],
["リカバーⅢ", ["レイズⅡ"]],
["レイズⅡ"],
],
"回復魔法2": [
["キュアーⅠ", ["キュアーⅡ"]],
["キュアーⅡ", ["キュアーⅢ"]],
["キュアーⅢ", ["レイズⅠ"]],
["ヒールⅠ", ["ヒールⅡ", "リカバーⅠ"]],
["ヒールⅡ", ["ヒールⅢ"]],
["リカバーⅠ", ["リカバーⅡ"]],
["ヒールⅢ", ["リカバーⅢ"]],
["リカバーⅡ", ["リカバーⅢ"]],
["レイズⅠ", ["レイズⅡ"]],
["リカバーⅢ", ["レイズⅡ"]],
["レイズⅡ"],
],
},
/*
レベルアップによってSPを獲得する場合、レベルごとに得られるSP値を以下の形式で設定します。
classId: 職業ID, default: デフォルト値, レベル: SP値, レベル: SP値, ...
下記の設定例では、レベル2では3SP取得、レベル3では4SP取得、それ以外のレベルでは5SPを獲得します。
*/
levelUpGainSp: [
{
classId: 1,
default: 5,
2: 3,
3: 4,
},
{
classId: 2,
default: 5,
2: 3,
3: 4,
},
{
classId: 3,
default: 5,
2: 3,
3: 4,
},
{
classId: 4,
default: 5,
2: 3,
3: 4,
},
{
classId: 5,
default: 5,
2: 3,
3: 4,
},
{
classId: 6,
default: 5,
2: 3,
3: 4,
},
{
classId: 7,
default: 5,
2: 3,
3: 4,
},
{
classId: 8,
default: 5,
2: 3,
3: 4,
},
]
// =============================================================
// ●設定項目はここまでです。
// =============================================================
};
};