Table of Contents

Class TinkerProjectile

Namespace
TrinketTinker.Effects.Support
Assembly
TrinketTinker.dll

Custom projectile class, can utilize custom texture and deal damage with optional knockback crit/crit damage and stun.

public sealed class TinkerProjectile : Projectile, INetObject<NetFields>, IHaveModData
Inheritance
Projectile
TinkerProjectile
Implements
INetObject<NetFields>
IHaveModData
Inherited Members
Projectile.travelTimeBeforeCollisionPossible
Projectile.goblinsCurseIndex
Projectile.flameBallIndex
Projectile.fearBolt
Projectile.shadowBall
Projectile.bone
Projectile.throwingKnife
Projectile.snowBall
Projectile.shamanBolt
Projectile.frostBall
Projectile.frozenBolt
Projectile.fireball
Projectile.slash
Projectile.arrowBolt
Projectile.launchedSlime
Projectile.magicArrow
Projectile.iceOrb
Projectile.projectileSheetName
Projectile.timePerTailUpdate
Projectile.boundingBoxWidth
Projectile.projectileSheet
Projectile.currentTileSheetIndex
Projectile.itemId
Projectile.position
Projectile.tailLength
Projectile.tailCounter
Projectile.bounceSound
Projectile.bouncesLeft
Projectile.piercesLeft
Projectile.travelTime
Projectile.hostTimeUntilAttackable
Projectile.startingRotation
Projectile.rotationVelocity
Projectile.alpha
Projectile.alphaChange
Projectile.xVelocity
Projectile.yVelocity
Projectile.acceleration
Projectile.maxVelocity
Projectile.color
Projectile.tail
Projectile.maxTravelDistance
Projectile.travelDistance
Projectile.projectileID
Projectile.uniqueID
Projectile.height
Projectile.damagesMonsters
Projectile.theOneWhoFiredMe
Projectile.ignoreTravelGracePeriod
Projectile.ignoreLocationCollision
Projectile.ignoreObjectCollisions
Projectile.ignoreMeleeAttacks
Projectile.ignoreCharacterCollisions
Projectile.destroyMe
Projectile.startingScale
Projectile.scaleGrow
Projectile.light
Projectile.hasLit
Projectile.lightSourceId
Projectile.isColliding(GameLocation, out Character, out TerrainFeature)
Projectile.GetTexture()
Projectile.GetSourceRect()
Projectile.IgnoreLocationCollision
Projectile.modData
Projectile.modDataForSerialization
Projectile.NetFields
Projectile.localScale

Constructors

TinkerProjectile()

Construct an empty instance.

public TinkerProjectile()

TinkerProjectile(ProjectileArgs, ProcEventArgs, Monster, Vector2)

public TinkerProjectile(ProjectileArgs args, ProcEventArgs proc, Monster target, Vector2 sourcePosition)

Parameters

args ProjectileArgs
proc ProcEventArgs
target Monster
sourcePosition Vector2

Methods

InitNetFields()

Initialize the collection of fields to sync in multiplayer.

protected override void InitNetFields()

UpdatePiercesLeft(GameLocation)

public void UpdatePiercesLeft(GameLocation location)

Parameters

location GameLocation

behaviorOnCollisionWithMonster(NPC, GameLocation)

Deal damage to monster.

public override void behaviorOnCollisionWithMonster(NPC n, GameLocation location)

Parameters

n NPC
location GameLocation

behaviorOnCollisionWithOther(GameLocation)

public override void behaviorOnCollisionWithOther(GameLocation location)

Parameters

location GameLocation

behaviorOnCollisionWithPlayer(GameLocation, Farmer)

public override void behaviorOnCollisionWithPlayer(GameLocation location, Farmer player)

Parameters

location GameLocation
player Farmer

behaviorOnCollisionWithTerrainFeature(TerrainFeature, Vector2, GameLocation)

public override void behaviorOnCollisionWithTerrainFeature(TerrainFeature t, Vector2 tileLocation, GameLocation location)

Parameters

t TerrainFeature
tileLocation Vector2
location GameLocation

draw(SpriteBatch)

Needed to override this to get custom texture weh

public override void draw(SpriteBatch b)

Parameters

b SpriteBatch

getBoundingBox()

public override Rectangle getBoundingBox()

Returns

Rectangle

update(GameTime, GameLocation)

public override bool update(GameTime time, GameLocation location)

Parameters

time GameTime
location GameLocation

Returns

bool

updatePosition(GameTime)

Same as basic projectile

public override void updatePosition(GameTime time)

Parameters

time GameTime