Site Tools


ds1-refmat:param:bullet

Bullet

Fields

Field Type Offset Description Notes
atkId_Bullet s32 0x0 Set the attack parameters that are applied when this bullet impacts a victim. This field refers to the following params: AtkParam_Pc, AtkParam_Npc
sfxId_Bullet s32 0x4 SFX ID before acceleration. If the SFX ID after acceleration is -1, this SFX will continue to fly even after acceleration. This field takes an Particle ID.
sfxId_Hit s32 0x8 Impact SFX ID. -1 means it does not occur. This field takes an Particle ID.
sfxId_Flick s32 0xc SFX ID when repelling projectile. -1 means it does not occur. This field takes an Particle ID.
life f32 0x10 Time for projectile to exist in flight (-1 is infinite). In seconds.
dist f32 0x14 If the bullet flight distance exceeds this value, the attenuation set by other parameters will be applied.
shootInterval f32 0x18 The interval at which the projectile is emitted. Applied when generated via the TAE Bullet Behavior event. In seconds.
gravityInRange f32 0x1c Gravity applied downward within range. In metres per second ^ 2.
gravityOutRange f32 0x20 Gravity applied downward outside of range. In metres per second ^ 2.
hormingStopRange f32 0x24 The distance at which the bullet homing will stop being applied.
initVellocity f32 0x28 Initial speed of projectile.
accelInRange f32 0x2c Acceleration whilst projectile is within distance threshold. In metres per second ^ 2.
accelOutRange f32 0x30 Acceleration whilst projectile is beyond the distance threshold. In metres per second ^ 2.
maxVellocity f32 0x34 The maximum speed of the bullet. In metres per second.
minVellocity f32 0x38 The minimum speed of the bullet. In metres per second.
accelTime f32 0x3c The delay before the projectile will start accelerating. In seconds.
homingBeginDist f32 0x40 The distance at which projectile homing will start to be applied.
hitRadius f32 0x44 The initial radius of the hitbox.
hitRadiusMax f32 0x48 The maximum radius of the hitbox, the duration for the hitbox to change from initial to max radius is determined by spreadTime. (If -1, radius is same as initial hitbox radius).
spreadTime f32 0x4c The amount of time takes for hitbox radius to grow from initial value to max value. If 0, only the initial radius is used. In seconds.
expDelay f32 0x50 The duration from the projectile landing to the start of hit radius expansion (if 0, it expands immediately).
hormingOffsetRange f32 0x54 If set to 0, the projectile will track with perfect accuracy. Otherwise, the target location is offset by this amount in the direction to victim is moving.
dmgHitRecordLifeTime f32 0x58 The interval at which damage can be applied by this bullet to a victim. 0 means it will only ever apply once.
externalForce f32 0x5c The external force modifier to apply to the projectile in the direction of shooting (Y-axis is removed) based on map factor.
spEffectIDForShooter s32 0x60 The SpEffect applied to owner of bullet upon being emitted. This field refers to the following params: SpEffectParam
autoSearchNPCThinkID s32 0x64 The think parameters used by the funnel to search for the target (e.g. soulmass). This field refers to the following params: NpcThinkParam
HitBulletID s32 0x68 The bullet to generate when the projectile expires, or conditionally according to some launchConditionType values. This field refers to the following params: Bullet
spEffectId0 s32 0x6c The SpEffect to apply when the projectile hits target. This field refers to the following params: SpEffectParam
spEffectId1 s32 0x70 SpEffect to apply when the projectile hits target. This field refers to the following params: SpEffectParam
spEffectId2 s32 0x74 SpEffect to apply when the projectile hits target. This field refers to the following params: SpEffectParam
spEffectId3 s32 0x78 SpEffect to apply when the projectile hits target. This field refers to the following params: SpEffectParam
spEffectId4 s32 0x7c SpEffect to apply when the projectile hits target. This field refers to the following params: SpEffectParam
numShoot u16 0x80 The number of projectiles produced per emitter interval.
homingAngle s16 0x82 The amount of tracking correction made each second, affecting the speed the projectile faces the victim. In degrees per second.
shootAngle s16 0x84 Specify the horizontal angle at which the projectile should be fired, offset from the emitter origin. In degrees.
shootAngleInterval s16 0x86 When firing multiple projectiles, specify the horizontal angle interval at which to fire (Y-axis). In degrees.
shootAngleXInterval s16 0x88 When firing multiple projectiles, specify the vertical angle interval at which to fire (X-axis). Positive angle upwards, negative angle downwards. In degrees.
damageDamp s8 0x8a After passing attenuation distance, Physical damage falls off by this % every second.
spelDamageDamp s8 0x8b After passing attenuation distance, Magic damage falls off by this % every second.
fireDamageDamp s8 0x8c After passing attenuation distance, Fire damage falls off by this % every second.
thunderDamageDamp s8 0x8d After passing attenuation distance, Lightning damage falls off by this % every second.
staminaDamp s8 0x8e After passing attenuation distance, Stamina damage falls off by this % every second.
knockbackDamp s8 0x8f After passing attenuation distance, knockback falls off by this % every second.
shootAngleXZ s8 0x90 Specify the vertical angle of the projectile that should be fired. Positive values angle upwards, negative values angle downwards. In degrees.
lockShootLimitAng u8 0x91 The maximum angle the bullet's initial direction can change to face towards player locked-on target or AI focused enemy. In degrees.
isPenetrate u8 0x92 If ON, allows a projectile to pierce through enemies and objects. Also potentially allows hitting the same enemy multiple times using dmgHitRecordLifetime. See isPenetrateMap to ignore map. This field is a boolean.
prevVelocityDirRate u8 0x93 The ratio to add the previous movement direction to the current direction when the sliding projectile hits the wall.
atkAttribute u8 0x94 Attack attribute to use when applying attack against the victim. This field uses the following enum: ATKPARAM_ATKATTR_TYPE
spAttribute u8 0x95 Special attributes to use when applying attack against the victim. This field uses the following enum: ATKPARAM_SPATTR_TYPE
Material_AttackType u8 0x96 Specify the particles and sounds to apply for the attack against the victim. This field uses the following enum: BEHAVIOR_ATK_TYPE
Material_AttackMaterial u8 0x97 Specify the particles and sounds to apply for the attack against the victim. This field uses the following enum: WEP_MATERIAL_ATK
Material_Size u8 0x98 Specify the size of the particles to apply for the attack against the victim. This field uses the following enum: BEHAVIOR_ATK_SIZE
launchConditionType u8 0x99 Conditions required for HitBulletID to generate upon impact or expiration. This field uses the following enum: BULLET_LAUNCH_CONDITION_TYPE
FollowType u8 0x9a [0-2] Affects projectile position and behavior. This field uses the following enum: BULLET_FOLLOW_TYPE
EmittePosType u8 0x9a [3-5] Where projectile appears when created. This field uses the following enum: BULLET_EMITTE_POS_TYPE
isAttackSFX u8 0x9a [6] If ON, the projectile SFX will remain stuck in the victim it it collides. This field is a boolean.
isEndlessHit u8 0x9a [7] If ON, the projectile will hit continously upon impact. This field is a boolean.
isPenetrateMap u8 0x9b [0] If ON, the projectile will pass through collision and map pieces. This field is a boolean.
isHitBothTeam u8 0x9b [1] If ON, the projectile will collide with both victim and owner team types. This field is a boolean.
isUseSharedHitList u8 0x9b [2] If ON, multiple projectile from the same emitter that collide with a victim will count as one projectile in terms of updating the damage interval. This field is a boolean.
isUseMultiDmyPolyIfPlace u8 0x9b [3] If ON, multiple dummy polygons with shared ID can be used for emitting the projectile. This field is a boolean.
attachEffectType u8 0x9b [4-5] The deflection type for this projectile against other projectiles. This field uses the following enum: BULLET_ATTACH_EFFECT_TYPE
isHitForceMagic u8 0x9b [6] If ON, this projectile can be deflected by projectiles with attachEffectType set to 1. This field is a boolean.
isIgnoreSfxIfHitWater u8 0x9b [7] If ON, do not emit the hit particle if the projectile hits the water surface This field is a boolean.
isIgnoreMoveStateIfHitWater u8 0x9c [0] If ON, the projectile will pass through water collision. This field is a boolean.
isHitDarkForceMagic u8 0x9c [1] If ON, this projectile can be deflected by projectiles with attachEffectType set to 3. This field is a boolean.
pad dummy8 0x9d This field is padding.

Enums

ATKPARAM_ATKATTR_TYPE

Option Description Notes
0 None
1 Slash
2 Strike
3 Thrust
4 Push

ATKPARAM_SPATTR_TYPE

Option Description Notes
0 Do not overwrite
1 None
2 Fire
3 Magic
4 Poison
5 Egg
6 Lightning
7 Petrification
8 Crystallization
255 None

BEHAVIOR_ATK_TYPE

Option Description Notes
0 Slash
1 Blow
2 Thrust
3 Explosion
4 Bullet

WEP_MATERIAL_ATK

Option Description Notes
0 Standard
1 Physical
2 Magic
3 Fire
4 Lightning
5 Unknown
6 None
7 Dmy1
8 Dmy2
9 Dmy3
10 Dmy4
255 None

BEHAVIOR_ATK_SIZE

Option Description Notes
0 Small
1 Large

BULLET_LAUNCH_CONDITION_TYPE

Option Description Notes
0 Always
1 Hit water
2 Hit water or swamp
3 Didn't hit enemy
4 Hit enemy
254 Expired
255 Hit ground or enemy

BULLET_FOLLOW_TYPE

Option Description Notes
0 Do not follow
1 Follow owner
2 Follow owner's feet
3 Follow victim
4 Follow along ground

BULLET_EMITTE_POS_TYPE

Option Description Notes
0 Default
1 Random radius around owner
2 Higher elevation
3 Nearby victim origin. If no victims, targets projectile origin.
4 Random radius around nearest victim

BULLET_ATTACH_EFFECT_TYPE

Option Description Notes
0 None
1 Repel Physical Projectiles (isHitForceMagic)
3 Repel Magical Projectiles (isHitDarkForceMagic)
ds1-refmat/param/bullet.txt · Last modified: by admin