Barotrauma Client
Loading...
Searching...
No Matches
Barotrauma.Items.Components.Projectile Class Reference
Inheritance diagram for Barotrauma.Items.Components.Projectile:
Barotrauma.Items.Components.ItemComponent Barotrauma.Networking.IServerSerializable Barotrauma.ISerializableEntity Barotrauma.Networking.INetSerializable

Public Member Functions

 Projectile (Item item, ContentXElement element)
 
override void OnItemLoaded ()
 Called when all the components of the item have been loaded. Use to initialize connections between components and such.
 
float GetSpreadFromPool ()
 
void Shoot (Character user, Vector2 weaponPos, Vector2 spawnPos, float rotation, List< Body > ignoredBodies, bool createNetworkEvent, float damageMultiplier=1f, float launchImpulseModifier=0f)
 
bool Use (Character character=null, float launchImpulseModifier=0f)
 
override bool Use (float deltaTime, Character character=null)
 
override void Drop (Character dropper, bool setTransform=true)
 a Character has dropped the item
 
override void Update (float deltaTime, Camera cam)
 
bool ShouldIgnoreSubmarineCollision (Fixture target, Contact contact)
 Should the collision with the target submarine be ignored (e.g. did the projectile collide with the wall behind the turret when being launched)
 
bool IsAttachedTo (PhysicsBody body)
 
void Unstick ()
 
- Public Member Functions inherited from Barotrauma.Items.Components.ItemComponent
readonly record struct ItemUseInfo (Item Item, Character User)
 
 ItemComponent (Item item, ContentXElement element)
 
void SetRequiredItems (ContentXElement element, bool allowEmpty=false)
 
virtual void Move (Vector2 amount, bool ignoreContacts=false)
 
virtual bool Pick (Character picker)
 a Character has picked the item
 
virtual bool Select (Character character)
 
virtual bool CrewAIOperate (float deltaTime, Character character, AIObjectiveOperateItem objective)
 
Returns
true if the operation was completed

 
virtual void UpdateBroken (float deltaTime, Camera cam)
 
virtual bool SecondaryUse (float deltaTime, Character character=null)
 
virtual void Equip (Character character)
 
virtual void Unequip (Character character)
 
virtual void ReceiveSignal (Signal signal, Connection connection)
 
virtual bool Combine (Item item, Character user)
 
void Remove ()
 
void ShallowRemove ()
 Remove the component so that it doesn't appear to exist in the game world (stop sounds, remove bodies etc) but don't reset anything that's required for cloning the item.
 
bool HasRequiredSkills (Character character)
 
bool HasRequiredSkills (Character character, out Skill insufficientSkill)
 
virtual float GetSkillMultiplier ()
 
float DegreeOfSuccess (Character character)
 Returns 0.0f-1.0f based on how well the Character can use the itemcomponent.
 
float DegreeOfSuccess (Character character, List< Skill > requiredSkills)
 Returns 0.0f-1.0f based on how well the Character can use the itemcomponent.
 
virtual void FlipX (bool relativeToSub)
 
virtual void FlipY (bool relativeToSub)
 
bool IsEmpty (Character user)
 Returns true if the item is lacking required contained items, or if there's nothing with a non-zero condition inside.
 
bool HasRequiredContainedItems (Character user, bool addMessage, LocalizedString msg=null)
 
virtual bool HasAccess (Character character)
 Only checks if any of the Picked requirements are matched (used for checking id card(s)). Much simpler and a bit different than HasRequiredItems.
 
virtual bool HasRequiredItems (Character character, bool addMessage, LocalizedString msg=null)
 
void ApplyStatusEffects (ActionType type, float deltaTime, Character character=null, Limb targetLimb=null, Entity useTarget=null, Character user=null, Vector2? worldPosition=null, float afflictionMultiplier=1.0f)
 
virtual void Load (ContentXElement componentElement, bool usePrefabValues, IdRemap idRemap, bool isItemSwap)
 
virtual void OnMapLoaded ()
 Called when all items have been loaded. Use to initialize connections between items.
 
virtual void OnScaleChanged ()
 
virtual void OnInventoryChanged ()
 Called when the item has an ItemContainer and the contents inside of it changed.
 
virtual XElement Save (XElement parentElement)
 
virtual void Reset ()
 
virtual void ParseMsg ()
 
virtual bool ValidateEventData (NetEntityEvent.IData data)
 

Static Public Member Functions

static void ResetSpreadCounter ()
 
- Static Public Member Functions inherited from Barotrauma.Items.Components.ItemComponent
static ItemComponent Load (ContentXElement element, Item item, bool errorMessages=true)
 

Public Attributes

Submarine LaunchSub
 
List< Body > IgnoredBodies
 
Item Launcher
 The item that launched this projectile (if any)
 
- Public Attributes inherited from Barotrauma.Items.Components.ItemComponent
bool WasUsed
 
bool WasSecondaryUsed
 
readonly Dictionary< ActionType, List< StatusEffect > > statusEffectLists
 
Dictionary< RelatedItem.RelationType, List< RelatedItem > > RequiredItems
 
readonly List< RelatedItemDisabledRequiredItems = new List<RelatedItem>()
 
readonly List< SkillRequiredSkills = new List<Skill>()
 
readonly ContentXElement originalElement
 
Action< bool > OnActiveStateChanged
 
List< PropertyConditionalIsActiveConditionals
 
readonly NamedEvent< ItemUseInfoOnUsed = new()
 
readonly bool InheritStatusEffects
 

Static Public Attributes

const float WaterDragCoefficient = 0.1f
 

Protected Member Functions

override void RemoveComponentSpecific ()
 
- Protected Member Functions inherited from Barotrauma.Items.Components.ItemComponent
virtual void ShallowRemoveComponentSpecific ()
 
string GetTextureDirectory (ContentXElement subElement)
 
ExtractEventData< T > (NetEntityEvent.IData data)
 
bool TryExtractEventData< T > (NetEntityEvent.IData data, out T componentData)
 
AIObjectiveContainItem AIContainItems< T > (ItemContainer container, Character character, AIObjective currentObjective, int itemCount, bool equip, bool removeEmpty, bool spawnItemIfNotFound=false, bool dropItemOnDeselected=false)
 

Properties

static byte SpreadCounter [get]
 
Attack Attack [get]
 
Character User [get, set]
 
Character Attacker [get, set]
 
IEnumerable< Body > Hits [get]
 
float LaunchImpulse [get, set]
 
float ImpulseSpread [get, set]
 
float LaunchRotation [get, set]
 
float LaunchRotationRadians [get]
 
bool DoesStick [get, set]
 
bool StickToCharacters [get, set]
 
bool StickToStructures [get, set]
 
bool StickToItems [get, set]
 
bool StickToDoors [get, set]
 
bool StickToDeflective [get, set]
 
bool StickToLightTargets [get, set]
 
bool Hitscan [get, set]
 
int HitScanCount [get, set]
 
int MaxTargetsToHit [get, set]
 
bool RemoveOnHit [get, set]
 
float Spread [get, set]
 
bool StaticSpread [get, set]
 
bool FriendlyFire [get, set]
 
float DeactivationTime [get, set]
 
float StickDuration [get, set]
 
float MaxJointTranslation [get, set]
 
bool Prismatic [get, set]
 
bool IgnoreProjectilesWhileActive [get, set]
 
Body StickTarget [get]
 
bool DamageDoors [get, set]
 
bool DamageUser [get, set]
 
bool IsStuckToTarget [get]
 
- Properties inherited from Barotrauma.Items.Components.ItemComponent
ItemComponent Parent [get, set]
 
bool InheritParentIsActive [get, set]
 
virtual bool DontTransferInventoryBetweenSubs [get]
 If enabled, the contents of the item are not transferred when the player transfers items between subs. Use this if this component uses item containers in a way where removing the item from the container via external means would cause problems.
 
virtual bool DisallowSellingItemsFromContainer [get]
 If enabled, the items inside any of the item containers on this item cannot be sold at an outpost. Use in similar cases as DontTransferInventoryBetweenSubs.
 
float PickingTime [get, set]
 
string PickingMsg [get, set]
 
Dictionary< Identifier, SerializablePropertySerializableProperties [get, protected set]
 
virtual bool IsActive [get, set]
 
PropertyConditional.LogicalOperatorType IsActiveConditionalComparison [get, set]
 
bool Drawable [get, set]
 
bool CanBePicked [get, set]
 
bool DrawHudWhenEquipped [get, protected set]
 
bool LockGuiFramePosition [get, set]
 
Point GuiFrameOffset [get, set]
 
bool CanBeSelected [get, set]
 
bool CanBeCombined [get, set]
 
bool RemoveOnCombined [get, set]
 
bool CharacterUsable [get, set]
 
bool AllowInGameEditing [get, set]
 
InputType PickKey [get, protected set]
 
InputType SelectKey [get, protected set]
 
bool DeleteOnUse [get, set]
 
Item Item [get]
 
string Name [get]
 
string Msg [get, set]
 
LocalizedString DisplayMsg [get, set]
 
float CombatPriority [get]
 
int ManuallySelectedSound [get]
 Which sound should be played when manual sound selection type is selected? Not [Editable] because we don't want this visible in the editor for every component.
 
float Speed [get]
 Can be used by status effects or conditionals to the speed of the item.
 
virtual bool UpdateWhenInactive [get]
 
- Properties inherited from Barotrauma.ISerializableEntity

Additional Inherited Members

- Protected Attributes inherited from Barotrauma.Items.Components.ItemComponent
Item item
 
string name
 
bool characterUsable
 
bool canBePicked
 
bool canBeSelected
 
bool canBeCombined
 
bool removeOnCombined
 
CoroutineHandle delayedCorrectionCoroutine
 
float aiUpdateTimer
 
- Static Protected Attributes inherited from Barotrauma.Items.Components.ItemComponent
const float CorrectionDelay = 1.0f
 
const float AIUpdateInterval = 0.2f
 

Constructor & Destructor Documentation

◆ Projectile()

Barotrauma.Items.Components.Projectile.Projectile ( Item item,
ContentXElement element )

Member Function Documentation

◆ Drop()

override void Barotrauma.Items.Components.Projectile.Drop ( Character dropper,
bool setTransform = true )
virtual

a Character has dropped the item

Reimplemented from Barotrauma.Items.Components.ItemComponent.

◆ GetSpreadFromPool()

float Barotrauma.Items.Components.Projectile.GetSpreadFromPool ( )

◆ IsAttachedTo()

bool Barotrauma.Items.Components.Projectile.IsAttachedTo ( PhysicsBody body)

◆ OnItemLoaded()

override void Barotrauma.Items.Components.Projectile.OnItemLoaded ( )
virtual

Called when all the components of the item have been loaded. Use to initialize connections between components and such.

Reimplemented from Barotrauma.Items.Components.ItemComponent.

◆ RemoveComponentSpecific()

override void Barotrauma.Items.Components.Projectile.RemoveComponentSpecific ( )
protectedvirtual

◆ ResetSpreadCounter()

static void Barotrauma.Items.Components.Projectile.ResetSpreadCounter ( )
static

◆ Shoot()

void Barotrauma.Items.Components.Projectile.Shoot ( Character user,
Vector2 weaponPos,
Vector2 spawnPos,
float rotation,
List< Body > ignoredBodies,
bool createNetworkEvent,
float damageMultiplier = 1f,
float launchImpulseModifier = 0f )

◆ ShouldIgnoreSubmarineCollision()

bool Barotrauma.Items.Components.Projectile.ShouldIgnoreSubmarineCollision ( Fixture target,
Contact contact )

Should the collision with the target submarine be ignored (e.g. did the projectile collide with the wall behind the turret when being launched)

Parameters
targetFixture the projectile hit
contactContact between the projectile and the target
Returns
True if the target isn't a submarine or if the collision happened behind the launch position of the projectile

◆ Unstick()

void Barotrauma.Items.Components.Projectile.Unstick ( )

◆ Update()

override void Barotrauma.Items.Components.Projectile.Update ( float deltaTime,
Camera cam )
virtual

◆ Use() [1/2]

bool Barotrauma.Items.Components.Projectile.Use ( Character character = null,
float launchImpulseModifier = 0f )

◆ Use() [2/2]

override bool Barotrauma.Items.Components.Projectile.Use ( float deltaTime,
Character character = null )
virtual

Member Data Documentation

◆ IgnoredBodies

List<Body> Barotrauma.Items.Components.Projectile.IgnoredBodies

◆ Launcher

Item Barotrauma.Items.Components.Projectile.Launcher

The item that launched this projectile (if any)

◆ LaunchSub

Submarine Barotrauma.Items.Components.Projectile.LaunchSub

◆ WaterDragCoefficient

const float Barotrauma.Items.Components.Projectile.WaterDragCoefficient = 0.1f
static

Property Documentation

◆ Attack

Attack Barotrauma.Items.Components.Projectile.Attack
get

◆ Attacker

Character Barotrauma.Items.Components.Projectile.Attacker
getset

◆ DamageDoors

bool Barotrauma.Items.Components.Projectile.DamageDoors
getset

◆ DamageUser

bool Barotrauma.Items.Components.Projectile.DamageUser
getset

◆ DeactivationTime

float Barotrauma.Items.Components.Projectile.DeactivationTime
getset

◆ DoesStick

bool Barotrauma.Items.Components.Projectile.DoesStick
getset

◆ FriendlyFire

bool Barotrauma.Items.Components.Projectile.FriendlyFire
getset

◆ Hits

IEnumerable<Body> Barotrauma.Items.Components.Projectile.Hits
get

◆ Hitscan

bool Barotrauma.Items.Components.Projectile.Hitscan
getset

◆ HitScanCount

int Barotrauma.Items.Components.Projectile.HitScanCount
getset

◆ IgnoreProjectilesWhileActive

bool Barotrauma.Items.Components.Projectile.IgnoreProjectilesWhileActive
getset

◆ ImpulseSpread

float Barotrauma.Items.Components.Projectile.ImpulseSpread
getset

◆ IsStuckToTarget

bool Barotrauma.Items.Components.Projectile.IsStuckToTarget
get

◆ LaunchImpulse

float Barotrauma.Items.Components.Projectile.LaunchImpulse
getset

◆ LaunchRotation

float Barotrauma.Items.Components.Projectile.LaunchRotation
getset

◆ LaunchRotationRadians

float Barotrauma.Items.Components.Projectile.LaunchRotationRadians
get

◆ MaxJointTranslation

float Barotrauma.Items.Components.Projectile.MaxJointTranslation
getset

◆ MaxTargetsToHit

int Barotrauma.Items.Components.Projectile.MaxTargetsToHit
getset

◆ Prismatic

bool Barotrauma.Items.Components.Projectile.Prismatic
getset

◆ RemoveOnHit

bool Barotrauma.Items.Components.Projectile.RemoveOnHit
getset

◆ Spread

float Barotrauma.Items.Components.Projectile.Spread
getset

◆ SpreadCounter

byte Barotrauma.Items.Components.Projectile.SpreadCounter
staticget

◆ StaticSpread

bool Barotrauma.Items.Components.Projectile.StaticSpread
getset

◆ StickDuration

float Barotrauma.Items.Components.Projectile.StickDuration
getset

◆ StickTarget

Body Barotrauma.Items.Components.Projectile.StickTarget
get

◆ StickToCharacters

bool Barotrauma.Items.Components.Projectile.StickToCharacters
getset

◆ StickToDeflective

bool Barotrauma.Items.Components.Projectile.StickToDeflective
getset

◆ StickToDoors

bool Barotrauma.Items.Components.Projectile.StickToDoors
getset

◆ StickToItems

bool Barotrauma.Items.Components.Projectile.StickToItems
getset

◆ StickToLightTargets

bool Barotrauma.Items.Components.Projectile.StickToLightTargets
getset

◆ StickToStructures

bool Barotrauma.Items.Components.Projectile.StickToStructures
getset

◆ User

Character Barotrauma.Items.Components.Projectile.User
getset

The documentation for this class was generated from the following file: