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
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
<?xml version="1.0" encoding="utf-8"?>
<PARAMDEF XmlVersion="1">
  <ParamType>BULLET_PARAM_ST</ParamType>
  <DataVersion>2</DataVersion>
  <BigEndian>False</BigEndian>
  <Unicode>True</Unicode>
  <FormatVersion>201</FormatVersion>
  <Fields>
    <Field Def="s32 atkId_Bullet = -1">
      <DisplayName>攻撃ID</DisplayName>
      <Description>攻撃パラメータのIDをそれぞれ登録する.→攻撃タイプ/攻撃材質/物理攻撃力/魔法攻撃力/スタミナ攻撃力/ノックバック距離.</Description>
      <Minimum>-1</Minimum>
      <Maximum>1E+08</Maximum>
      <SortID>1000</SortID>
    </Field>
    <Field Def="s32 sfxId_Bullet = -1">
      <DisplayName>SFXID【弾】</DisplayName>
      <Description>SFX IDを入れる。</Description>
      <Minimum>-1</Minimum>
      <Maximum>1E+08</Maximum>
      <SortID>2000</SortID>
    </Field>
    <Field Def="s32 sfxId_Hit = -1">
      <DisplayName>SFXID【着弾】</DisplayName>
      <Description>着弾SFXID。-1は発生しない。</Description>
      <Minimum>-1</Minimum>
      <Maximum>1E+08</Maximum>
      <SortID>3000</SortID>
    </Field>
    <Field Def="s32 sfxId_Flick = -1">
      <DisplayName>SFXID【はじき時】</DisplayName>
      <Description>はじき時SFXID。-1は発生しない。</Description>
      <Minimum>-1</Minimum>
      <Maximum>1E+08</Maximum>
      <SortID>4000</SortID>
    </Field>
    <Field Def="f32 life = -1">
      <DisplayName>寿命[s]</DisplayName>
      <Description>飛び道具が存在し続けられる時間(-1なら無限).</Description>
      <Minimum>-1</Minimum>
      <Maximum>99999</Maximum>
      <SortID>29000</SortID>
    </Field>
    <Field Def="f32 dist">
      <DisplayName>射程距離[m]</DisplayName>
      <Description>減衰が開始される距離(実際の飛距離ではない).</Description>
      <Minimum>0</Minimum>
      <Maximum>99999</Maximum>
      <Increment>0.1</Increment>
      <SortID>33000</SortID>
    </Field>
    <Field Def="f32 shootInterval">
      <DisplayName>発射間隔[s]</DisplayName>
      <Description>飛び道具を何秒間隔で発射するかを指定.</Description>
      <Minimum>0</Minimum>
      <Maximum>99</Maximum>
      <SortID>28000</SortID>
    </Field>
    <Field Def="f32 gravityInRange">
      <DisplayName>射程距離内重力[m/s^2]</DisplayName>
      <Description>射程距離内での下向きにかかる重力.</Description>
      <Minimum>-999</Minimum>
      <Maximum>999</Maximum>
      <Increment>0.1</Increment>
      <SortID>34000</SortID>
    </Field>
    <Field Def="f32 gravityOutRange">
      <DisplayName>射程距離外重力[m/s^2]</DisplayName>
      <Description>減衰がはじまったときの下向きにかかる重力(ポトンと落ちる感じを表現.</Description>
      <Minimum>-999</Minimum>
      <Maximum>999</Maximum>
      <Increment>0.1</Increment>
      <SortID>35000</SortID>
    </Field>
    <Field Def="f32 hormingStopRange">
      <DisplayName>誘導停止距離[m]</DisplayName>
      <Description>誘導を停止するターゲットとの距離。誘導弾で当たり過ぎないようにするパラメータ。</Description>
      <Minimum>0</Minimum>
      <Maximum>999999</Maximum>
      <Increment>0.1</Increment>
      <SortID>45000</SortID>
    </Field>
    <Field Def="f32 initVellocity">
      <DisplayName>初速[m/s]</DisplayName>
      <Description>SFXの初速度.</Description>
      <Minimum>0</Minimum>
      <Maximum>999</Maximum>
      <Increment>0.1</Increment>
      <SortID>36000</SortID>
    </Field>
    <Field Def="f32 accelInRange">
      <DisplayName>射程距離内加速度[m/s^2]</DisplayName>
      <Description>SFXの射程内の加速度.</Description>
      <Minimum>-999</Minimum>
      <Maximum>999</Maximum>
      <Increment>0.1</Increment>
      <SortID>40000</SortID>
    </Field>
    <Field Def="f32 accelOutRange">
      <DisplayName>射程距離外加速度[m/s^2]</DisplayName>
      <Description>SFXが射程距離外に出たときの加速度.</Description>
      <Minimum>-999</Minimum>
      <Maximum>999</Maximum>
      <Increment>0.1</Increment>
      <SortID>41000</SortID>
    </Field>
    <Field Def="f32 maxVellocity">
      <DisplayName>最高速度[m/s]</DisplayName>
      <Description>最高速度.</Description>
      <Minimum>0</Minimum>
      <Maximum>999</Maximum>
      <Increment>0.1</Increment>
      <SortID>38000</SortID>
    </Field>
    <Field Def="f32 minVellocity">
      <DisplayName>最低速度[m/s]</DisplayName>
      <Description>最低保証速度.</Description>
      <Minimum>0</Minimum>
      <Maximum>999</Maximum>
      <Increment>0.1</Increment>
      <SortID>37000</SortID>
    </Field>
    <Field Def="f32 accelTime">
      <DisplayName>加速開始時間[s]</DisplayName>
      <Description>この時間までは、加速しない(ロケット弾みたいな魔法を撃つことができるようにしておく).</Description>
      <Minimum>0</Minimum>
      <Maximum>99</Maximum>
      <SortID>39000</SortID>
    </Field>
    <Field Def="f32 homingBeginDist">
      <DisplayName>誘導開始距離[m]</DisplayName>
      <Description>何m進んだ地点から誘導を開始するか.</Description>
      <Minimum>0</Minimum>
      <Maximum>999</Maximum>
      <Increment>0.1</Increment>
      <SortID>44000</SortID>
    </Field>
    <Field Def="f32 hitRadius = -1">
      <DisplayName>初期弾半径[m]</DisplayName>
      <Description>当たり球の半径を設定する.</Description>
      <Minimum>-1</Minimum>
      <Maximum>999</Maximum>
      <SortID>30000</SortID>
    </Field>
    <Field Def="f32 hitRadiusMax = -1">
      <DisplayName>最大弾半径[m]</DisplayName>
      <Description>あたり球の最大半径(-1の場合、初期半径と同じにする/デフォルト)</Description>
      <Minimum>-1</Minimum>
      <Maximum>999</Maximum>
      <SortID>31000</SortID>
    </Field>
    <Field Def="f32 spreadTime">
      <DisplayName>範囲拡散時間[s]</DisplayName>
      <Description>範囲半径が細大にまで広がる時間.</Description>
      <Minimum>0</Minimum>
      <Maximum>99</Maximum>
      <SortID>32000</SortID>
    </Field>
    <Field Def="f32 expDelay">
      <DisplayName>発動遅延[s]</DisplayName>
      <Description>着弾後、爆発までの時間(0の場合はすぐに爆発).</Description>
      <Minimum>0</Minimum>
      <Maximum>99</Maximum>
      <SortID>59000</SortID>
    </Field>
    <Field Def="f32 hormingOffsetRange">
      <DisplayName>誘導ずらし量[m]</DisplayName>
      <Description>0だと正確。射撃時にXYZ各成分を、この量だけずらして狙うようにする。</Description>
      <Minimum>0</Minimum>
      <Maximum>999</Maximum>
      <Increment>0.1</Increment>
      <SortID>46000</SortID>
    </Field>
    <Field Def="f32 dmgHitRecordLifeTime">
      <DisplayName>ダメージヒット履歴の生存時間[s]</DisplayName>
      <Description>ダメージヒット履歴の生存時間[sec](&lt;=0.0f:無期限)</Description>
      <Minimum>0</Minimum>
      <Maximum>9999</Maximum>
      <Increment>0.1</Increment>
      <SortID>17000</SortID>
    </Field>
    <Field Def="f32 externalForce">
      <DisplayName>外力[m/s^2]</DisplayName>
      <Description>射撃時の方向にかかる外力.(Y軸は抜いている)</Description>
      <Minimum>0</Minimum>
      <Maximum>10</Maximum>
      <Increment>0.001</Increment>
      <SortID>35500</SortID>
    </Field>
    <Field Def="s32 spEffectIDForShooter = -1">
      <DisplayName>射撃した人にかける特殊効果</DisplayName>
      <Description>射撃した人にかける特殊効果</Description>
      <Minimum>-1</Minimum>
      <Maximum>1E+08</Maximum>
      <SortID>47000</SortID>
    </Field>
    <Field Def="s32 autoSearchNPCThinkID">
      <DisplayName>ファンネルNPC思考ID</DisplayName>
      <Description>ファンネルがターゲットの検索使用するパラメータ</Description>
      <Minimum>-1</Minimum>
      <Maximum>999999</Maximum>
      <SortID>60000</SortID>
    </Field>
    <Field Def="s32 HitBulletID = -1">
      <DisplayName>発生弾丸ID</DisplayName>
      <Description>弾丸パラメータから、新しく弾丸パラメータを発生させるときにIDを指定する</Description>
      <Minimum>-1</Minimum>
      <Maximum>1E+08</Maximum>
      <SortID>11000</SortID>
    </Field>
    <Field Def="s32 spEffectId0 = -1">
      <DisplayName>特殊効果ID0</DisplayName>
      <Description>特殊効果パラメータのIDをそれぞれ登録する.→特殊効果全般.</Description>
      <Minimum>-1</Minimum>
      <Maximum>1E+08</Maximum>
      <SortID>48000</SortID>
    </Field>
    <Field Def="s32 spEffectId1 = -1">
      <DisplayName>特殊効果ID1</DisplayName>
      <Description>特殊効果パラメータのIDをそれぞれ登録する.→特殊効果全般.</Description>
      <Minimum>-1</Minimum>
      <Maximum>1E+08</Maximum>
      <SortID>49000</SortID>
    </Field>
    <Field Def="s32 spEffectId2 = -1">
      <DisplayName>特殊効果ID2</DisplayName>
      <Description>特殊効果パラメータのIDをそれぞれ登録する.→特殊効果全般.</Description>
      <Minimum>-1</Minimum>
      <Maximum>1E+08</Maximum>
      <SortID>50000</SortID>
    </Field>
    <Field Def="s32 spEffectId3 = -1">
      <DisplayName>特殊効果ID3</DisplayName>
      <Description>特殊効果パラメータのIDをそれぞれ登録する.→特殊効果全般.</Description>
      <Minimum>-1</Minimum>
      <Maximum>1E+08</Maximum>
      <SortID>51000</SortID>
    </Field>
    <Field Def="s32 spEffectId4 = -1">
      <DisplayName>特殊効果ID4</DisplayName>
      <Description>特殊効果パラメータのIDをそれぞれ登録する.→特殊効果全般.</Description>
      <Minimum>-1</Minimum>
      <Maximum>1E+08</Maximum>
      <SortID>52000</SortID>
    </Field>
    <Field Def="u16 numShoot">
      <DisplayName>発射数</DisplayName>
      <Description>一度に発射する飛び道具の数.</Description>
      <Maximum>99</Maximum>
      <SortID>23000</SortID>
    </Field>
    <Field Def="s16 homingAngle">
      <DisplayName>誘導性能[deg/s]</DisplayName>
      <Description>1秒間に何度まで補正するか?.</Description>
      <Minimum>-360</Minimum>
      <Maximum>360</Maximum>
      <SortID>43000</SortID>
    </Field>
    <Field Def="s16 shootAngle">
      <DisplayName>発射角度[deg]</DisplayName>
      <Description>飛び道具を前方何度に向かって発射するかを指定.</Description>
      <Minimum>-360</Minimum>
      <Maximum>360</Maximum>
      <SortID>24000</SortID>
    </Field>
    <Field Def="s16 shootAngleInterval">
      <DisplayName>発射角度間隔[deg]</DisplayName>
      <Description>飛び道具を複数発射する場合、何度間隔で発射するかを指定.(Y軸)</Description>
      <Minimum>-360</Minimum>
      <Maximum>360</Maximum>
      <SortID>25000</SortID>
    </Field>
    <Field Def="s16 shootAngleXInterval">
      <DisplayName>発射仰角間隔[deg]</DisplayName>
      <Description>飛び道具を複数発射する場合、何度間隔で発射するかを指定.(X軸)</Description>
      <Minimum>-360</Minimum>
      <Maximum>360</Maximum>
      <SortID>27000</SortID>
    </Field>
    <Field Def="s8 damageDamp">
      <DisplayName>物理攻撃力減衰率[%/s]</DisplayName>
      <Description>減衰距離以降、1秒間に減少する補正値.</Description>
      <Minimum>0</Minimum>
      <Maximum>100</Maximum>
      <SortID>53000</SortID>
    </Field>
    <Field Def="s8 spelDamageDamp">
      <DisplayName>魔法攻撃力減衰率[%/s]</DisplayName>
      <Minimum>0</Minimum>
      <Maximum>100</Maximum>
      <SortID>54000</SortID>
    </Field>
    <Field Def="s8 fireDamageDamp">
      <DisplayName>炎攻撃力減衰率[%/s]</DisplayName>
      <Minimum>0</Minimum>
      <Maximum>100</Maximum>
      <SortID>55000</SortID>
    </Field>
    <Field Def="s8 thunderDamageDamp">
      <DisplayName>電撃攻撃力減衰率[%/s]</DisplayName>
      <Minimum>0</Minimum>
      <Maximum>100</Maximum>
      <SortID>56000</SortID>
    </Field>
    <Field Def="s8 staminaDamp">
      <DisplayName>スタミナダメージ減衰率[%/s]</DisplayName>
      <Description>減衰距離以降、1秒間に減少する補正値.</Description>
      <Minimum>0</Minimum>
      <Maximum>100</Maximum>
      <SortID>57000</SortID>
    </Field>
    <Field Def="s8 knockbackDamp">
      <DisplayName>ノックバック減衰率[%/s]</DisplayName>
      <Description>減衰距離以降、1秒間に減少する補正値.</Description>
      <Minimum>0</Minimum>
      <Maximum>100</Maximum>
      <SortID>58000</SortID>
    </Field>
    <Field Def="s8 shootAngleXZ">
      <DisplayName>発射仰角[deg]</DisplayName>
      <Description>水平方向からの追加仰角。</Description>
      <Minimum>-90</Minimum>
      <Maximum>90</Maximum>
      <SortID>26000</SortID>
    </Field>
    <Field Def="u8 lockShootLimitAng">
      <DisplayName>ロック方向制限角度</DisplayName>
      <Description>ロック方向を向かせるときの制限角度</Description>
      <Maximum>180</Maximum>
      <SortID>42000</SortID>
    </Field>
    <Field Def="u8 isPenetrate">
      <DisplayName>キャラ・OBJを貫通?</DisplayName>
      <Description>PC、NPC、OBJに当たったときに、寿命まで消滅しないかどうか?を設定</Description>
      <Maximum>100</Maximum>
      <SortID>19000</SortID>
    </Field>
    <Field Def="u8 prevVelocityDirRate">
      <DisplayName>前回の移動方向加算率[%]</DisplayName>
      <Description>滑る弾が壁にヒット時に前回の移動方向を今の方向へ加算する比率</Description>
      <Maximum>100</Maximum>
      <SortID>46500</SortID>
    </Field>
    <Field Def="u8 atkAttribute">
      <DisplayName>物理属性</DisplayName>
      <Enum>ATKPARAM_ATKATTR_TYPE</Enum>
      <Description>弾丸に設定する物理属性を設定</Description>
      <SortID>6000</SortID>
    </Field>
    <Field Def="u8 spAttribute">
      <DisplayName>特殊属性</DisplayName>
      <Enum>ATKPARAM_SPATTR_TYPE</Enum>
      <Description>弾丸に設定する特殊属性を設定</Description>
      <SortID>7000</SortID>
    </Field>
    <Field Def="u8 Material_AttackType">
      <DisplayName>SFX材質 攻撃タイプ</DisplayName>
      <Enum>ATK_TYPE</Enum>
      <Description>攻撃属性が何かを指定する</Description>
      <SortID>8000</SortID>
    </Field>
    <Field Def="u8 Material_AttackMaterial">
      <DisplayName>SFX材質 攻撃材質</DisplayName>
      <Enum>WEP_MATERIAL_ATK</Enum>
      <Description>攻撃時のSFX/SEに使用</Description>
      <SortID>9000</SortID>
    </Field>
    <Field Def="u8 Material_Size">
      <DisplayName>SFX材質 サイズ</DisplayName>
      <Enum>ATK_SIZE</Enum>
      <Description>攻撃時のSFX/SEに使用(予備/デフォルト0)</Description>
      <SortID>10000</SortID>
    </Field>
    <Field Def="u8 launchConditionType">
      <DisplayName>発生条件</DisplayName>
      <Enum>BULLET_LAUNCH_CONDITION_TYPE</Enum>
      <Description>着弾・寿命消滅時に弾を発生させるか判定する条件を指定</Description>
      <SortID>12000</SortID>
    </Field>
    <Field Def="u8 FollowType:3">
      <DisplayName>追従タイプ</DisplayName>
      <Enum>BULLET_FOLLOW_TYPE</Enum>
      <Description>追従タイプ。「追従しない」がデフォルト。</Description>
      <SortID>14000</SortID>
    </Field>
    <Field Def="u8 EmittePosType:3">
      <DisplayName>発生源タイプ</DisplayName>
      <Enum>BULLET_EMITTE_POS_TYPE</Enum>
      <Description>発生源タイプ。ダミポリからが通常。(メテオを判定するために導入)</Description>
      <Maximum>7</Maximum>
      <SortID>13000</SortID>
    </Field>
    <Field Def="u8 isAttackSFX:1">
      <DisplayName>刺さったままになるか</DisplayName>
      <Enum>ON_OFF</Enum>
      <Description>矢などの弾丸が、キャラクターに刺さったままになるかどうかを設定する</Description>
      <Maximum>1</Maximum>
      <SortID>5000</SortID>
    </Field>
    <Field Def="u8 isEndlessHit:1">
      <DisplayName>あたり続けるか?</DisplayName>
      <Enum>ON_OFF</Enum>
      <Description>あたり続けるか?</Description>
      <Maximum>1</Maximum>
      <SortID>15000</SortID>
    </Field>
    <Field Def="u8 isPenetrateMap:1">
      <DisplayName>マップを貫通?</DisplayName>
      <Enum>ON_OFF</Enum>
      <Description>マップを貫通するか?</Description>
      <Maximum>1</Maximum>
      <SortID>20000</SortID>
    </Field>
    <Field Def="u8 isHitBothTeam:1">
      <DisplayName>敵味方共にあたる?</DisplayName>
      <Enum>ON_OFF</Enum>
      <Description>敵味方共にあたるか?(徘徊ゴーストにはあたらない)</Description>
      <Maximum>1</Maximum>
      <SortID>21000</SortID>
    </Field>
    <Field Def="u8 isUseSharedHitList:1">
      <DisplayName>ヒットリストを共有するか?</DisplayName>
      <Enum>ON_OFF</Enum>
      <Description>ヒットリストを共有するかを指定</Description>
      <Maximum>1</Maximum>
      <SortID>16000</SortID>
    </Field>
    <Field Def="u8 isUseMultiDmyPolyIfPlace:1">
      <DisplayName>複数のダミポリを使うか?</DisplayName>
      <Enum>ON_OFF</Enum>
      <Description>弾配置時に同一ダミポリIDを複数使うか?</Description>
      <Maximum>1</Maximum>
      <SortID>22000</SortID>
    </Field>
    <Field Def="u8 attachEffectType:2">
      <DisplayName>アタッチ効果タイプ</DisplayName>
      <Enum>BULLET_ATTACH_EFFECT_TYPE</Enum>
      <Description>アタッチする効果タイプ</Description>
      <Maximum>2</Maximum>
      <SortID>61000</SortID>
    </Field>
    <Field Def="u8 isHitForceMagic:1">
      <DisplayName>フォース魔法に当たるか</DisplayName>
      <Description>フォース魔法に当たるか</Description>
      <Maximum>1</Maximum>
      <SortID>62000</SortID>
    </Field>
    <Field Def="u8 isIgnoreSfxIfHitWater:1">
      <DisplayName>水面衝突時のエフェクト無視するか</DisplayName>
      <Description>水面に当たった場合はエフェクト無視するか</Description>
      <Maximum>1</Maximum>
      <SortID>63000</SortID>
    </Field>
    <Field Def="u8 isIgnoreMoveStateIfHitWater:1">
      <DisplayName>水面衝突時の状態遷移を無視するか</DisplayName>
      <Description>水に当たっても状態遷移を無視するか</Description>
      <Maximum>1</Maximum>
      <SortID>64000</SortID>
    </Field>
    <Field Def="u8 isHitDarkForceMagic:1">
      <DisplayName>闇フォース魔法に当たるか</DisplayName>
      <Description>闇フォース魔法に当たるか</Description>
      <Maximum>1</Maximum>
      <SortID>62000</SortID>
    </Field>
    <Field Def="u8 isInheritEffectToChild:1">
      <DisplayName>子供にエフェクトを引き継ぐか</DisplayName>
      <Enum>BULLET_PARAM_CIRCLE_CROSS_TYPE</Enum>
      <Description>子弾を発生させた時に「自分のエフェクト」を子に引き継がせるか</Description>
      <Maximum>1</Maximum>
      <SortID>12500</SortID>
    </Field>
    <Field Def="u8 isInheritSpeedToChild:1">
      <DisplayName>子供に速度を引き継ぐか</DisplayName>
      <Enum>BULLET_PARAM_CIRCLE_CROSS_TYPE</Enum>
      <Description>子弾を発生させた時に「自分の速度(速さ)」を子に引き継がせるか</Description>
      <Maximum>1</Maximum>
      <SortID>12600</SortID>
    </Field>
    <Field Def="dummy8 pad[3]">
      <DisplayName>パディング</DisplayName>
      <Description>pad</Description>
      <SortID>99999999</SortID>
    </Field>
  </Fields>
</PARAMDEF>