summaryrefslogtreecommitdiff
path: root/src/main/java/fyresmodjam/blessings/standard/BerserkerBlessing.java
blob: 4e7f784f6df5fa78135da7e3b666f70d28e5294a (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
38
39
40
41
42
43
44
45
46
47
48
49
50
package fyresmodjam.blessings.standard;

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

public class BerserkerBlessing extends Blessing {

	@Override
	public String name() {
		return "Berserker";
	}

	@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.getSource().getTrueSource())) {
			return damageMultiplier + 0.3f;
		}

		return damageMultiplier;
	}

	@Override
	public void onMobKill(LivingDeathEvent event) {
		Entity trueSource = event.getSource().getTrueSource();

		if (!EntityStatHelper.hasStat(trueSource,
				"BlessingCounter")) {
			EntityStatHelper.giveStat(trueSource,
					"BlessingCounter", 0);
		}

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