Loading...
Searching...
No Matches
AdventureSouls.SoulsFriendCharacter Class Reference

Detailed Description

basic friendly NPC that only aggroes if hit more than once and has a some action that player can interact with(talking, trading, ...)
the first time it is hit it will equip any weapon in its inventory and if it goes below half health it will try to heal

https://adventure.softleitner.com/manual/character

Inheritance diagram for AdventureSouls.SoulsFriendCharacter:
AdventureSouls.SoulsNonPlayerCharacter AdventureSouls.SoulsCharacterBase< SerialCharacterActor, NavMeshAgentMovement, ListedInventory >

Public Member Functions

void GoAggro (CharacterBase character)
 
void GoIdle ()
 
- Public Member Functions inherited from AdventureSouls.SoulsNonPlayerCharacter
override void PostDamageReceive (IDamageSender sender, IDamageReceiver receiver, List< DamageEvent > events)
 
- Public Member Functions inherited from AdventureSouls.SoulsCharacterBase< SerialCharacterActor, NavMeshAgentMovement, ListedInventory >
override bool PreDamageReceive (IDamageSender sender, IDamageReceiver receiver)
 called before any real damage handling to check if the handling is valid and should continue
for example if a character is currently dodging damage handling can be cancelled here
 
override void OnDamageReceive (DamageEvent e)
 this is where the main damage handling should take place and damage vectors are assigned
OnDamage is called in the order Sender > Receiver > Damage
for example if a character is wearing protective gear it may reduce the damage value here
this method is called for every damage parameter see DamageEvent for more details
 
override void PostDamageReceive (IDamageSender sender, IDamageReceiver receiver, List< DamageEvent > events)
 called after alle the damages have been applied
this is a good spot to react to the change of state that has been done by the damages
for example death or destruction if health was reduced to 0 by the damages
 
void StartCritical (SoulsCrittedAction action)
 
void StartStagger ()
 
virtual bool CheckGuardBreak (IDamageSender damageSender)
 
virtual void StartGuardBreak ()
 

Public Attributes

GameObject IdleObject
 
GameObject AggoObject
 
SoulsWeaponSlot AttackSlot
 
SoulsUsableSlot HealingSlot
 
- Public Attributes inherited from AdventureSouls.SoulsNonPlayerCharacter
CharacterActionBase Idle
 
NavApproachAction Approach
 
CharacterActionBase Recover
 
CharacterActionBase Attack
 
ItemChance[] Loot
 
bool IsExternallyScripted
 
- Public Attributes inherited from AdventureSouls.SoulsCharacterBase< SerialCharacterActor, NavMeshAgentMovement, ListedInventory >
Transform Model
 
Transform RagdollPrefab
 
CharacterActionBase Stagger
 
CharacterActionBase GuardBreak
 

Protected Member Functions

override void onHit (CharacterBase character)
 
override void attack (bool startup)
 
override void changeNPCState (NPCState state, CharacterBase target, bool startup=false)
 
- Protected Member Functions inherited from AdventureSouls.SoulsNonPlayerCharacter
override void Start ()
 
virtual void Update ()
 
override void die (Vector3 force)
 
virtual void think (bool startup=false)
 
virtual void idle (bool startup)
 
virtual void getData ()
 
virtual void setData ()
 
- Protected Member Functions inherited from AdventureSouls.SoulsCharacterBase< SerialCharacterActor, NavMeshAgentMovement, ListedInventory >
void die (Vector3 force)
 
Transform createRagdoll (Vector3 force, Transform parent)
 
PickupAction createLoot (ItemQuantity[] items, Transform parent, Action callback, Vector3 position)
 

Additional Inherited Members

- Public Types inherited from AdventureSouls.SoulsNonPlayerCharacter
enum  NPCState { Idle = 0 , Attacking = 10 , Loot = 15 , Dead = 20 }
 
- Static Public Attributes inherited from AdventureSouls.SoulsCharacterBase< SerialCharacterActor, NavMeshAgentMovement, ListedInventory >
static int SPEED_HASH
 
static int SPEED_STRAFING_HASH
 
static int GROUNDED_HASH
 
- Protected Attributes inherited from AdventureSouls.SoulsNonPlayerCharacter
NPCState _state = NPCState.Idle
 
CharacterBase _target
 
int _patrolIndex
 
- Properties inherited from AdventureSouls.SoulsNonPlayerCharacter
NPCState State [get]
 
CharacterBase Target [get]
 
- Properties inherited from AdventureSouls.SoulsCharacterBase< SerialCharacterActor, NavMeshAgentMovement, ListedInventory >
bool IsFrontOpen [get]
 
bool IsBackOpen [get]
 
bool IsAiming [get]
 
Vector3 Direction [get]
 

Member Function Documentation

◆ attack()

override void AdventureSouls.SoulsFriendCharacter.attack ( bool startup)
inlineprotectedvirtual

◆ changeNPCState()

override void AdventureSouls.SoulsFriendCharacter.changeNPCState ( NPCState state,
CharacterBase target,
bool startup = false )
inlineprotectedvirtual

◆ onHit()

override void AdventureSouls.SoulsFriendCharacter.onHit ( CharacterBase character)
inlineprotectedvirtual