summaryrefslogtreecommitdiff
path: root/src/main/java/darkknight/jewelrycraft/affixes/AffixMods.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/darkknight/jewelrycraft/affixes/AffixMods.java')
-rw-r--r--src/main/java/darkknight/jewelrycraft/affixes/AffixMods.java129
1 files changed, 101 insertions, 28 deletions
diff --git a/src/main/java/darkknight/jewelrycraft/affixes/AffixMods.java b/src/main/java/darkknight/jewelrycraft/affixes/AffixMods.java
index 993a9bd..8be46e6 100644
--- a/src/main/java/darkknight/jewelrycraft/affixes/AffixMods.java
+++ b/src/main/java/darkknight/jewelrycraft/affixes/AffixMods.java
@@ -27,23 +27,7 @@ public class AffixMods {
private static List<WeightedRandomAffix> earringsSuffixGen;
public static void initializeAffixes(FMLPreInitializationEvent fpie) {
- prefixes = new HashMap<String, ModifierEffect>();
- suffixes = new HashMap<String, ModifierEffect>();
-
- generalPrefixGen = new LinkedList<WeightedRandomAffix>();
- generalSuffixGen = new LinkedList<WeightedRandomAffix>();
-
- ringPrefixGen = new LinkedList<WeightedRandomAffix>();
- ringSuffixGen = new LinkedList<WeightedRandomAffix>();
-
- braceletPrefixGen = new LinkedList<WeightedRandomAffix>();
- braceletSuffixGen = new LinkedList<WeightedRandomAffix>();
-
- necklacePrefixGen = new LinkedList<WeightedRandomAffix>();
- necklaceSuffixGen = new LinkedList<WeightedRandomAffix>();
-
- earringsPrefixGen = new LinkedList<WeightedRandomAffix>();
- earringsSuffixGen = new LinkedList<WeightedRandomAffix>();
+ initFields();
ModifierEffect health1 = new HealthAffix(1);
ModifierEffect health2 = new HealthAffix(2);
@@ -62,13 +46,29 @@ public class AffixMods {
ModifierEffect flatDMG4 = new DamageAffix(4, 0, 1);
ModifierEffect flatDMG5 = new DamageAffix(5, 0, 1);
ModifierEffect flatDMG6 = new DamageAffix(6, 0, 1);
-
+
ModifierEffect flatarm1 = new ArmorAffix(1, 0, 1);
ModifierEffect flatarm2 = new ArmorAffix(2, 0, 1);
ModifierEffect flatarm3 = new ArmorAffix(3, 0, 1);
ModifierEffect flatarm4 = new ArmorAffix(4, 0, 1);
ModifierEffect flatarm5 = new ArmorAffix(5, 0, 1);
ModifierEffect flatarm6 = new ArmorAffix(6, 0, 1);
+
+ ModifierEffect flatarmlife1 = new ComboAffix(new HealthAffix(1), new ArmorAffix(1, 0, 1));
+ ModifierEffect flatarmlife2 = new ComboAffix(new HealthAffix(2), new ArmorAffix(2, 0, 1));
+ ModifierEffect flatarmlife3 = new ComboAffix(new HealthAffix(3), new ArmorAffix(3, 0, 1));
+
+ ModifierEffect coward1 = new ComboAffix(new HealthAffix(2), new ArmorAffix(0, 0, 1.1f));
+ ModifierEffect coward2 = new ComboAffix(new HealthAffix(4), new ArmorAffix(0, 0, 1.2f));
+ ModifierEffect coward3 = new ComboAffix(new HealthAffix(6), new ArmorAffix(0, 0, 1.3f));
+
+ ModifierEffect gambler1 = new ComboAffix(new DamageAffix(0, 0, 1.25f), new ArmorAffix(0, 0, 1.25f));
+ ModifierEffect gambler2 = new ComboAffix(new DamageAffix(0, 0, 1.5f), new ArmorAffix(0, 0, 1.5f));
+ ModifierEffect gambler3 = new ComboAffix(new DamageAffix(0, 0, 1.75f), new ArmorAffix(0, 0, 1.75f));
+
+ ModifierEffect looter1 = new LootingAffix(1);
+ ModifierEffect looter2 = new LootingAffix(2);
+ ModifierEffect looter3 = new LootingAffix(3);
prefixes.put("health1", health1);
prefixes.put("health2", health2);
@@ -76,7 +76,7 @@ public class AffixMods {
prefixes.put("health4", health4);
prefixes.put("health5", health5);
prefixes.put("health6", health6);
-
+
prefixes.put("flatdmg1", flatDMG1);
prefixes.put("flatdmg2", flatDMG2);
prefixes.put("flatdmg3", flatDMG3);
@@ -84,14 +84,22 @@ public class AffixMods {
prefixes.put("flatdmg5", flatDMG5);
prefixes.put("flatdmg6", flatDMG6);
+ prefixes.put("flatarmlife1", flatarmlife1);
+ prefixes.put("flatarmlife2", flatarmlife2);
+ prefixes.put("flatarmlife3", flatarmlife3);
+
+ prefixes.put("gambler1", gambler1);
+ prefixes.put("gambler2", gambler2);
+ prefixes.put("gambler3", gambler3);
+
suffixes.put("health1", health1);
suffixes.put("health2", health2);
suffixes.put("health3", health3);
-
+
suffixes.put("hitheal1", hitheal1);
suffixes.put("hitheal2", hitheal2);
suffixes.put("hitheal3", hitheal3);
-
+
suffixes.put("flatarm1", flatarm1);
suffixes.put("flatarm2", flatarm2);
suffixes.put("flatarm3", flatarm3);
@@ -99,6 +107,14 @@ public class AffixMods {
suffixes.put("flatarm5", flatarm5);
suffixes.put("flatarm6", flatarm6);
+ suffixes.put("coward1", coward1);
+ suffixes.put("coward2", coward2);
+ suffixes.put("coward3", coward3);
+
+ suffixes.put("looter1", looter1);
+ suffixes.put("looter2", looter2);
+ suffixes.put("looter3", looter3);
+
/*
* Affix generation
*/
@@ -119,13 +135,29 @@ public class AffixMods {
WeightedRandomAffix wraflatDMG4 = new WeightedRandomAffix("flatdmg4", 4);
WeightedRandomAffix wraflatDMG5 = new WeightedRandomAffix("flatdmg5", 2);
WeightedRandomAffix wraflatDMG6 = new WeightedRandomAffix("flatdmg6", 1);
-
+
WeightedRandomAffix wraflatarm1 = new WeightedRandomAffix("flatarm1", 9);
WeightedRandomAffix wraflatarm2 = new WeightedRandomAffix("flatarm2", 8);
WeightedRandomAffix wraflatarm3 = new WeightedRandomAffix("flatarm3", 6);
WeightedRandomAffix wraflatarm4 = new WeightedRandomAffix("flatarm4", 4);
WeightedRandomAffix wraflatarm5 = new WeightedRandomAffix("flatarm5", 2);
WeightedRandomAffix wraflatarm6 = new WeightedRandomAffix("flatarm6", 1);
+
+ WeightedRandomAffix wraflatarmlife1 = new WeightedRandomAffix("flatarmlife1", 8);
+ WeightedRandomAffix wraflatarmlife2 = new WeightedRandomAffix("flatarmlife2", 6);
+ WeightedRandomAffix wraflatarmlife3 = new WeightedRandomAffix("flatarmlife3", 4);
+
+ WeightedRandomAffix wracoward1 = new WeightedRandomAffix("coward1", 9);
+ WeightedRandomAffix wracoward2 = new WeightedRandomAffix("coward1", 7);
+ WeightedRandomAffix wracoward3 = new WeightedRandomAffix("coward1", 5);
+
+ WeightedRandomAffix wragambler1 = new WeightedRandomAffix("gambler1", 6);
+ WeightedRandomAffix wragambler2 = new WeightedRandomAffix("gambler2", 4);
+ WeightedRandomAffix wragambler3 = new WeightedRandomAffix("gambler3", 2);
+
+ WeightedRandomAffix wralooter1 = new WeightedRandomAffix("looter1", 6);
+ WeightedRandomAffix wralooter2 = new WeightedRandomAffix("looter2", 4);
+ WeightedRandomAffix wralooter3 = new WeightedRandomAffix("looter3", 2);
/*
* Prefixes
@@ -152,11 +184,25 @@ public class AffixMods {
necklacePrefixGen.add(wraflatDMG5);
earringsPrefixGen.add(wraflatDMG5);
earringsPrefixGen.add(wraflatDMG6);
+
+ generalPrefixGen.add(wraflatarmlife1);
+ braceletPrefixGen.add(wraflatarmlife1);
+ necklacePrefixGen.add(wraflatarmlife2);
+ earringsPrefixGen.add(wraflatarmlife3);
+
+ necklacePrefixGen.add(wragambler1);
+ earringsPrefixGen.add(wragambler2);
+ earringsPrefixGen.add(wragambler3);
+
+ generalPrefixGen.add(wralooter1);
+ ringPrefixGen.add(wralooter1);
+ braceletPrefixGen.add(wralooter2);
+ necklacePrefixGen.add(wralooter3);
/*
* Suffixes
*/
-
+
generalSuffixGen.add(wraHealth1);
generalSuffixGen.add(wraHealth2);
generalSuffixGen.add(wraHealth3);
@@ -170,7 +216,7 @@ public class AffixMods {
braceletSuffixGen.add(wraHitheal2);
necklaceSuffixGen.add(wraHitheal2);
necklaceSuffixGen.add(wraHitheal3);
-
+
generalSuffixGen.add(wraflatarm1);
generalSuffixGen.add(wraflatarm2);
generalSuffixGen.add(wraflatarm3);
@@ -183,6 +229,31 @@ public class AffixMods {
necklaceSuffixGen.add(wraflatarm5);
earringsSuffixGen.add(wraflatarm5);
earringsSuffixGen.add(wraflatarm6);
+
+ generalSuffixGen.add(wracoward1);
+ ringSuffixGen.add(wracoward1);
+ braceletSuffixGen.add(wracoward2);
+ necklaceSuffixGen.add(wracoward3);
+ }
+
+ private static void initFields() {
+ prefixes = new HashMap<String, ModifierEffect>();
+ suffixes = new HashMap<String, ModifierEffect>();
+
+ generalPrefixGen = new LinkedList<WeightedRandomAffix>();
+ generalSuffixGen = new LinkedList<WeightedRandomAffix>();
+
+ ringPrefixGen = new LinkedList<WeightedRandomAffix>();
+ ringSuffixGen = new LinkedList<WeightedRandomAffix>();
+
+ braceletPrefixGen = new LinkedList<WeightedRandomAffix>();
+ braceletSuffixGen = new LinkedList<WeightedRandomAffix>();
+
+ necklacePrefixGen = new LinkedList<WeightedRandomAffix>();
+ necklaceSuffixGen = new LinkedList<WeightedRandomAffix>();
+
+ earringsPrefixGen = new LinkedList<WeightedRandomAffix>();
+ earringsSuffixGen = new LinkedList<WeightedRandomAffix>();
}
public static ModifierEffect getPrefix(String prefix) {
@@ -216,8 +287,9 @@ public class AffixMods {
}
}
- if (pickList.size() <= 0) pickList = generalPrefixGen;
-
+ if (pickList.size() <= 0)
+ pickList = generalPrefixGen;
+
WeightedRandomAffix wra = ((WeightedRandomAffix) WeightedRandom.getRandomItem(random, pickList));
return wra.getAffix(random);
@@ -246,8 +318,9 @@ public class AffixMods {
}
}
- if (pickList.size() <= 0) pickList = generalSuffixGen;
-
+ if (pickList.size() <= 0)
+ pickList = generalSuffixGen;
+
WeightedRandomAffix wra = ((WeightedRandomAffix) WeightedRandom.getRandomItem(random, pickList));
return wra.getAffix(random);