tModLoader  0.12 Alpha
A mod to make and play Terraria mods
Terraria.ModLoader.GlobalBuff Class Reference

This class allows you to modify the behavior of any buff in the game. More...

Inherits Terraria.ModLoader.ModType.

Public Member Functions

virtual void CustomBuffTipSize (string buffTip, List< Vector2 > sizes)
 If you are using the DrawCustomBuffTip hook, then you must use this hook as well. Calculate the location (relative to the origin) of the bottom-right corner of everything you will draw, and add that location to the sizes parameter. More...
 
virtual void DrawCustomBuffTip (string buffTip, SpriteBatch spriteBatch, int originX, int originY)
 Allows you to draw whatever you want when a buff tooltip is drawn. The originX and originY parameters are the top-left corner of everything that's drawn; you should add these to the position argument passed to SpriteBatch.Draw. More...
 
virtual void ModifyBuffTip (int type, ref string tip, ref int rare)
 Allows you to modify the tooltip that displays when the mouse hovers over the buff icon, as well as the color the buff's name is drawn in. More...
 
virtual void PostDraw (SpriteBatch spriteBatch, int type, int buffIndex, BuffDrawParams drawParams)
 Allows you to draw things after the buff has been drawn. skipped is true if you or another mod has skipped drawing the buff (possibly hiding it or in favor of new visuals). More...
 
virtual bool PreDraw (SpriteBatch spriteBatch, int type, int buffIndex, ref BuffDrawParams drawParams)
 Allows you to draw things before the default draw code is ran. Return false to prevent drawing the buff. Returns true by default. More...
 
virtual bool ReApply (int type, NPC npc, int time, int buffIndex)
 Allows to you make special things happen when adding the given buff type to an NPC when the NPC already has that buff. Return true to block the vanilla re-apply code from being called; returns false by default. The vanilla re-apply code sets the buff time to the "time" argument if that argument is larger than the current buff time. More...
 
virtual bool ReApply (int type, Player player, int time, int buffIndex)
 Allows to you make special things happen when adding the given type of buff to a player when the player already has that buff. Return true to block the vanilla re-apply code from being called; returns false by default. The vanilla re-apply code sets the buff time to the "time" argument if that argument is larger than the current buff time. (For Mana Sickness, the vanilla re-apply code adds the "time" argument to the current buff time.) More...
 
virtual bool RightClick (int type, int buffIndex)
 Allows you to make things happen when the buff icon is right-clicked. Return false to prevent the buff from being cancelled. More...
 
sealed override void SetupContent ()
 If you make a new ModType, seal this override, and call SetStaticDefaults in it. More...
 
virtual void Update (int type, NPC npc, ref int buffIndex)
 Allows you to make the buff with the given ID give certain effects to an NPC. If you remove the buff from the NPC, make sure to decrement the buffIndex parameter by 1. More...
 
virtual void Update (int type, Player player, ref int buffIndex)
 Allows you to make the buff with the given ID give certain effects to a player. If you remove the buff from the player, make sure the decrement the buffIndex parameter by 1. More...
 
- Public Member Functions inherited from Terraria.ModLoader.ModType
virtual bool IsLoadingEnabled (Mod mod)
 Allows you to stop Mod.AddContent from actually adding this content. Useful for items that can be disabled by a config. More...
 
virtual void Load ()
 Allows you to perform one-time loading tasks. Beware that mod content has not finished loading here, things like ModContent lookup tables or ID Sets are not fully populated. More...
 
virtual void SetStaticDefaults ()
 Allows you to modify the properties after initial loading has completed. More...
 
virtual void Unload ()
 Allows you to safely unload things you added in Load. More...
 

Protected Member Functions

sealed override void Register ()
 If you make a new ModType, seal this override. More...
 

Additional Inherited Members

- Properties inherited from Terraria.ModLoader.ModType
string FullName [get]
 The internal name of this, including the mod it is from. More...
 
Mod Mod [get, set]
 The mod this belongs to. More...
 
virtual string Name [get]
 The internal name of this. More...
 
- Properties inherited from Terraria.ModLoader.IModType
string FullName [get]
 => $"{Mod.Name}/{Name}" More...
 
Mod Mod [get]
 The mod this belongs to. More...
 
string Name [get]
 The internal name of this instance. More...
 

Detailed Description

This class allows you to modify the behavior of any buff in the game.

Member Function Documentation

◆ CustomBuffTipSize()

virtual void Terraria.ModLoader.GlobalBuff.CustomBuffTipSize ( string  buffTip,
List< Vector2 >  sizes 
)
virtual

If you are using the DrawCustomBuffTip hook, then you must use this hook as well. Calculate the location (relative to the origin) of the bottom-right corner of everything you will draw, and add that location to the sizes parameter.

◆ DrawCustomBuffTip()

virtual void Terraria.ModLoader.GlobalBuff.DrawCustomBuffTip ( string  buffTip,
SpriteBatch  spriteBatch,
int  originX,
int  originY 
)
virtual

Allows you to draw whatever you want when a buff tooltip is drawn. The originX and originY parameters are the top-left corner of everything that's drawn; you should add these to the position argument passed to SpriteBatch.Draw.

◆ ModifyBuffTip()

virtual void Terraria.ModLoader.GlobalBuff.ModifyBuffTip ( int  type,
ref string  tip,
ref int  rare 
)
virtual

Allows you to modify the tooltip that displays when the mouse hovers over the buff icon, as well as the color the buff's name is drawn in.

◆ PostDraw()

virtual void Terraria.ModLoader.GlobalBuff.PostDraw ( SpriteBatch  spriteBatch,
int  type,
int  buffIndex,
BuffDrawParams  drawParams 
)
virtual

Allows you to draw things after the buff has been drawn. skipped is true if you or another mod has skipped drawing the buff (possibly hiding it or in favor of new visuals).

Parameters
spriteBatchThe spriteBatch that is drawn on
typeThe buff type
buffIndexThe index in Main.LocalPlayer.buffType and .buffTime of the buff
drawParamsThe draw parameters for the buff

◆ PreDraw()

virtual bool Terraria.ModLoader.GlobalBuff.PreDraw ( SpriteBatch  spriteBatch,
int  type,
int  buffIndex,
ref BuffDrawParams  drawParams 
)
virtual

Allows you to draw things before the default draw code is ran. Return false to prevent drawing the buff. Returns true by default.

Parameters
spriteBatchThe spriteBatch that is drawn on
typeThe buff type
buffIndexThe index in Main.LocalPlayer.buffType and .buffTime of the buff
drawParamsThe draw parameters for the buff
Returns
true for allowing drawing, false for preventing drawing

◆ ReApply() [1/2]

virtual bool Terraria.ModLoader.GlobalBuff.ReApply ( int  type,
NPC  npc,
int  time,
int  buffIndex 
)
virtual

Allows to you make special things happen when adding the given buff type to an NPC when the NPC already has that buff. Return true to block the vanilla re-apply code from being called; returns false by default. The vanilla re-apply code sets the buff time to the "time" argument if that argument is larger than the current buff time.

◆ ReApply() [2/2]

virtual bool Terraria.ModLoader.GlobalBuff.ReApply ( int  type,
Player  player,
int  time,
int  buffIndex 
)
virtual

Allows to you make special things happen when adding the given type of buff to a player when the player already has that buff. Return true to block the vanilla re-apply code from being called; returns false by default. The vanilla re-apply code sets the buff time to the "time" argument if that argument is larger than the current buff time. (For Mana Sickness, the vanilla re-apply code adds the "time" argument to the current buff time.)

◆ Register()

sealed override void Terraria.ModLoader.GlobalBuff.Register ( )
protectedvirtual

If you make a new ModType, seal this override.

Implements Terraria.ModLoader.ModType.

◆ RightClick()

virtual bool Terraria.ModLoader.GlobalBuff.RightClick ( int  type,
int  buffIndex 
)
virtual

Allows you to make things happen when the buff icon is right-clicked. Return false to prevent the buff from being cancelled.

Parameters
typeThe buff type
buffIndexThe index in Main.LocalPlayer.buffType and .buffTime of the buff
Returns
true for allowing the buff to be cancelled, false to prevent the buff from being cancelled

◆ SetupContent()

sealed override void Terraria.ModLoader.GlobalBuff.SetupContent ( )
virtual

If you make a new ModType, seal this override, and call SetStaticDefaults in it.

Reimplemented from Terraria.ModLoader.ModType.

◆ Update() [1/2]

virtual void Terraria.ModLoader.GlobalBuff.Update ( int  type,
NPC  npc,
ref int  buffIndex 
)
virtual

Allows you to make the buff with the given ID give certain effects to an NPC. If you remove the buff from the NPC, make sure to decrement the buffIndex parameter by 1.

◆ Update() [2/2]

virtual void Terraria.ModLoader.GlobalBuff.Update ( int  type,
Player  player,
ref int  buffIndex 
)
virtual

Allows you to make the buff with the given ID give certain effects to a player. If you remove the buff from the player, make sure the decrement the buffIndex parameter by 1.