G1R AngelScript
Scripting reference for the Gothic 1 Remake
Loading...
Searching...
No Matches
UPersonalRelationshipModifier Class Reference

Object that can calculate how much two people like each other depending on one single factor, ie. the guild that they belong to or whether one of them got beaten up recently. More...

Public Member Functions

Functions
ERelationship HowMuchDoILike (const AGothicCharacterState Me, const AGothicCharacterState Other) const
 How much would I see Other as my friend?
bool IsApplicableFor (const AGothicCharacterState Me, const AGothicCharacterState Other) const
 Whether this modifier can be applied with the given characters.
void SetHostilityTowardsOther (ERelationshipHostility Hostility)
 Sets the static relationship for this modifier. If this is set, no update calls will be made.
void SetRelationshipTowardsOther (ERelationship Relationship)
 Sets the static relationship for this modifier. If this is set, no update calls will be made.
void SetRelativeRankTowardsOther (ERelationshipRelativeRank RelativeRank)
 Sets the static relationship for this modifier. If this is set, no update calls will be made.
ERelationshipRelativeRank WhatsOthersRankComparedToMe (const AGothicCharacterState Me, const AGothicCharacterState Other) const
 What rank does Other have compared to me?
ERelationshipHostility HowHostileAmIAgainst (const AGothicCharacterState Me, const AGothicCharacterState Other) const
 How much would I see Other as my friend?
Public Member Functions inherited from UObject
bool MarkPackageDirty () const
void RemoveFromRoot ()
bool GetIsRooted () const
bool IsTransient () const
bool Modify (bool bAlwaysMarkDirty=true)
void SetTransactional (bool bTransactional)
bool IsSupportedForNetworking () const
UClass GetClass () const
UObject GetOuter () const
UObject GetTypedOuter (TSubclassOf< UObject > Target) const
 Traverses the outer chain searching for the next object of a certain type.
UPackage GetOutermost () const
UPackage GetPackage () const
void AddToRoot ()
UWorld GetWorld () const
FName GetName () const
FString GetFullName (const UObject StopOuter=nullptr) const
FString GetPathName (const UObject StopOuter=nullptr) const
bool IsA (const UClass Class) const
 Returns true if this object is of the specified type, or a child of that type.
void SaveConfig ()
void LoadConfig ()
void ReloadConfig ()
void CopyScriptPropertiesFrom (const UObject OtherObject)
void opCast (?&Address) const
FString ToString () const

Static Public Member Functions

Static Functions
static UClass StaticClass ()
Static Public Member Functions inherited from URelationshipModifier
static UClass StaticClass ()
Static Public Member Functions inherited from UObject
static UClass StaticClass ()

Public Attributes

PersonalRelationshipModifier
FGameplayTagContainer NotApplicableWhenSelfHasAnyOf
 If non-empty, this modifier will only be considered "not applicable" if the Self Character has any of these owned GameplayTags.
FGameplayTagContainer ApplicableWhenOtherHasAnyOf
 If non-empty, this modifier will only be considered "applicable" if the Other Character has any of these owned GameplayTags.
FGameplayTagContainer ApplicableWhenSelfHasAnyOf
 If non-empty, this modifier will only be considered "applicable" if the Self Character has any of these owned GameplayTags.
FGameplayTagContainer ApplicableWhenOtherHasAllOf
 If non-empty, this modifier will only be considered "applicable" if the Other Character has all of these owned GameplayTags.
FGameplayTagContainer ApplicableWhenSelfHasAllOf
 If non-empty, this modifier will only be considered "applicable" if the Self Character has all of these owned GameplayTags.
FGameplayTagContainer NotApplicableWhenOtherHasAnyOf
 If non-empty, this modifier will only be considered "not applicable" if the Other Character has any of these owned GameplayTags.
float32 Weight
 How much does this modifier influence the final decision?
FGameplayTagContainer NotApplicableWhenOtherHasAllOf
 If non-empty, this modifier will only be considered "not applicable" if the Other Character has all of these owned GameplayTags.
FGameplayTagContainer NotApplicableWhenSelfHasAllOf
 If non-empty, this modifier will only be considered "not applicable" if the Self Character has all of these owned GameplayTags.
bool bApplicableWhenOtherIsPlayer
 If true, allow this modifier when Other is the player.
bool bApplicableWhenOtherIsNPC
 If true, allow this modifier when Other is NOT the player.
TSet< ERelationship > NotApplicableWhenStaticRelationshipToOtherIs
 Ignore this modifier when the static relationship to Other is one of these.
TSet< ERelationship > ApplicableWhenStaticRelationshipToOtherIs
 If non-empty, only allow this modifier if the static relationship to Other is one of these.
Public Attributes inherited from URelationshipModifier
bool bIsGlobalModifierClass
 If true, this modifier will be executed for each character pair.
Public Attributes inherited from UObject
const UClass Class
const UObject Outer
const UPackage Outermost
const UPackage Package
const UWorld World
const FName Name
const bool IsRooted

Detailed Description

Object that can calculate how much two people like each other depending on one single factor, ie. the guild that they belong to or whether one of them got beaten up recently.

By chaining multiple of these modifiers, we get an extensible way to calculate the "friendliness" between two characters.

Member Function Documentation

◆ HowHostileAmIAgainst()

ERelationshipHostility HowHostileAmIAgainst ( const AGothicCharacterState Me,
const AGothicCharacterState Other ) const

How much would I see Other as my friend?

◆ HowMuchDoILike()

ERelationship HowMuchDoILike ( const AGothicCharacterState Me,
const AGothicCharacterState Other ) const

How much would I see Other as my friend?

◆ IsApplicableFor()

bool IsApplicableFor ( const AGothicCharacterState Me,
const AGothicCharacterState Other ) const

Whether this modifier can be applied with the given characters.

◆ SetHostilityTowardsOther()

void SetHostilityTowardsOther ( ERelationshipHostility Hostility)

Sets the static relationship for this modifier. If this is set, no update calls will be made.

◆ SetRelationshipTowardsOther()

void SetRelationshipTowardsOther ( ERelationship Relationship)

Sets the static relationship for this modifier. If this is set, no update calls will be made.

◆ SetRelativeRankTowardsOther()

void SetRelativeRankTowardsOther ( ERelationshipRelativeRank RelativeRank)

Sets the static relationship for this modifier. If this is set, no update calls will be made.

◆ StaticClass()

UClass StaticClass ( )
static

◆ WhatsOthersRankComparedToMe()

ERelationshipRelativeRank WhatsOthersRankComparedToMe ( const AGothicCharacterState Me,
const AGothicCharacterState Other ) const

What rank does Other have compared to me?

Member Data Documentation

◆ ApplicableWhenOtherHasAllOf

FGameplayTagContainer ApplicableWhenOtherHasAllOf

If non-empty, this modifier will only be considered "applicable" if the Other Character has all of these owned GameplayTags.

◆ ApplicableWhenOtherHasAnyOf

FGameplayTagContainer ApplicableWhenOtherHasAnyOf

If non-empty, this modifier will only be considered "applicable" if the Other Character has any of these owned GameplayTags.

◆ ApplicableWhenSelfHasAllOf

FGameplayTagContainer ApplicableWhenSelfHasAllOf

If non-empty, this modifier will only be considered "applicable" if the Self Character has all of these owned GameplayTags.

◆ ApplicableWhenSelfHasAnyOf

FGameplayTagContainer ApplicableWhenSelfHasAnyOf

If non-empty, this modifier will only be considered "applicable" if the Self Character has any of these owned GameplayTags.

◆ ApplicableWhenStaticRelationshipToOtherIs

TSet<ERelationship> ApplicableWhenStaticRelationshipToOtherIs

If non-empty, only allow this modifier if the static relationship to Other is one of these.

◆ bApplicableWhenOtherIsNPC

bool bApplicableWhenOtherIsNPC

If true, allow this modifier when Other is NOT the player.

◆ bApplicableWhenOtherIsPlayer

bool bApplicableWhenOtherIsPlayer

If true, allow this modifier when Other is the player.

◆ NotApplicableWhenOtherHasAllOf

FGameplayTagContainer NotApplicableWhenOtherHasAllOf

If non-empty, this modifier will only be considered "not applicable" if the Other Character has all of these owned GameplayTags.

◆ NotApplicableWhenOtherHasAnyOf

FGameplayTagContainer NotApplicableWhenOtherHasAnyOf

If non-empty, this modifier will only be considered "not applicable" if the Other Character has any of these owned GameplayTags.

◆ NotApplicableWhenSelfHasAllOf

FGameplayTagContainer NotApplicableWhenSelfHasAllOf

If non-empty, this modifier will only be considered "not applicable" if the Self Character has all of these owned GameplayTags.

◆ NotApplicableWhenSelfHasAnyOf

FGameplayTagContainer NotApplicableWhenSelfHasAnyOf

If non-empty, this modifier will only be considered "not applicable" if the Self Character has any of these owned GameplayTags.

◆ NotApplicableWhenStaticRelationshipToOtherIs

TSet<ERelationship> NotApplicableWhenStaticRelationshipToOtherIs

Ignore this modifier when the static relationship to Other is one of these.

◆ Weight

float32 Weight

How much does this modifier influence the final decision?