From 6706fae4a88b04d0a290e246b33eba313841e338 Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Thu, 5 Sep 2019 20:57:51 -0400 Subject: Yet more affix work --- .../darkknight/jewelrycraft/affixes/AffixMods.java | 140 ++++++++++++++++++--- 1 file changed, 120 insertions(+), 20 deletions(-) (limited to 'src/main/java/darkknight/jewelrycraft/affixes/AffixMods.java') diff --git a/src/main/java/darkknight/jewelrycraft/affixes/AffixMods.java b/src/main/java/darkknight/jewelrycraft/affixes/AffixMods.java index d124251..2ac5319 100644 --- a/src/main/java/darkknight/jewelrycraft/affixes/AffixMods.java +++ b/src/main/java/darkknight/jewelrycraft/affixes/AffixMods.java @@ -11,35 +11,91 @@ public class AffixMods { private static Map prefixes; private static Map suffixes; - private static List prefixGen; - private static List suffixGen; + private static List generalPrefixGen; + private static List generalSuffixGen; + + private static List ringPrefixGen; + private static List ringSuffixGen; + + private static List braceletPrefixGen; + private static List braceletSuffixGen; + + private static List necklacePrefixGen; + private static List necklaceSuffixGen; + + private static List earringsPrefixGen; + private static List earringsSuffixGen; public static void initializeAffixes(FMLPreInitializationEvent fpie) { prefixes = new HashMap(); suffixes = new HashMap(); - - prefixGen = new LinkedList(); - suffixGen = new LinkedList(); - + + generalPrefixGen = new LinkedList(); + generalSuffixGen = new LinkedList(); + + ringPrefixGen = new LinkedList(); + ringSuffixGen = new LinkedList(); + + braceletPrefixGen = new LinkedList(); + braceletSuffixGen = new LinkedList(); + + necklacePrefixGen = new LinkedList(); + necklaceSuffixGen = new LinkedList(); + + earringsPrefixGen = new LinkedList(); + earringsSuffixGen = new LinkedList(); + ModifierEffect health1 = new HealthAffix(1); ModifierEffect health2 = new HealthAffix(2); ModifierEffect health3 = new HealthAffix(3); - + ModifierEffect health4 = new HealthAffix(4); + ModifierEffect health5 = new HealthAffix(5); + ModifierEffect health6 = new HealthAffix(6); + prefixes.put("health1", health1); prefixes.put("health2", health2); prefixes.put("health3", health3); - - prefixGen.add(new WeightedRandomAffix("health1", 10)); - prefixGen.add(new WeightedRandomAffix("health2", 7)); - prefixGen.add(new WeightedRandomAffix("health3", 5)); - + prefixes.put("health4", health4); + prefixes.put("health5", health5); + prefixes.put("health6", health6); + suffixes.put("health1", health1); suffixes.put("health2", health2); suffixes.put("health3", health3); - - suffixGen.add(new WeightedRandomAffix("health1", 10)); - suffixGen.add(new WeightedRandomAffix("health2", 7)); - suffixGen.add(new WeightedRandomAffix("health3", 5)); + suffixes.put("health4", health4); + suffixes.put("health5", health5); + suffixes.put("health6", health6); + + WeightedRandomAffix wraHealth1 = new WeightedRandomAffix("health1", 10); + WeightedRandomAffix wraHealth2 = new WeightedRandomAffix("health2", 8); + WeightedRandomAffix wraHealth3 = new WeightedRandomAffix("health3", 6); + WeightedRandomAffix wraHealth4 = new WeightedRandomAffix("health4", 4); + WeightedRandomAffix wraHealth5 = new WeightedRandomAffix("health5", 2); + WeightedRandomAffix wraHealth6 = new WeightedRandomAffix("health6", 1); + + generalPrefixGen.add(wraHealth1); + generalPrefixGen.add(wraHealth2); + generalPrefixGen.add(wraHealth3); + ringPrefixGen.add(wraHealth1); + ringPrefixGen.add(wraHealth2); + braceletPrefixGen.add(wraHealth2); + braceletPrefixGen.add(wraHealth3); + necklacePrefixGen.add(wraHealth4); + necklacePrefixGen.add(wraHealth5); + earringsPrefixGen.add(wraHealth5); + earringsPrefixGen.add(wraHealth6); + + generalSuffixGen.add(wraHealth1); + generalSuffixGen.add(wraHealth2); + generalSuffixGen.add(wraHealth3); + ringSuffixGen.add(wraHealth1); + ringSuffixGen.add(wraHealth2); + braceletSuffixGen.add(wraHealth2); + braceletSuffixGen.add(wraHealth3); + necklaceSuffixGen.add(wraHealth4); + necklaceSuffixGen.add(wraHealth5); + earringsSuffixGen.add(wraHealth5); + earringsSuffixGen.add(wraHealth6); } public static ModifierEffect getPrefix(String prefix) { @@ -50,14 +106,58 @@ public class AffixMods { return suffixes.get(suffix); } - public static String pickPrefix(Random random) { - WeightedRandomAffix wra = ((WeightedRandomAffix) WeightedRandom.getRandomItem(random, prefixGen)); + public static String pickPrefix(Random random, int jewelType) { + List pickList = generalPrefixGen; + + if (random.nextInt(3) != 0) { + switch (jewelType) { + case 0: + pickList = ringPrefixGen; + break; + case 1: + pickList = braceletPrefixGen; + break; + case 2: + pickList = necklacePrefixGen; + break; + case 3: + pickList = earringsPrefixGen; + break; + case -1: + default: + pickList = generalPrefixGen; + } + } + + WeightedRandomAffix wra = ((WeightedRandomAffix) WeightedRandom.getRandomItem(random, pickList)); return wra.getAffix(random); } - public static String pickSuffix(Random random) { - WeightedRandomAffix wra = ((WeightedRandomAffix) WeightedRandom.getRandomItem(random, suffixGen)); + public static String pickSuffix(Random random, int jewelType) { + List pickList = generalSuffixGen; + + if (random.nextInt(3) != 0) { + switch (jewelType) { + case 0: + pickList = ringSuffixGen; + break; + case 1: + pickList = braceletSuffixGen; + break; + case 2: + pickList = necklaceSuffixGen; + break; + case 3: + pickList = earringsSuffixGen; + break; + case -1: + default: + pickList = generalSuffixGen; + } + } + + WeightedRandomAffix wra = ((WeightedRandomAffix) WeightedRandom.getRandomItem(random, pickList)); return wra.getAffix(random); } -- cgit v1.2.3