up3
Build and deploy / Build (push) Has been cancelled
Build and deploy / Update Contributors (push) Has been cancelled
Build and deploy / Deploy (push) Has been cancelled
Build and deploy / Build (push) Has been cancelled
Build and deploy / Update Contributors (push) Has been cancelled
Build and deploy / Deploy (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
package effect
|
||||
|
||||
import (
|
||||
"github.com/df-mc/dragonfly/server/world"
|
||||
"image/color"
|
||||
)
|
||||
|
||||
// InstantHealth is an instant effect that causes the player that it is applied
|
||||
// to immediately regain some health. The amount of health regained depends on
|
||||
// the effect level and potency.
|
||||
var InstantHealth instantHealth
|
||||
|
||||
type instantHealth struct{}
|
||||
|
||||
// Apply instantly heals the world.Entity passed for a bit of health, depending on the effect level and
|
||||
// potency.
|
||||
func (i instantHealth) Apply(e world.Entity, eff Effect) {
|
||||
base := 2 << eff.Level()
|
||||
if l, ok := e.(living); ok {
|
||||
l.Heal(float64(base)*eff.potency, InstantHealingSource{})
|
||||
}
|
||||
}
|
||||
|
||||
// RGBA ...
|
||||
func (instantHealth) RGBA() color.RGBA {
|
||||
return color.RGBA{R: 0xf8, G: 0x24, B: 0x23, A: 0xff}
|
||||
}
|
||||
|
||||
// InstantHealingSource is a healing source used when an entity regains
|
||||
// health from an effect.instantHealth.
|
||||
type InstantHealingSource struct{}
|
||||
|
||||
func (InstantHealingSource) HealingSource() {}
|
||||
Reference in New Issue
Block a user