Table of Contents

Class ScavengerAI

Namespace
Global
Assembly
Assembly-CSharp.dll
public class ScavengerAI : ArtificialIntelligence, IUseARelationshipTracker, IUseItemTracker, IAINoiseReaction, IReactToSocialEvents
Inheritance
ScavengerAI
Implements
Inherited Members

Constructors

ScavengerAI(AbstractCreature, World)

public ScavengerAI(AbstractCreature creature, World world)

Parameters

creature AbstractCreature
world World

Fields

age

public int age

Field Value

int

agitation

public float agitation

Field Value

float

alreadyIdledAt

public List<WorldCoordinate> alreadyIdledAt

Field Value

List<WorldCoordinate>

alreadyLookedAtPos

public Vector2 alreadyLookedAtPos

Field Value

Vector2

arrangeInventoryCounter

public int arrangeInventoryCounter

Field Value

int

backedByPack

public float backedByPack

Field Value

float

behavior

public ScavengerAI.Behavior behavior

Field Value

ScavengerAI.Behavior

changeAttackPositionDelay

public int changeAttackPositionDelay

Field Value

int

communicationModule

public ScavengerAI.CommunicationModule communicationModule

Field Value

ScavengerAI.CommunicationModule

controlStuckTime

public int controlStuckTime

Field Value

int

controlWalkCooldown

public int controlWalkCooldown

Field Value

int

currentUtility

public float currentUtility

Field Value

float

currentViolenceType

public ScavengerAI.ViolenceType currentViolenceType

Field Value

ScavengerAI.ViolenceType

dbSpr

public DebugSprite dbSpr

Field Value

DebugSprite

dbSpr2

public DebugSprite dbSpr2

Field Value

DebugSprite

debugDestinationVisualizer

public DebugDestinationVisualizer debugDestinationVisualizer

Field Value

DebugDestinationVisualizer

discomfortWithOtherCreatures

public float discomfortWithOtherCreatures

Field Value

float

filteredLikeB

public float filteredLikeB

Field Value

float

focusCreature

public Tracker.CreatureRepresentation focusCreature

Field Value

Tracker.CreatureRepresentation

giftForMe

public AbstractPhysicalObject giftForMe

Field Value

AbstractPhysicalObject

goToSquadLeaderFirstTime

public int goToSquadLeaderFirstTime

Field Value

int

idleCounter

public int idleCounter

Field Value

int

lastPickupPressed

public int lastPickupPressed

Field Value

int

likeB

public float likeB

Field Value

float

lockedSafariDoorEntry

public WorldCoordinate? lockedSafariDoorEntry

Field Value

WorldCoordinate?

noiseReactDelay

public int noiseReactDelay

Field Value

int

numPickupPressed

public int numPickupPressed

Field Value

int

outpostModule

public ScavengerOutpost.GuardOutpostModule outpostModule

Field Value

ScavengerOutpost.GuardOutpostModule

pickupDownTime

public int pickupDownTime

Field Value

int

previousAttackPositions

public List<IntVector2> previousAttackPositions

Field Value

List<IntVector2>

runSpeedGoal

public float runSpeedGoal

Field Value

float

scared

public float scared

Field Value

float

scavageItemCheck

public int scavageItemCheck

Field Value

int

scavengeCandidate

public ItemTracker.ItemRepresentation scavengeCandidate

Field Value

ItemTracker.ItemRepresentation

scavenger

public Scavenger scavenger

Field Value

Scavenger

seenSquadLeaderInRoom

public int seenSquadLeaderInRoom

Field Value

int

tempLikeB

public float tempLikeB

Field Value

float

testIdlePos

public WorldCoordinate testIdlePos

Field Value

WorldCoordinate

testLookPos

public Vector2 testLookPos

Field Value

Vector2

testThrowPos

public WorldCoordinate testThrowPos

Field Value

WorldCoordinate

ticksSinceSeenPackLeader

public int ticksSinceSeenPackLeader

Field Value

int

tradeSpot

public ScavengerTradeSpot tradeSpot

Field Value

ScavengerTradeSpot

wantToTradeWith

public Tracker.CreatureRepresentation wantToTradeWith

Field Value

Tracker.CreatureRepresentation

Properties

ActNervous

public float ActNervous { get; }

Property Value

float

HoldWeapon

public bool HoldWeapon { get; }

Property Value

bool

NeedAWeapon

public bool NeedAWeapon { get; }

Property Value

bool

Methods

AttackBehavior()

public void AttackBehavior()

CheckForScavangeItems(bool)

public void CheckForScavangeItems(bool conservativeBias)

Parameters

conservativeBias bool

CheckThrow()

public void CheckThrow()

CloseByPack()

public List<Tracker.CreatureRepresentation> CloseByPack()

Returns

List<Tracker.CreatureRepresentation>

CollectScore(ItemRepresentation, bool)

public int CollectScore(ItemTracker.ItemRepresentation obj, bool weaponFiltered)

Parameters

obj ItemTracker.ItemRepresentation
weaponFiltered bool

Returns

int

CollectScore(PhysicalObject, bool)

public int CollectScore(PhysicalObject obj, bool weaponFiltered)

Parameters

obj PhysicalObject
weaponFiltered bool

Returns

int

ControlledBehavior()

public void ControlledBehavior()

CreateTrackerRepresentationForCreature(AbstractCreature)

public override Tracker.CreatureRepresentation CreateTrackerRepresentationForCreature(AbstractCreature otherCreature)

Parameters

otherCreature AbstractCreature

Returns

Tracker.CreatureRepresentation

CreatureSpotted(bool, CreatureRepresentation)

public override void CreatureSpotted(bool firstSpot, Tracker.CreatureRepresentation otherCreature)

Parameters

firstSpot bool
otherCreature Tracker.CreatureRepresentation

CurrentPlayerAggression(AbstractCreature)

public override float CurrentPlayerAggression(AbstractCreature player)

Parameters

player AbstractCreature

Returns

float

DecideBehavior()

public void DecideBehavior()

DoIWantToTrade(int)

public bool DoIWantToTrade(int valueOfMerch)

Parameters

valueOfMerch int

Returns

bool

DontWantToThrowAt(CreatureRepresentation)

public bool DontWantToThrowAt(Tracker.CreatureRepresentation rep)

Parameters

rep Tracker.CreatureRepresentation

Returns

bool

HitAnObjectWithWeapon(Weapon, PhysicalObject)

public void HitAnObjectWithWeapon(Weapon weapon, PhysicalObject hitObject)

Parameters

weapon Weapon
hitObject PhysicalObject

IdleBehavior()

public void IdleBehavior()

IdleScore(WorldCoordinate)

public float IdleScore(WorldCoordinate tstPs)

Parameters

tstPs WorldCoordinate

Returns

float

IsThrowPathClearFromFriends(Vector2, float)

public bool IsThrowPathClearFromFriends(Vector2 throwPos, float margin)

Parameters

throwPos Vector2
margin float

Returns

bool

LikeOfPlayer(DynamicRelationship)

public float LikeOfPlayer(RelationshipTracker.DynamicRelationship dRelation)

Parameters

dRelation RelationshipTracker.DynamicRelationship

Returns

float

LookPointScore(Vector2)

public float LookPointScore(Vector2 tst)

Parameters

tst Vector2

Returns

float

MakeLookHere(Vector2)

public void MakeLookHere(Vector2 point)

Parameters

point Vector2

NewRoom(Room)

public override void NewRoom(Room room)

Parameters

room Room

NoSolidTilesBetween(int, int, int)

public bool NoSolidTilesBetween(int xA, int xB, int y)

Parameters

xA int
xB int
y int

Returns

bool

PackLeader()

public Tracker.CreatureRepresentation PackLeader()

Returns

Tracker.CreatureRepresentation

PackMemberEncounter(Scavenger)

public void PackMemberEncounter(Scavenger otherPackMember)

Parameters

otherPackMember Scavenger

PickUpItemScore(ItemRepresentation)

public float PickUpItemScore(ItemTracker.ItemRepresentation rep)

Parameters

rep ItemTracker.ItemRepresentation

Returns

float

PlayerRelationship(DynamicRelationship)

public CreatureTemplate.Relationship PlayerRelationship(RelationshipTracker.DynamicRelationship dRelation)

Parameters

dRelation RelationshipTracker.DynamicRelationship

Returns

CreatureTemplate.Relationship

ReactToNoise(TheorizedSource, InGameNoise)

public void ReactToNoise(NoiseTracker.TheorizedSource source, InGameNoise noise)

Parameters

source NoiseTracker.TheorizedSource
noise InGameNoise

RealWeapon(PhysicalObject)

public bool RealWeapon(PhysicalObject obj)

Parameters

obj PhysicalObject

Returns

bool

RecognizeCreatureAcceptingGift(CreatureRepresentation, CreatureRepresentation, bool, PhysicalObject)

public void RecognizeCreatureAcceptingGift(Tracker.CreatureRepresentation subRep, Tracker.CreatureRepresentation objRep, bool objIsMe, PhysicalObject item)

Parameters

subRep Tracker.CreatureRepresentation
objRep Tracker.CreatureRepresentation
objIsMe bool
item PhysicalObject

RecognizePlayerOfferingGift(CreatureRepresentation, CreatureRepresentation, bool, PhysicalObject)

public void RecognizePlayerOfferingGift(Tracker.CreatureRepresentation subRep, Tracker.CreatureRepresentation objRep, bool objIsMe, PhysicalObject item)

Parameters

subRep Tracker.CreatureRepresentation
objRep Tracker.CreatureRepresentation
objIsMe bool
item PhysicalObject

RetrieveWeapon()

public void RetrieveWeapon()

ScavPlayerRelationChange(float, AbstractCreature)

public void ScavPlayerRelationChange(float change, AbstractCreature player)

Parameters

change float
player AbstractCreature

SeeThrownWeapon(PhysicalObject, Creature)

public void SeeThrownWeapon(PhysicalObject obj, Creature thrower)

Parameters

obj PhysicalObject
thrower Creature

SocialEvent(EventID, Creature, Creature, PhysicalObject)

public void SocialEvent(SocialEventRecognizer.EventID ID, Creature subjectCrit, Creature objectCrit, PhysicalObject involvedItem)

Parameters

ID SocialEventRecognizer.EventID
subjectCrit Creature
objectCrit Creature
involvedItem PhysicalObject

SpearThrowPositionScore(WorldCoordinate, IntVector2, ref List<IntVector2>)

public float SpearThrowPositionScore(WorldCoordinate tst, IntVector2 creaturePosition, ref List<IntVector2> creatureMovementArea)

Parameters

tst WorldCoordinate
creaturePosition IntVector2
creatureMovementArea List<IntVector2>

Returns

float

TrackItem(AbstractPhysicalObject)

public bool TrackItem(AbstractPhysicalObject obj)

Parameters

obj AbstractPhysicalObject

Returns

bool

TrackerToDiscardDeadCreature(AbstractCreature)

public override bool TrackerToDiscardDeadCreature(AbstractCreature crit)

Parameters

crit AbstractCreature

Returns

bool

TravelPreference(MovementConnection, PathCost)

public override PathCost TravelPreference(MovementConnection coord, PathCost cost)

Parameters

coord MovementConnection
cost PathCost

Returns

PathCost

Update()

public override void Update()

UpdateCurrentViolenceType()

public void UpdateCurrentViolenceType()

UpdateLookPoint()

public void UpdateLookPoint()

ViolenceTypeAgainstCreature(CreatureRepresentation)

public ScavengerAI.ViolenceType ViolenceTypeAgainstCreature(Tracker.CreatureRepresentation critRep)

Parameters

critRep Tracker.CreatureRepresentation

Returns

ScavengerAI.ViolenceType

VisualScore(Vector2, float)

public override float VisualScore(Vector2 lookAtPoint, float targetSpeed)

Parameters

lookAtPoint Vector2
targetSpeed float

Returns

float

WantToStayInDenUntilEndOfCycle()

public override bool WantToStayInDenUntilEndOfCycle()

Returns

bool

WantToThrowSpearAtCreature(CreatureRepresentation)

public float WantToThrowSpearAtCreature(Tracker.CreatureRepresentation rep)

Parameters

rep Tracker.CreatureRepresentation

Returns

float

WeaponScore(PhysicalObject, bool)

public int WeaponScore(PhysicalObject obj, bool pickupDropInsteadOfWeaponSelection)

Parameters

obj PhysicalObject
pickupDropInsteadOfWeaponSelection bool

Returns

int

WitnessPlayerOnPlayerViolence(CreatureRepresentation, CreatureRepresentation, float)

public void WitnessPlayerOnPlayerViolence(Tracker.CreatureRepresentation subjectCritRep, Tracker.CreatureRepresentation objectCritRep, float violenceSeverity)

Parameters

subjectCritRep Tracker.CreatureRepresentation
objectCritRep Tracker.CreatureRepresentation
violenceSeverity float