====== 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: [[ds1-refmat:param:AtkParam|AtkParam_Pc]], [[ds1-refmat:param:AtkParam|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 [[ds1-refmat:particle-list|Particle ID]]. | | sfxId_Hit | ''s32'' | ''0x8'' | Impact SFX ID. -1 means it does not occur. | This field takes an [[ds1-refmat:particle-list|Particle ID]]. | | sfxId_Flick | ''s32'' | ''0xc'' | SFX ID when repelling projectile. -1 means it does not occur. | This field takes an [[ds1-refmat:particle-list|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: [[ds1-refmat:param: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: [[ds1-refmat:param: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: [[ds1-refmat:param:Bullet]] | | spEffectId0 | ''s32'' | ''0x6c'' | The SpEffect to apply when the projectile hits target. | This field refers to the following params: [[ds1-refmat:param:SpEffectParam]] | | spEffectId1 | ''s32'' | ''0x70'' | SpEffect to apply when the projectile hits target. | This field refers to the following params: [[ds1-refmat:param:SpEffectParam]] | | spEffectId2 | ''s32'' | ''0x74'' | SpEffect to apply when the projectile hits target. | This field refers to the following params: [[ds1-refmat:param:SpEffectParam]] | | spEffectId3 | ''s32'' | ''0x78'' | SpEffect to apply when the projectile hits target. | This field refers to the following params: [[ds1-refmat:param:SpEffectParam]] | | spEffectId4 | ''s32'' | ''0x7c'' | SpEffect to apply when the projectile hits target. | This field refers to the following params: [[ds1-refmat:param: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) | |