package me.dannytatom.xibalba.effects; import com.badlogic.ashley.core.Entity; import com.badlogic.gdx.math.MathUtils; import me.dannytatom.xibalba.components.AttributesComponent; import me.dannytatom.xibalba.components.statuses.PoisonedComponent; import me.dannytatom.xibalba.utils.ComponentMappers; import me.dannytatom.xibalba.world.WorldManager; public class Poison extends Effect { public float chance; public int damage; public int life; @Override public void act(Entity caster, Entity target) { if (ComponentMappers.poisoned.has(target)) { return; } if (MathUtils.random() < chance / 100) { target.add(new PoisonedComponent(damage, life)); if (ComponentMappers.player.has(target)) { WorldManager.log.add("effects.poisoned.started", "You", "are"); } else { AttributesComponent attributes = ComponentMappers.attributes.get(target); WorldManager.log.add("effects.poisoned.started", attributes.name, "is"); } } } @Override public void revoke(Entity caster, Entity target) { } }