summaryrefslogtreecommitdiff
path: root/YWD/src/main/java/fyresmodjam/blessings/standard/BerserkerBlessing.java
blob: 0fa022fa184078bf045c09cfba06efa1d93ad3c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package fyresmodjam.blessings.standard;

import fyresmodjam.blessings.Blessing;
import fyresmodjam.blessings.BlessingUtils;
import fyresmodjam.misc.EntityStatHelper;
import net.minecraftforge.event.entity.living.LivingDeathEvent;
import net.minecraftforge.event.entity.living.LivingHurtEvent;

public class BerserkerBlessing extends StandardBlessing {
	public BerserkerBlessing() {
		super("Berserker", false);
	}

	@Override
	public String description() {
		return "@@§ePASSIVE - §oKills are added as berserk charges. (10 max)@@§eACTIVE - §oTurn on/off berserk mode. While berserk mode is active, you do increased damage, and expend a counter every 2 seconds";
	}

	@Override
	public float onOutgoingDamage(LivingHurtEvent event, float damageMultiplier) {
		if (BlessingUtils.isBlessingActive(event.source.getEntity())) {
			return damageMultiplier + 0.3f;
		}

		return damageMultiplier;
	}

	@Override
	public void onMobKill(LivingDeathEvent event) {
		if (!EntityStatHelper.hasStat(event.source.getEntity(), "BlessingCounter")) {
			EntityStatHelper.giveStat(event.source.getEntity(), "BlessingCounter", 0);
		}

		EntityStatHelper.giveStat(event.source.getEntity(), "BlessingCounter", Math.min(10,
				Integer.parseInt(EntityStatHelper.getStat(event.source.getEntity(), "BlessingCounter")) + 1));
	}
}