paramdex-rs 0.1.0+build.2

Utilities for handling and deserializing a Paramdex / individual Paramdef XMLs for modifying Souls games
Documentation
<?xml version="1.0" encoding="utf-8"?>
<PARAMDEF XmlVersion="1">
  <ParamType>BULLET_PARAM_ST</ParamType>
  <DataVersion>2</DataVersion>
  <BigEndian>True</BigEndian>
  <Unicode>False</Unicode>
  <FormatVersion>102</FormatVersion>
  <Fields>
    <Field Def="s32 atkId_Bullet = -1">
      <DisplayName>攻撃ID</DisplayName>
      <Description>攻撃パラメータのIDをそれぞれ登録する.→攻撃タイプ/攻撃材質/物理攻撃力/魔法攻撃力/スタミナ攻撃力/ノックバック距離.</Description>
      <Minimum>-1</Minimum>
      <Maximum>1E+08</Maximum>
    </Field>
    <Field Def="s32 sfxId_Bullet = -1">
      <DisplayName>SFXID【弾】</DisplayName>
      <Description>SFX IDを入れる。</Description>
      <Minimum>-1</Minimum>
      <Maximum>1E+08</Maximum>
    </Field>
    <Field Def="s32 sfxId_Hit = -1">
      <DisplayName>SFXID【着弾】</DisplayName>
      <Description>着弾SFXID。-1は発生しない。</Description>
      <Minimum>-1</Minimum>
      <Maximum>1E+08</Maximum>
    </Field>
    <Field Def="u8 EmittePosType">
      <DisplayName>発生源タイプ</DisplayName>
      <Enum>BULLET_EMITTE_POS_TYPE</Enum>
      <Description>発生源タイプ。ダミポリからが通常。(メテオを判定するために導入)</Description>
      <Maximum>1</Maximum>
    </Field>
    <Field Def="u8 FollowType">
      <DisplayName>追従タイプ</DisplayName>
      <Enum>BULLET_FOLLOW_TYPE</Enum>
      <Description>追従タイプ。「追従しない」がデフォルト。</Description>
      <Maximum>2</Maximum>
    </Field>
    <Field Def="u8 isAttackSFX">
      <DisplayName>刺さったままになるか</DisplayName>
      <Enum>ON_OFF</Enum>
      <Description>矢などの弾丸が、キャラクターに刺さったままになるかどうかを設定する</Description>
      <Maximum>1</Maximum>
    </Field>
    <Field Def="u8 isEndlessHit">
      <DisplayName>あたり続けるか?</DisplayName>
      <Enum>ON_OFF</Enum>
      <Description>あたり続けるか?</Description>
      <Maximum>1</Maximum>
    </Field>
    <Field Def="f32 life = -1">
      <DisplayName>寿命[s]</DisplayName>
      <Description>飛び道具が存在し続けられる時間(-1なら無限).</Description>
      <Minimum>-1</Minimum>
      <Maximum>99999</Maximum>
    </Field>
    <Field Def="f32 dist">
      <DisplayName>射程距離[m]</DisplayName>
      <Description>減衰が開始される距離(実際の飛距離ではない).</Description>
      <Minimum>0</Minimum>
      <Maximum>99999</Maximum>
      <Increment>0.1</Increment>
    </Field>
    <Field Def="s32 numShoot">
      <DisplayName>発射数</DisplayName>
      <Description>一度に発射する飛び道具の数.</Description>
      <Minimum>0</Minimum>
      <Maximum>99</Maximum>
    </Field>
    <Field Def="f32 shootInterval">
      <DisplayName>発射間隔[s]</DisplayName>
      <Description>飛び道具を何秒間隔で発射するかを指定.</Description>
      <Minimum>0</Minimum>
      <Maximum>99</Maximum>
    </Field>
    <Field Def="s16 shootAngle">
      <DisplayName>発射角度[deg]</DisplayName>
      <Description>飛び道具を前方何度に向かって発射するかを指定.</Description>
      <Minimum>-360</Minimum>
      <Maximum>360</Maximum>
    </Field>
    <Field Def="s16 shootAngleInterval">
      <DisplayName>発射角度間隔[deg]</DisplayName>
      <Description>飛び道具を複数発射する場合、何度間隔で発射するかを指定.</Description>
      <Minimum>-360</Minimum>
      <Maximum>360</Maximum>
    </Field>
    <Field Def="f32 gravityInRange">
      <DisplayName>射程距離内重力[m/s^2]</DisplayName>
      <Description>射程距離内での下向きにかかる重力.</Description>
      <Minimum>-999</Minimum>
      <Maximum>999</Maximum>
      <Increment>0.1</Increment>
    </Field>
    <Field Def="f32 gravityOutRange">
      <DisplayName>射程距離外重力[m/s^2]</DisplayName>
      <Description>減衰がはじまったときの下向きにかかる重力(ポトンと落ちる感じを表現.</Description>
      <Minimum>-999</Minimum>
      <Maximum>999</Maximum>
      <Increment>0.1</Increment>
    </Field>
    <Field Def="s8 damageDamp">
      <DisplayName>物理攻撃力減衰率[%/s]</DisplayName>
      <Description>減衰距離以降、1秒間に減少する補正値.</Description>
      <Minimum>0</Minimum>
      <Maximum>100</Maximum>
    </Field>
    <Field Def="s8 spelDamageDamp">
      <DisplayName>魔法攻撃力減衰率[%/s]</DisplayName>
      <Minimum>0</Minimum>
      <Maximum>100</Maximum>
    </Field>
    <Field Def="s8 fireDamageDamp">
      <DisplayName>炎攻撃力減衰率[%/s]</DisplayName>
      <Minimum>0</Minimum>
      <Maximum>100</Maximum>
    </Field>
    <Field Def="s8 staminaDamp">
      <DisplayName>スタミナダメージ減衰率[%/s]</DisplayName>
      <Description>減衰距離以降、1秒間に減少する補正値.</Description>
      <Minimum>0</Minimum>
      <Maximum>100</Maximum>
    </Field>
    <Field Def="s8 knockbackDamp">
      <DisplayName>ノックバック減衰率[%/s]</DisplayName>
      <Description>減衰距離以降、1秒間に減少する補正値.</Description>
      <Minimum>0</Minimum>
      <Maximum>100</Maximum>
    </Field>
    <Field Def="s8 shootAngleXZ">
      <DisplayName>発射仰角[deg]</DisplayName>
      <Minimum>-90</Minimum>
      <Maximum>90</Maximum>
    </Field>
    <Field Def="u8 lockShootLimitAng">
      <DisplayName>ロック方向制限角度</DisplayName>
      <Description>ロック方向を向かせるときの制限角度</Description>
      <Maximum>180</Maximum>
    </Field>
    <Field Def="dummy8 pad2[1]">
      <DisplayName>予約</DisplayName>
    </Field>
    <Field Def="f32 hormingStopRange">
      <DisplayName>誘導停止距離[m]</DisplayName>
      <Description>誘導を停止するターゲットとの距離。誘導弾で当たり過ぎないようにするパラメータ。</Description>
      <Minimum>0</Minimum>
      <Maximum>999999</Maximum>
      <Increment>0.1</Increment>
    </Field>
    <Field Def="f32 initVellocity">
      <DisplayName>初速[m/s]</DisplayName>
      <Description>SFXの初速度.</Description>
      <Minimum>0</Minimum>
      <Maximum>999</Maximum>
      <Increment>0.1</Increment>
    </Field>
    <Field Def="f32 accelInRange">
      <DisplayName>射程距離内加速度[m/s^2]</DisplayName>
      <Description>SFXの射程内の加速度.</Description>
      <Minimum>-999</Minimum>
      <Maximum>999</Maximum>
      <Increment>0.1</Increment>
    </Field>
    <Field Def="f32 accelOutRange">
      <DisplayName>射程距離外加速度[m/s^2]</DisplayName>
      <Description>SFXが射程距離外に出たときの加速度.</Description>
      <Minimum>-999</Minimum>
      <Maximum>999</Maximum>
      <Increment>0.1</Increment>
    </Field>
    <Field Def="f32 maxVellocity">
      <DisplayName>最高速度[m/s]</DisplayName>
      <Description>最高速度.</Description>
      <Minimum>0</Minimum>
      <Maximum>999</Maximum>
      <Increment>0.1</Increment>
    </Field>
    <Field Def="f32 minVellocity">
      <DisplayName>最低速度[m/s]</DisplayName>
      <Description>最低保証速度.</Description>
      <Minimum>0</Minimum>
      <Maximum>999</Maximum>
      <Increment>0.1</Increment>
    </Field>
    <Field Def="f32 accelTime">
      <DisplayName>加速開始時間[s]</DisplayName>
      <Description>この時間までは、加速しない(ロケット弾みたいな魔法を撃つことができるようにしておく).</Description>
      <Minimum>0</Minimum>
      <Maximum>99</Maximum>
    </Field>
    <Field Def="s32 homingAngle">
      <DisplayName>誘導性能[deg/s]</DisplayName>
      <Description>1秒間に何度まで補正するか?.</Description>
      <Minimum>-360</Minimum>
      <Maximum>360</Maximum>
    </Field>
    <Field Def="f32 homingBeginDist">
      <DisplayName>誘導開始距離[m]</DisplayName>
      <Description>目標から何mの地点から誘導を開始するか.</Description>
      <Minimum>0</Minimum>
      <Maximum>999</Maximum>
      <Increment>0.1</Increment>
    </Field>
    <Field Def="f32 hitRadius = -1">
      <DisplayName>初期弾半径[m]</DisplayName>
      <Description>当たり球の半径を設定する.</Description>
      <Minimum>-1</Minimum>
      <Maximum>999</Maximum>
    </Field>
    <Field Def="f32 hitRadiusMax = -1">
      <DisplayName>最大弾半径[m]</DisplayName>
      <Description>あたり球の最大半径(-1の場合、初期半径と同じにする/デフォルト)</Description>
      <Minimum>-1</Minimum>
      <Maximum>999</Maximum>
    </Field>
    <Field Def="f32 spreadTime">
      <DisplayName>範囲拡散時間[s]</DisplayName>
      <Description>範囲半径が細大にまで広がる時間.</Description>
      <Minimum>0</Minimum>
      <Maximum>99</Maximum>
    </Field>
    <Field Def="f32 expDelay">
      <DisplayName>発動遅延[s]</DisplayName>
      <Description>着弾後、爆発までの時間(0の場合はすぐに爆発).</Description>
      <Minimum>0</Minimum>
      <Maximum>99</Maximum>
    </Field>
    <Field Def="u8 isPenetrate">
      <DisplayName>貫通設定</DisplayName>
      <Description>PC、NPC、OBJに当たったときに、寿命まで消滅しないかどうか?を設定</Description>
      <Maximum>100</Maximum>
    </Field>
    <Field Def="u8 Material_AttackType">
      <DisplayName>SFX材質 攻撃タイプ</DisplayName>
      <Enum>ATK_TYPE</Enum>
      <Description>攻撃属性が何かを指定する</Description>
    </Field>
    <Field Def="u8 Material_AttackMaterial">
      <DisplayName>SFX材質 攻撃材質</DisplayName>
      <Enum>WEP_MATERIAL_ATK</Enum>
      <Description>攻撃時のSFX/SEに使用</Description>
    </Field>
    <Field Def="u8 Material_Size">
      <DisplayName>SFX材質 サイズ</DisplayName>
      <Enum>ATK_SIZE</Enum>
      <Description>攻撃時のSFX/SEに使用(予備/デフォルト0)</Description>
    </Field>
    <Field Def="u8 isPenetrateMap">
      <DisplayName>マップを貫通?</DisplayName>
      <Enum>ON_OFF</Enum>
      <Description>マップを貫通するか?</Description>
      <Maximum>1</Maximum>
    </Field>
    <Field Def="u8 isHitBothTeam">
      <DisplayName>敵味方共にあたる?</DisplayName>
      <Enum>ON_OFF</Enum>
      <Description>敵味方共にあたるか?(徘徊ゴーストにはあたらない)</Description>
      <Maximum>1</Maximum>
    </Field>
    <Field Def="dummy8 pad4[6]">
      <DisplayName>予約</DisplayName>
    </Field>
    <Field Def="f32 hormingOffsetRange">
      <DisplayName>誘導ずらし量[m]</DisplayName>
      <Description>0だと正確。射撃時にXYZ各成分を、この量だけずらして狙うようにする。</Description>
      <Minimum>0</Minimum>
      <Maximum>999</Maximum>
      <Increment>0.1</Increment>
    </Field>
    <Field Def="s32 spEffectIDForShooter = -1">
      <DisplayName>射撃した人にかける特殊効果</DisplayName>
      <Description>射撃した人にかける特殊効果</Description>
      <Minimum>-1</Minimum>
      <Maximum>1E+08</Maximum>
    </Field>
    <Field Def="s32 autoSearchNPCThinkID">
      <DisplayName>ファンネルNPC思考ID</DisplayName>
      <Description>ファンネルがターゲットの検索使用するパラメータ</Description>
      <Minimum>-1</Minimum>
      <Maximum>999999</Maximum>
    </Field>
    <Field Def="s32 HitBulletID = -1">
      <DisplayName>着弾時発生弾丸ID</DisplayName>
      <Description>弾丸パラメータから、新しく弾丸パラメータを発生させるときにIDを指定する</Description>
      <Minimum>-1</Minimum>
      <Maximum>1E+08</Maximum>
    </Field>
    <Field Def="s32 spEffectId0 = -1">
      <DisplayName>特殊効果ID0</DisplayName>
      <Description>特殊効果パラメータのIDをそれぞれ登録する.→特殊効果全般.</Description>
      <Minimum>-1</Minimum>
      <Maximum>1E+08</Maximum>
    </Field>
    <Field Def="s32 spEffectId1 = -1">
      <DisplayName>特殊効果ID1</DisplayName>
      <Description>特殊効果パラメータのIDをそれぞれ登録する.→特殊効果全般.</Description>
      <Minimum>-1</Minimum>
      <Maximum>1E+08</Maximum>
    </Field>
    <Field Def="s32 spEffectId2 = -1">
      <DisplayName>特殊効果ID2</DisplayName>
      <Description>特殊効果パラメータのIDをそれぞれ登録する.→特殊効果全般.</Description>
      <Minimum>-1</Minimum>
      <Maximum>1E+08</Maximum>
    </Field>
    <Field Def="s32 spEffectId3 = -1">
      <DisplayName>特殊効果ID3</DisplayName>
      <Description>特殊効果パラメータのIDをそれぞれ登録する.→特殊効果全般.</Description>
      <Minimum>-1</Minimum>
      <Maximum>1E+08</Maximum>
    </Field>
    <Field Def="s32 spEffectId4 = -1">
      <DisplayName>特殊効果ID4</DisplayName>
      <Description>特殊効果パラメータのIDをそれぞれ登録する.→特殊効果全般.</Description>
      <Minimum>-1</Minimum>
      <Maximum>1E+08</Maximum>
    </Field>
    <Field Def="dummy8 pad5[8]">
      <DisplayName>予約</DisplayName>
    </Field>
  </Fields>
</PARAMDEF>