====== NpcThinkParam ====== ===== Fields ===== ^ Field ^ Type ^ Offset ^ Description ^ Notes ^ | logicId | ''s32'' | ''0x0'' | The logic script to use for this character. | | | battleGoalID | ''s32'' | ''0x4'' | The battle script to use for this character. | | | nearDist | ''f32'' | ''0x8'' | The distance between this character and the target that is treated as 'short' for combat distance calculations. | | | midDist | ''f32'' | ''0xc'' | The distance between this character and the target that is treated as 'medium' for combat distance calculations. | | | farDist | ''f32'' | ''0x10'' | The distance between this character and the target that is treated as 'long' for combat distance calculations. | | | outDist | ''f32'' | ''0x14'' | The distance between this character and the target that ends combat aggression. A character outside of this range will no longer attempt combat actions. | | | BackHomeLife_OnHitEneWal | ''f32'' | ''0x18'' | The duration of the BackToHome goal when this character hits an enemy wall collision (which blocks movement). In seconds. | | | goalID_ToCaution | ''s32'' | ''0x1c'' | The goal ID to use when this character enters the 'Caution' alert state. | | | idAttackCannotMove | ''s32'' | ''0x20'' | The EzState ID to use for the action to perform when this character's movement is stopped by a destructible object. | | | goalID_ToFind | ''s32'' | ''0x24'' | The goal ID to use when this character enters the 'Search' alert state. | | | callHelp_ActionAnimId | ''s32'' | ''0x28'' | The action animation ID (EzStateAnimID) to use when responding to a call for help. | | | callHelp_CallActionId | ''s32'' | ''0x2c'' | The action animation ID (EzStateAnimID) to use when calling for help. | | | eye_dist | ''u16'' | ''0x30'' | The maximum extent to check for when searching visually (sight) for this character. In metres. | | | ear_dist | ''u16'' | ''0x32'' | The maximum extent to check for when searching aurally (sound) for this character. In metres. | | | ear_soundcut_dist | ''u16'' | ''0x34'' | The distance at which the size of a sound source will be reduced. Sounds below this distance will no longer be heard. In metres. | | | nose_dist | ''u16'' | ''0x36'' | The maximum extent to check for when searching olfactorily (smell) for this character. This method of searching is never blocked by any obstacle. In metres. | | | maxBackhomeDist | ''u16'' | ''0x38'' | The distance after which this character will always return home. In metres. A parameter for the COMMON_SetBattleActLogic script. | | | backhomeDist | ''u16'' | ''0x3a'' | The distance after which this character will return home if in combat with a target. In metres. A parameter for the COMMON_SetBattleActLogic script. | | | backhomeBattleDist | ''u16'' | ''0x3c'' | The distance whilst in combat, after which an attempt to return home will be aborted. In metres. A parameter for the COMMON_SetBattleActLogic script. | | | nonBattleActLife | ''u16'' | ''0x3e'' | The duration for non-combat acts whilst this character is aware of a target. In seconds. A parameter for the COMMON_SetBattleActLogic script. | | | BackHome_LookTargetTime | ''u16'' | ''0x40'' | When this character is returning home, this is the duration they keep looking at their current target for. In seconds. | | | BackHome_LookTargetDist | ''u16'' | ''0x42'' | When this character is returning home, this is the distance at which they keep looking at their current target for. In metres. | | | SightTargetForgetTime | ''u16'' | ''0x44'' | The duration after a visual target has been acquired in which it will be forgotten. In frames. | | | SoundTargetForgetTime | ''u16'' | ''0x46'' | The duration after a aural target has been acquired in which it will be forgotten. In frames. | | | BattleStartDist | ''u16'' | ''0x48'' | The distance at which this character will start combat after acquiring a target. In metres. | | | callHelp_MyPeerId | ''u16'' | ''0x4a'' | The friend group ID this character belongs to, and thus which other characters it will respond to. | | | callHelp_CallPeerId | ''u16'' | ''0x4c'' | The friend group ID this character belongs to, and thus which other characters it can call to. | | | targetSys_DmgEffectRate | ''u16'' | ''0x4e'' | The damage effect rate for this character, used in the target system evaluation. | | | TeamAttackEffectivity | ''u8'' | ''0x50'' | A value used to determine the number of simultaneous attackers within a group of characters that share the same team. Each potential attacker adds thier TeamAttackEffectivity to a total value. If this total value is or exceeds 100, no more attackers will be allowed to attack. In general, this means higher values reduce the number of potential attackers against a target. | | | eye_angX | ''u8'' | ''0x51'' | The horizontal cone within which the visual search is performed. In degrees. | | | eye_angY | ''u8'' | ''0x52'' | The vertical cone within which the visual search is performed. In degrees. | | | ear_angX | ''u8'' | ''0x53'' | The horizontal cone within which the aural search is performed. In degrees. | | | ear_angY | ''u8'' | ''0x54'' | The vertical cone within which the aural search is performed. In degrees. | | | callHelp_CallValidMinDistTarget | ''u8'' | ''0x55'' | If a character is closer than this distance to their target, they cannot call for friends. In metres. | | | callHelp_CallValidRange | ''u8'' | ''0x56'' | If a character is further than this distance to a friend, they cannot call the friend. In metres. | | | callHelp_ForgetTimeByArrival | ''u8'' | ''0x57'' | When a friend is called, this is the duration it takes to answer and then forget the call. In seconds. | | | callHelp_MinWaitTime | ''u8'' | ''0x58'' | The minimum duration after a call that any friend responses can occur. In milliseconds. | | | callHelp_MaxWaitTime | ''u8'' | ''0x59'' | The maximum duration after a call that any friend responses can occur. In milliseconds. | | | goalAction_ToCaution | ''u8'' | ''0x5a'' | The goal action when this character becomes alert. | This field uses the following enum: NPC_THINK_GOAL_ACTION | | goalAction_ToFind | ''u8'' | ''0x5b'' | The goal action when this character acquires a target. | This field uses the following enum: NPC_THINK_GOAL_ACTION | | callHelp_ReplyBehaviorType | ''u8'' | ''0x5c'' | The action type for reaching the friend's position after responding to a call. | This field uses the following enum: NPC_THINK_REPLY_BEHAVIOR_TYPE | | disablePathMove | ''u8'' | ''0x5d'' | If ON, then path movement using the navigation mesh is ignored, and direct movement occurs in a straight line (obstacles are not accounted for). | This field is a boolean. | | skipArrivalVisibleCheck | ''u8'' | ''0x5e'' | If ON, arrival is achieved even if there is no line of sight. | This field is a boolean. | | thinkAttr_doAdmirer | ''u8'' | ''0x5f'' | If ON, this character plays the role of an entourage. This is a think attribute. | This field is a boolean. | | enableNaviFlg_Edge | ''u8'' | ''0x60 [0]'' | If ON, this character can navigate on graph edges marked with the 'cliff' navigation flag. | This field is a boolean. | | enableNaviFlg_LargeSpace | ''u8'' | ''0x60 [1]'' | If ON, this character can navigate on graph edges marked with the 'wide' navigation flag. | This field is a boolean. | | enableNaviFlg_Ladder | ''u8'' | ''0x60 [2]'' | If ON, this character can navigate on graph edges marked with the 'ladder' navigation flag. | This field is a boolean. | | enableNaviFlg_Hole | ''u8'' | ''0x60 [3]'' | If ON, this character can navigate on graph edges marked with the 'hole' navigation flag. | This field is a boolean. | | enableNaviFlg_Door | ''u8'' | ''0x60 [4]'' | If ON, this character can navigate on graph edges marked with the 'door' navigation flag. | This field is a boolean. | | enableNaviFlg_InSideWall | ''u8'' | ''0x60 [5]'' | If ON, this character can navigate on graph edges marked with the 'in the wall' navigation flag. | This field is a boolean. | | enableNaviFlg_reserve0 | ''dummy8'' | ''0x60 [6-7]'' | | This field is padding. | | enableNaviFlg_reserve1 | ''dummy8'' | ''0x61'' | | This field is padding. | | pad0 | ''dummy8'' | ''0x64'' | | This field is padding. | ===== Enums ===== ==== NPC_THINK_GOAL_ACTION ==== ^ Option ^ Description ^ Notes ^ | ''0'' | Do nothing | | | ''1'' | Face towards Target | | | ''2'' | Walk to Target | | | ''3'' | Run to Target | | | ''4'' | Set any Goal | | | ''5'' | Away from Target | | | ''6'' | Wander Around | | | ''7'' | Hold up Shield -> Walk to Target | | | ''8'' | Route movement | | | ''9'' | Walk around nearby | | ==== NPC_THINK_REPLY_BEHAVIOR_TYPE ==== ^ Option ^ Description ^ Notes ^ | ''0'' | Walking | | | ''1'' | Run and move | | | ''2'' | Walking (move the nest) | | | ''3'' | Run and move (move the nest) | | | ''4'' | Run and move accordingly | | | ''5'' | Run and move accordingly (move the nest) | | | ''6'' | Walk to coordinates | | | ''7'' | Run to coordinates | |