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.
|
| |