26ed99fda6
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
31 lines
639 B
Go
31 lines
639 B
Go
package effect
|
|
|
|
import (
|
|
"github.com/df-mc/dragonfly/server/world"
|
|
"image/color"
|
|
)
|
|
|
|
// Resistance is a lasting effect that reduces the damage taken from any
|
|
// sources except for void damage or custom damage.
|
|
var Resistance resistance
|
|
|
|
type resistance struct {
|
|
nopLasting
|
|
}
|
|
|
|
// Multiplier returns a damage multiplier for the damage source passed.
|
|
func (resistance) Multiplier(e world.DamageSource, lvl int) float64 {
|
|
if !e.ReducedByResistance() {
|
|
return 1
|
|
}
|
|
if v := 1 - 0.2*float64(lvl); v >= 0 {
|
|
return v
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// RGBA ...
|
|
func (resistance) RGBA() color.RGBA {
|
|
return color.RGBA{R: 0x91, G: 0x46, B: 0xf0, A: 0xff}
|
|
}
|