paramdex-rs 0.1.0+build.2

Utilities for handling and deserializing a Paramdex / individual Paramdef XMLs for modifying Souls games
Documentation
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
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
<?xml version="1.0" encoding="utf-8"?>
<PARAMDEF XmlVersion="1">
  <ParamType>ATK_PARAM_ST</ParamType>
  <DataVersion>1</DataVersion>
  <BigEndian>False</BigEndian>
  <Unicode>False</Unicode>
  <FormatVersion>104</FormatVersion>
  <Fields>
    <Field Def="f32 hit0_Radius">
      <DisplayName>あたり0 半径</DisplayName>
      <Description>球、カプセルの半径</Description>
      <Minimum>0</Minimum>
      <Maximum>100</Maximum>
      <SortID>4000</SortID>
    </Field>
    <Field Def="f32 hit1_Radius">
      <DisplayName>あたり1 半径</DisplayName>
      <Description>球、カプセルの半径</Description>
      <Minimum>0</Minimum>
      <Maximum>100</Maximum>
      <SortID>4500</SortID>
    </Field>
    <Field Def="f32 hit2_Radius">
      <DisplayName>あたり2 半径</DisplayName>
      <Description>球、カプセルの半径</Description>
      <Minimum>0</Minimum>
      <Maximum>100</Maximum>
      <SortID>5000</SortID>
    </Field>
    <Field Def="f32 hit3_Radius">
      <DisplayName>あたり3 半径</DisplayName>
      <Description>球、カプセルの半径</Description>
      <Minimum>0</Minimum>
      <Maximum>100</Maximum>
      <SortID>5500</SortID>
    </Field>
    <Field Def="f32 knockbackDist">
      <DisplayName>ノックバック距離[m]</DisplayName>
      <Description>ノックバック距離[m]</Description>
      <Minimum>0</Minimum>
      <Maximum>99</Maximum>
      <SortID>5790</SortID>
    </Field>
    <Field Def="f32 hitStopTime">
      <DisplayName>ヒットストップ時間[s]</DisplayName>
      <Description>ヒットストップの停止時間[s]</Description>
      <Minimum>0</Minimum>
      <Maximum>10</Maximum>
      <SortID>6110</SortID>
    </Field>
    <Field Def="s32 spEffectId0 = -1">
      <DisplayName>特殊効果0</DisplayName>
      <Description>特殊効果パラメータで作成したIDを入れる</Description>
      <Minimum>-1</Minimum>
      <Maximum>999999</Maximum>
      <SortID>6300</SortID>
    </Field>
    <Field Def="s32 spEffectId1 = -1">
      <DisplayName>特殊効果1</DisplayName>
      <Description>特殊効果パラメータで作成したIDを入れる</Description>
      <Minimum>-1</Minimum>
      <Maximum>999999</Maximum>
      <SortID>6400</SortID>
    </Field>
    <Field Def="s32 spEffectId2 = -1">
      <DisplayName>特殊効果2</DisplayName>
      <Description>特殊効果パラメータで作成したIDを入れる</Description>
      <Minimum>-1</Minimum>
      <Maximum>999999</Maximum>
      <SortID>6500</SortID>
    </Field>
    <Field Def="s32 spEffectId3 = -1">
      <DisplayName>特殊効果3</DisplayName>
      <Description>特殊効果パラメータで作成したIDを入れる</Description>
      <Minimum>-1</Minimum>
      <Maximum>999999</Maximum>
      <SortID>6600</SortID>
    </Field>
    <Field Def="s32 spEffectId4 = -1">
      <DisplayName>特殊効果4</DisplayName>
      <Description>特殊効果パラメータで作成したIDを入れる</Description>
      <Minimum>-1</Minimum>
      <Maximum>999999</Maximum>
      <SortID>6700</SortID>
    </Field>
    <Field Def="s16 hit0_DmyPoly1">
      <DisplayName>あたり0 ダミポリ1</DisplayName>
      <Description>球、カプセル位置のダミポリ</Description>
      <Minimum>-1</Minimum>
      <Maximum>255</Maximum>
      <SortID>3800</SortID>
    </Field>
    <Field Def="s16 hit1_DmyPoly1">
      <DisplayName>あたり1 ダミポリ1</DisplayName>
      <Description>球、カプセル位置のダミポリ</Description>
      <Minimum>-1</Minimum>
      <Maximum>255</Maximum>
      <SortID>4300</SortID>
    </Field>
    <Field Def="s16 hit2_DmyPoly1">
      <DisplayName>あたり2 ダミポリ1</DisplayName>
      <Description>球、カプセル位置のダミポリ</Description>
      <Minimum>-1</Minimum>
      <Maximum>255</Maximum>
      <SortID>4800</SortID>
    </Field>
    <Field Def="s16 hit3_DmyPoly1">
      <DisplayName>あたり3 ダミポリ1</DisplayName>
      <Description>球、カプセル位置のダミポリ</Description>
      <Minimum>-1</Minimum>
      <Maximum>255</Maximum>
      <SortID>5300</SortID>
    </Field>
    <Field Def="s16 hit0_DmyPoly2">
      <DisplayName>あたり0 ダミポリ2</DisplayName>
      <Description>カプセルのもうひとつの点の位置ダミポリ。-1だと球になる</Description>
      <Minimum>-1</Minimum>
      <Maximum>255</Maximum>
      <SortID>3900</SortID>
    </Field>
    <Field Def="s16 hit1_DmyPoly2">
      <DisplayName>あたり1 ダミポリ2</DisplayName>
      <Description>カプセルのもうひとつの点の位置ダミポリ。-1だと球になる</Description>
      <Minimum>-1</Minimum>
      <Maximum>255</Maximum>
      <SortID>4400</SortID>
    </Field>
    <Field Def="s16 hit2_DmyPoly2">
      <DisplayName>あたり2 ダミポリ2</DisplayName>
      <Description>カプセルのもうひとつの点の位置ダミポリ。-1だと球になる</Description>
      <Minimum>-1</Minimum>
      <Maximum>255</Maximum>
      <SortID>4900</SortID>
    </Field>
    <Field Def="s16 hit3_DmyPoly2">
      <DisplayName>あたり3 ダミポリ2</DisplayName>
      <Description>カプセルのもうひとつの点の位置ダミポリ。-1だと球になる</Description>
      <Minimum>-1</Minimum>
      <Maximum>255</Maximum>
      <SortID>5400</SortID>
    </Field>
    <Field Def="u16 blowingCorrection">
      <DisplayName>吹き飛ばし補正値</DisplayName>
      <Description>吹き飛ばす時の補正値</Description>
      <Maximum>60000</Maximum>
      <SortID>500</SortID>
    </Field>
    <Field Def="u16 atkPhysCorrection">
      <DisplayName>物理攻撃力補正値</DisplayName>
      <Description>PCのみ。物理攻撃力基本値に掛ける倍率</Description>
      <Maximum>60000</Maximum>
      <SortID>2300</SortID>
    </Field>
    <Field Def="u16 atkMagCorrection">
      <DisplayName>魔法攻撃力補正値</DisplayName>
      <Description>PCのみ。魔法攻撃力に掛ける倍率(弓の場合は、飛び道具を補正)</Description>
      <Maximum>60000</Maximum>
      <SortID>2400</SortID>
    </Field>
    <Field Def="u16 atkFireCorrection">
      <DisplayName>炎攻撃力補正値</DisplayName>
      <Description>PCのみ。炎攻撃力に掛ける倍率(弓の場合は、飛び道具を補正)</Description>
      <Maximum>60000</Maximum>
      <SortID>2500</SortID>
    </Field>
    <Field Def="u16 atkThunCorrection">
      <DisplayName>電撃攻撃力補正値</DisplayName>
      <Description>PCのみ。電撃攻撃力に掛ける倍率(弓の場合は、飛び道具を補正)</Description>
      <Maximum>60000</Maximum>
      <SortID>2510</SortID>
    </Field>
    <Field Def="u16 atkStamCorrection">
      <DisplayName>スタミナ攻撃力補正値</DisplayName>
      <Description>PCのみ。スタミナ攻撃力に掛ける倍率</Description>
      <Maximum>60000</Maximum>
      <SortID>2600</SortID>
    </Field>
    <Field Def="u16 guardAtkRateCorrection">
      <DisplayName>はじき攻撃力補正値</DisplayName>
      <Description>PCのみ。1のみ</Description>
      <Maximum>60000</Maximum>
      <SortID>2900</SortID>
    </Field>
    <Field Def="u16 guardBreakCorrection">
      <DisplayName>はじき防御力補正値</DisplayName>
      <Description>PCのみ。攻撃のはじかれ基本値に掛ける倍率</Description>
      <Maximum>60000</Maximum>
      <SortID>3000</SortID>
    </Field>
    <Field Def="u16 atkThrowEscapeCorrection">
      <DisplayName>投げ抜け攻撃力補正値</DisplayName>
      <Description>投げ抜け攻撃に対する武器補正値</Description>
      <Maximum>60000</Maximum>
      <SortID>3630</SortID>
    </Field>
    <Field Def="u16 atkSuperArmorCorrection">
      <DisplayName>SA攻撃力補正値</DisplayName>
      <Description>PCのみ。武器に設定された【基本値】にかける補正値</Description>
      <Maximum>60000</Maximum>
      <SortID>3110</SortID>
    </Field>
    <Field Def="u16 atkPhys">
      <DisplayName>物理攻撃力</DisplayName>
      <Description>NPCのみ。物理攻撃の基本ダメージ</Description>
      <Maximum>9999</Maximum>
      <SortID>600</SortID>
    </Field>
    <Field Def="u16 atkMag">
      <DisplayName>魔法攻撃力</DisplayName>
      <Description>NPCのみ。魔法攻撃の追加ダメージ</Description>
      <Maximum>9999</Maximum>
      <SortID>700</SortID>
    </Field>
    <Field Def="u16 atkFire">
      <DisplayName>炎攻撃力</DisplayName>
      <Description>NPCのみ。炎攻撃の追加ダメージ</Description>
      <Maximum>9999</Maximum>
      <SortID>800</SortID>
    </Field>
    <Field Def="u16 atkThun">
      <DisplayName>電撃攻撃力</DisplayName>
      <Description>NPCのみ。電撃攻撃の追加ダメージ</Description>
      <Maximum>9999</Maximum>
      <SortID>810</SortID>
    </Field>
    <Field Def="u16 atkStam">
      <DisplayName>スタミナ攻撃力</DisplayName>
      <Description>NPCのみ。敵(プレイヤー)のスタミナに対するダメージ量</Description>
      <Maximum>999</Maximum>
      <SortID>900</SortID>
    </Field>
    <Field Def="u16 guardAtkRate">
      <DisplayName>はじき攻撃力</DisplayName>
      <Description>NPCのみ。はじき値</Description>
      <Maximum>999</Maximum>
      <SortID>1200</SortID>
    </Field>
    <Field Def="u16 guardBreakRate">
      <DisplayName>はじき防御力</DisplayName>
      <Description>NPCのみ。攻撃がはじかれるかどうかの判定に利用する値</Description>
      <Maximum>999</Maximum>
      <SortID>1300</SortID>
    </Field>
    <Field Def="u16 atkSuperArmor">
      <DisplayName>SA攻撃力</DisplayName>
      <Description>NPCのみ。SAブレイク計算式に利用すする値</Description>
      <Maximum>999</Maximum>
      <SortID>1310</SortID>
    </Field>
    <Field Def="u16 atkThrowEscape">
      <DisplayName>投げ抜け攻撃力</DisplayName>
      <Description>投げ抜け攻撃力</Description>
      <Maximum>999</Maximum>
      <SortID>3640</SortID>
    </Field>
    <Field Def="u16 atkObj">
      <DisplayName>オブジェ攻撃力</DisplayName>
      <Description>OBJに対する攻撃力</Description>
      <Maximum>999</Maximum>
      <SortID>2200</SortID>
    </Field>
    <Field Def="s16 guardStaminaCutRate">
      <DisplayName>ガード時スタミナカット率補正</DisplayName>
      <Description>武器パラメータ、NPCパラメータに設定されている【ガード時スタミナカット率】を補正する</Description>
      <Minimum>-100</Minimum>
      <Maximum>9999</Maximum>
      <SortID>3200</SortID>
    </Field>
    <Field Def="s16 guardRate">
      <DisplayName>ガード倍率</DisplayName>
      <Description>NPC、武器パラメータで設定してあるガード性能を一律で補正を掛ける0で、1倍/100で、2倍/-100で、0 にパラメータが増減するようにするガード倍率 = (ガード倍率/100 + 1)</Description>
      <Minimum>-100</Minimum>
      <Maximum>999</Maximum>
      <SortID>3500</SortID>
    </Field>
    <Field Def="u16 throwTypeId">
      <DisplayName>投げタイプID</DisplayName>
      <Description>投げパラメータと紐付けされているID</Description>
      <Maximum>9999</Maximum>
      <SortID>3620</SortID>
    </Field>
    <Field Def="u8 hit0_hitType">
      <DisplayName>あたり0 部位</DisplayName>
      <Enum>ATK_PARAM_HIT_TYPE</Enum>
      <Description>あたり部位</Description>
      <SortID>4100</SortID>
    </Field>
    <Field Def="u8 hit1_hitType">
      <DisplayName>あたり1 部位</DisplayName>
      <Enum>ATK_PARAM_HIT_TYPE</Enum>
      <Description>あたり部位</Description>
      <SortID>4600</SortID>
    </Field>
    <Field Def="u8 hit2_hitType">
      <DisplayName>あたり2 部位</DisplayName>
      <Enum>ATK_PARAM_HIT_TYPE</Enum>
      <Description>あたり部位</Description>
      <SortID>5100</SortID>
    </Field>
    <Field Def="u8 hit3_hitType">
      <DisplayName>あたり3 部位</DisplayName>
      <Enum>ATK_PARAM_HIT_TYPE</Enum>
      <Description>あたり部位</Description>
      <SortID>5600</SortID>
    </Field>
    <Field Def="u8 hti0_Priority">
      <DisplayName>あたり0 優先順位</DisplayName>
      <Description>優先度。同時に2つ以上のあたりがあたった場合、優先度が高いほうを採用する。</Description>
      <EditFlags>Wrap, Lock</EditFlags>
      <SortID>4200</SortID>
    </Field>
    <Field Def="u8 hti1_Priority">
      <DisplayName>あたり1 優先順位</DisplayName>
      <Description>優先度。同時に2つ以上のあたりがあたった場合、優先度が高いほうを採用する。</Description>
      <EditFlags>Wrap, Lock</EditFlags>
      <SortID>4700</SortID>
    </Field>
    <Field Def="u8 hti2_Priority">
      <DisplayName>あたり2 優先順位</DisplayName>
      <Description>優先度。同時に2つ以上のあたりがあたった場合、優先度が高いほうを採用する。</Description>
      <EditFlags>Wrap, Lock</EditFlags>
      <SortID>5200</SortID>
    </Field>
    <Field Def="u8 hti3_Priority">
      <DisplayName>あたり3 優先順位</DisplayName>
      <Description>優先度。同時に2つ以上のあたりがあたった場合、優先度が高いほうを採用する。</Description>
      <EditFlags>Wrap, Lock</EditFlags>
      <SortID>5700</SortID>
    </Field>
    <Field Def="u8 dmgLevel">
      <DisplayName>ダメージレベル</DisplayName>
      <Description>攻撃したとき、敵にどのダメージモーションを再生するか?を決める.</Description>
      <Maximum>100</Maximum>
      <SortID>100</SortID>
    </Field>
    <Field Def="u8 mapHitType">
      <DisplayName>マップあたり参照</DisplayName>
      <Enum>ATK_PARAM_MAP_HIT</Enum>
      <Description>攻撃あたりが、どのマップあたりを見るか?を設定</Description>
      <SortID>300</SortID>
    </Field>
    <Field Def="s8 guardCutCancelRate">
      <DisplayName>ガードカット率無効化倍率</DisplayName>
      <Description>ガードカット率無効化倍率(-100~100) →0のとき通常/-100で完全無効化/100で相手の防御効果倍増  →-50とすれば、100%カットの盾が、50%カットになります </Description>
      <Minimum>-100</Minimum>
      <Maximum>100</Maximum>
      <SortID>1400</SortID>
    </Field>
    <Field Def="u8 atkAttribute">
      <DisplayName>物理属性</DisplayName>
      <Enum>ATKPARAM_ATKATTR_TYPE</Enum>
      <Description>攻撃に設定する物理属性</Description>
      <SortID>1510</SortID>
    </Field>
    <Field Def="u8 spAttribute">
      <DisplayName>特殊属性</DisplayName>
      <Enum>ATKPARAM_SPATTR_TYPE</Enum>
      <Description>攻撃に設定する特殊属性</Description>
      <SortID>1520</SortID>
    </Field>
    <Field Def="u8 atkType">
      <DisplayName>攻撃属性[SFX/SE]</DisplayName>
      <Enum>BEHAVIOR_ATK_TYPE</Enum>
      <Description>攻撃時のSFX/SEを指定(属性、材質、サイズで1セット)</Description>
      <SortID>1600</SortID>
    </Field>
    <Field Def="u8 atkMaterial">
      <DisplayName>攻撃材質[SFX/SE]</DisplayName>
      <Enum>WEP_MATERIAL_ATK</Enum>
      <Description>攻撃時のSFX/SEを指定(属性、材質、サイズで1セット)</Description>
      <SortID>1700</SortID>
    </Field>
    <Field Def="u8 atkSize">
      <DisplayName>攻撃サイズ[SFX/SE]</DisplayName>
      <Enum>BEHAVIOR_ATK_SIZE</Enum>
      <Description>攻撃時のSFX/SEを指定(予備だが使用されているので、必ず空欄or小を設定すること)</Description>
      <SortID>1750</SortID>
    </Field>
    <Field Def="u8 defMaterial">
      <DisplayName>防御材質[SE]</DisplayName>
      <Enum>WEP_MATERIAL_DEF</Enum>
      <Description>ガード時のSEに使用</Description>
      <SortID>2000</SortID>
    </Field>
    <Field Def="u8 defSfxMaterial">
      <DisplayName>防御材質[SFX]</DisplayName>
      <Enum>WEP_MATERIAL_DEF_SFX</Enum>
      <Description>ガード時のSFXに使用.</Description>
      <SortID>1800</SortID>
    </Field>
    <Field Def="u8 hitSourceType">
      <DisplayName>あたり発生源</DisplayName>
      <Enum>ATK_PARAM_HIT_SOURCE</Enum>
      <Description>攻撃あたりのダミポリIDをどこから取ってくるか?を指定する</Description>
      <SortID>3700</SortID>
    </Field>
    <Field Def="u8 throwFlag">
      <DisplayName>投げ</DisplayName>
      <Enum>ATK_PATAM_THROWFLAG_TYPE</Enum>
      <Description>投げ情報に用いるフラグ</Description>
      <SortID>3610</SortID>
    </Field>
    <Field Def="u8 disableGuard:1">
      <DisplayName>ガード不可フラグ</DisplayName>
      <Enum>ATK_PARAM_BOOL</Enum>
      <Description>1の場合、ガード側のガードを無視して、ダメージレベルを入れる</Description>
      <Maximum>1</Maximum>
      <SortID>3300</SortID>
    </Field>
    <Field Def="u8 disableStaminaAttack:1">
      <DisplayName>スタミナ減らない</DisplayName>
      <Enum>ATK_PARAM_BOOL</Enum>
      <Description>スタミナ攻撃力による「崩され判定」は行うが、実際にスタミナは減らさない</Description>
      <Maximum>1</Maximum>
      <SortID>3400</SortID>
    </Field>
    <Field Def="u8 disableHitSpEffect:1">
      <DisplayName>ヒット時特殊効果無効</DisplayName>
      <Enum>ATK_PARAM_BOOL</Enum>
      <Description>攻撃ヒットしたときの特殊効果を無効にします。SCEバグ対策</Description>
      <Maximum>1</Maximum>
      <SortID>3600</SortID>
    </Field>
    <Field Def="u8 IgnoreNotifyMissSwingForAI:1">
      <DisplayName>AIに空振り通知しない</DisplayName>
      <Enum>ATK_PARAM_BOOL</Enum>
      <Description>AIに空振り通知しない</Description>
      <Maximum>1</Maximum>
      <SortID>6200</SortID>
    </Field>
    <Field Def="u8 repeatHitSfx:1">
      <DisplayName>HIT時にSFXを何度も出すか</DisplayName>
      <Enum>ATK_PARAM_BOOL</Enum>
      <Description>敵専用:壁Hit時のSFXが連続で発生するか</Description>
      <Maximum>1</Maximum>
      <SortID>2010</SortID>
    </Field>
    <Field Def="u8 isArrowAtk:1">
      <DisplayName>矢攻撃か</DisplayName>
      <Enum>ATK_PARAM_BOOL</Enum>
      <Description>部位ダメージ判定に使用する。</Description>
      <Maximum>1</Maximum>
      <SortID>310</SortID>
    </Field>
    <Field Def="u8 isGhostAtk:1">
      <DisplayName>霊体攻撃か</DisplayName>
      <Enum>ATK_PARAM_BOOL</Enum>
      <Description>霊体ダメージ判定に使用。</Description>
      <Maximum>1</Maximum>
      <SortID>320</SortID>
    </Field>
    <Field Def="u8 isDisableNoDamage:1">
      <DisplayName>無敵無効か</DisplayName>
      <Enum>ATK_PARAM_BOOL</Enum>
      <Description>ステップ等の無敵効果を無視します、TAEの完全無敵は無視できません。</Description>
      <Maximum>1</Maximum>
      <SortID>330</SortID>
    </Field>
    <Field Def="dummy8 pad[1]">
      <Description>pad</Description>
      <DisplayFormat>%d</DisplayFormat>
      <EditFlags>Wrap</EditFlags>
      <Maximum>1</Maximum>
      <Increment>1</Increment>
      <SortID>6701</SortID>
    </Field>
  </Fields>
</PARAMDEF>