====== 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: [[des-refmat:param:AtkParam|AtkParam_Pc]], [[des-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 [[des-refmat:particle-list|Particle ID]]. | | sfxId_Hit | ''s32'' | ''0x8'' | Impact SFX ID. -1 means it does not occur. | This field takes an [[des-refmat:particle-list|Particle ID]]. | | EmittePosType | ''u8'' | ''0xc'' | Where projectile appears when created. | This field uses the following enum: BULLET_EMITTE_POS_TYPE | | FollowType | ''u8'' | ''0xd'' | Affects projectile position and behavior. | This field uses the following enum: BULLET_FOLLOW_TYPE | | isAttackSFX | ''u8'' | ''0xe'' | If ON, the projectile SFX will remain stuck in the victim it it collides. | This field is a boolean. | | isEndlessHit | ''u8'' | ''0xf'' | If ON, the projectile will hit continously upon impact. | This field is a boolean. | | 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. | | | numShoot | ''s32'' | ''0x18'' | The number of projectiles produced per emitter interval. | | | shootInterval | ''f32'' | ''0x1c'' | The interval at which the projectile is emitted. Applied when generated via the TAE Bullet Behavior event. In seconds. | | | shootAngle | ''s16'' | ''0x20'' | Specify the horizontal angle at which the projectile should be fired, offset from the emitter origin. In degrees. | | | shootAngleInterval | ''s16'' | ''0x22'' | When firing multiple projectiles, specify the horizontal angle interval at which to fire (Y-axis). In degrees. | | | gravityInRange | ''f32'' | ''0x24'' | Gravity applied downward within range. In metres per second ^ 2. | | | gravityOutRange | ''f32'' | ''0x28'' | Gravity applied downward outside of range. In metres per second ^ 2. | | | damageDamp | ''s8'' | ''0x2c'' | After passing attenuation distance, Physical damage falls off by this % every second. | | | spelDamageDamp | ''s8'' | ''0x2d'' | After passing attenuation distance, Magic damage falls off by this % every second. | | | fireDamageDamp | ''s8'' | ''0x2e'' | After passing attenuation distance, Fire damage falls off by this % every second. | | | staminaDamp | ''s8'' | ''0x2f'' | After passing attenuation distance, Stamina damage falls off by this % every second. | | | knockbackDamp | ''s8'' | ''0x30'' | After passing attenuation distance, knockback falls off by this % every second. | | | shootAngleXZ | ''s8'' | ''0x31'' | Specify the vertical angle of the projectile that should be fired. Positive values angle upwards, negative values angle downwards. In degrees. | | | lockShootLimitAng | ''u8'' | ''0x32'' | The maximum angle the bullet's initial direction can change to face towards player locked-on target or AI focused enemy. In degrees. | | | pad2 | ''dummy8'' | ''0x33'' | | This field is padding. | | hormingStopRange | ''f32'' | ''0x34'' | The distance at which the bullet homing will stop being applied. | | | initVellocity | ''f32'' | ''0x38'' | Initial speed of projectile. | | | accelInRange | ''f32'' | ''0x3c'' | Acceleration whilst projectile is within distance threshold. In metres per second ^ 2. | | | accelOutRange | ''f32'' | ''0x40'' | Acceleration whilst projectile is beyond the distance threshold. In metres per second ^ 2. | | | maxVellocity | ''f32'' | ''0x44'' | The maximum speed of the bullet. In metres per second. | | | minVellocity | ''f32'' | ''0x48'' | The minimum speed of the bullet. In metres per second. | | | accelTime | ''f32'' | ''0x4c'' | The delay before the projectile will start accelerating. In seconds. | | | homingAngle | ''s32'' | ''0x50'' | The amount of tracking correction made each second, affecting the speed the projectile faces the victim. In degrees per second. | | | homingBeginDist | ''f32'' | ''0x54'' | The distance at which projectile homing will start to be applied. | | | hitRadius | ''f32'' | ''0x58'' | The initial radius of the hitbox. | | | hitRadiusMax | ''f32'' | ''0x5c'' | 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'' | ''0x60'' | 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'' | ''0x64'' | The duration from the projectile landing to the start of hit radius expansion (if 0, it expands immediately). | | | isPenetrate | ''u8'' | ''0x68'' | 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. | | Material_AttackType | ''u8'' | ''0x69'' | 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'' | ''0x6a'' | 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'' | ''0x6b'' | Specify the size of the particles to apply for the attack against the victim. | This field uses the following enum: BEHAVIOR_ATK_SIZE | | isPenetrateMap | ''u8'' | ''0x6c'' | If ON, the projectile will pass through collision and map pieces. | This field is a boolean. | | isHitBothTeam | ''u8'' | ''0x6d'' | If ON, the projectile will collide with both victim and owner team types. | This field is a boolean. | | pad4 | ''dummy8'' | ''0x6e'' | | This field is padding. | | hormingOffsetRange | ''f32'' | ''0x74'' | 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. | | | spEffectIDForShooter | ''s32'' | ''0x78'' | The SpEffect applied to owner of bullet upon being emitted. | This field refers to the following params: [[des-refmat:param:SpEffectParam]] | | autoSearchNPCThinkID | ''s32'' | ''0x7c'' | The think parameters used by the funnel to search for the target (e.g. soulmass). | This field refers to the following params: [[des-refmat:param:NpcThinkParam]] | | HitBulletID | ''s32'' | ''0x80'' | The bullet to generate when the projectile expires, or conditionally according to some launchConditionType values. | This field refers to the following params: [[des-refmat:param:Bullet]] | | spEffectId0 | ''s32'' | ''0x84'' | The SpEffect to apply when the projectile hits target. | This field refers to the following params: [[des-refmat:param:SpEffectParam]] | | spEffectId1 | ''s32'' | ''0x88'' | SpEffect to apply when the projectile hits target. | This field refers to the following params: [[des-refmat:param:SpEffectParam]] | | spEffectId2 | ''s32'' | ''0x8c'' | SpEffect to apply when the projectile hits target. | This field refers to the following params: [[des-refmat:param:SpEffectParam]] | | spEffectId3 | ''s32'' | ''0x90'' | SpEffect to apply when the projectile hits target. | This field refers to the following params: [[des-refmat:param:SpEffectParam]] | | spEffectId4 | ''s32'' | ''0x94'' | SpEffect to apply when the projectile hits target. | This field refers to the following params: [[des-refmat:param:SpEffectParam]] | | pad5 | ''dummy8'' | ''0x98'' | | This field is padding. | ===== Enums ===== ==== 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_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 | |