Functionality of ObjectHealth for breakable pots. This script inherits from ObjectHealth. When the pot breaks, this script instantiates and launches a broken pot in its place.
Documentation updated 3/11/2025
- Author
- Alexander Art
|
override void | TakeDamage (Transform attacker, int damage) |
| When the pot takes damage, it breaks.
|
|
virtual void | ResetHealth () |
| Set currentHealth back to maxHealth.
|
|
virtual void | TakeDamage (int damage) |
| If something attacks the object, it will run ObjectHealth.TakeDamage()
|
|
IEnumerator | SetOnFire (int damageCount, float damageSpeed, int damage) |
| Starts damaging the object (with FireDamage()) repeatedly. A fire sprite will appear over the object while it's on fire. - Parameters
-
damageCount | The amount of times the fire will deal damage before the object stops being on fire. |
damageSpeed | The amount of seconds between each round of dealing damage. |
damage | The amount of damage to deal each time. |
|
|
void | FireImmunity (float seconds) |
| Start a coroutine for FireImmunityTimer().
|
|
int | GetMaxHealth () |
| \breif Return the object's max health.
|
|
|
UnityEvent | OnDeath |
| Invokes any subscribed functions when the object dies.
|
|
IEnumerator | Invincibility () |
| Makes object invincible for invincibleDuration seconds. Toggles transparency every invincibleFlash seconds.
|
|
void | ToggleTransparency (bool isOn) |
| Toggles the reduced opacity of the sprite that is used to create the flashing effect when invincible.
|
|
virtual void | FireDamage (int damage) |
| Similar functionality to TakeDamage(), but no invincibility is triggered and no animation players. Used when on fire.
|
|
virtual void | Die () |
| Triggered when the object runs out of health. Plays a death sound and animation, drops souls/god souls, and disables the object.
|
|
IEnumerator | FireImmunityTimer (float seconds) |
| Make the object immune to fire for the given amount of seconds.
|
|
SpriteRenderer | sRenderer |
| Reference to the object’s sprite renderer.
|
|
Animator | animator |
|
Transform | hurtEffect |
|
SpriteRenderer | onFireSprite |
|
EventReference | deathSfxName |
| Reference to the sound effect the object should play when it dies. Nothing will play if left blank.
|
|
bool | enableDamageParticles = true |
| If enabled, the object will spawn the given hurtEffect particles when taking damage.
|
|
bool | disableColliderOnDeath = true |
| If enabled, the object's Collider2D component will be disabled when it dies.
|
|
bool | disableRigidbodyOnDeath = true |
| If enabled, the object's Rigidbody2D component will be disabled when it dies.
|
|
bool | destroyOnDeath = false |
| If enabled, the object will be destroyed when it dies.
|
|
int | maxHealth = 100 |
| The maximum health the object can have.
|
|
int | soulsDroppedOnDeath = 0 |
| The amount of souls the object should grant the player upon death. To disable, set to <= 0.
|
|
int | godSoulsDroppedOnDeath = 0 |
| The amount of god souls the object should grant the player upon death. To disable, set to <= 0.
|
|
bool | canBeInvincible = false |
| If enabled, the object will be invincible for a short duration after taking damage (invincibility frames).
|
|
float | invincibleDuration = 3f |
| In seconds, how long invincibility lasts for after taking damage.
|
|
float | flashDuration = 0.25f |
| In seconds, how often the sprite should swap between being opaque and transparent (creating a flashing effect).
|
|
WaitForSeconds | invincibleFlash |
| The WaitForSeconds variable that is used to implement flashDuration.
|
|
bool | isInvincible = false |
| If the object is currently invincible.
|
|
bool | canBeOnFire = true |
| Whether or not the object can be set on fire.
|
|
bool | onFire = false |
| Whether or not the object is currently on fire.
|
|
bool | fireImmune = false |
| Whether or not the object currently has immunity to fire (usually from an ability).
|
|
bool | IsDead [get] |
| The object is dead if the currentHealth falls to 0.
|
|
int | currentHealth [get, protected set] |
| The amount of health the object currently has.
|
|
static Action< int > | soulsDropped |
| Triggered when the object dies (if soulsDroppedOnDeath > 0), telling the DataManager that the amount of souls the player has collected has increased.
|
|
static Action< int > | godSoulsDropped |
| Triggered when the object dies (if godSoulsDroppedOnDeath > 0), telling the DataManager that the amount of god souls the player has collected has increased.
|
|