From 6dd95c23fa5cc5b2654e9b16d402bdf97305d353 Mon Sep 17 00:00:00 2001 From: WayofTime Date: Sat, 11 Apr 2015 17:56:42 -0400 Subject: [PATCH] Added the final recipes required. Also added the Ritual Diviner that can place Dawn stones --- .../AlchemicalWizardry.java | 5 + .../common/AlchemicalWizardryEventHooks.java | 1 - .../common/items/ItemRitualDiviner.java | 18 +++- .../common/omega/OmegaParadigm.java | 4 +- .../rituals/RitualEffectOmegaStalling.java | 5 +- .../common/rituals/RitualEffectOmegaTest.java | 93 +++++++++++++++---- .../assets/alchemicalwizardry/lang/en_US.lang | 1 + 7 files changed, 96 insertions(+), 31 deletions(-) diff --git a/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java b/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java index 28f553dd..732e5d9e 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java +++ b/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java @@ -643,6 +643,8 @@ public class AlchemicalWizardry ItemStack simpleCatalystStack = new ItemStack(ModItems.simpleCatalyst); ItemStack duskRitualDivinerStack = new ItemStack(ModItems.itemRitualDiviner); ((ItemRitualDiviner) duskRitualDivinerStack.getItem()).setMaxRuneDisplacement(duskRitualDivinerStack, 1); + ItemStack dawnRitualDivinerStack = new ItemStack(ModItems.itemRitualDiviner); + ((ItemRitualDiviner) dawnRitualDivinerStack.getItem()).setMaxRuneDisplacement(dawnRitualDivinerStack, 2); waterSigilStackCrafted.setItemDamage(waterSigilStackCrafted.getMaxDamage()); lavaSigilStackCrafted.setItemDamage(lavaSigilStackCrafted.getMaxDamage()); voidSigilStackCrafted.setItemDamage(voidSigilStackCrafted.getMaxDamage()); @@ -1076,6 +1078,8 @@ public class AlchemicalWizardry GameRegistry.addRecipe(new ItemStack(ModBlocks.blockEnchantmentGlyph, 1, 0), "1s1", "grg", "bob", 'o', transcendentBloodOrbStack, 'r', bloodRuneStack, 'g', etherealSlateStack, 'b', magicalesStack, '1', offensaStack, 's', lifeShardStack); GameRegistry.addRecipe(new ItemStack(ModBlocks.blockEnchantmentGlyph, 1, 1), "1s1", "grg", "bob", 'o', transcendentBloodOrbStack, 'r', bloodRuneStack, 'g', etherealSlateStack, 'b', magicalesStack, '1', virtusStack, 's', soulShardStack); + GameRegistry.addRecipe(dawnRitualDivinerStack, " d ", "srs", " d ", 'd', new ItemStack(ModItems.dawnScribeTool), 's', etherealSlateStack, 'r', duskRitualDivinerStack); + AlchemyRecipeRegistry.registerRecipe(new ItemStack(Items.flint, 2, 0), 1, new ItemStack[]{new ItemStack(Blocks.gravel), new ItemStack(Items.flint)}, 1); AlchemyRecipeRegistry.registerRecipe(new ItemStack(Blocks.grass), 2, new ItemStack[]{new ItemStack(Blocks.dirt), new ItemStack(Items.dye, 1, 15), new ItemStack(Items.wheat_seeds), new ItemStack(Items.wheat_seeds)}, 1); AlchemyRecipeRegistry.registerRecipe(new ItemStack(Items.leather, 3, 0), 2, new ItemStack[]{new ItemStack(Items.rotten_flesh), new ItemStack(Items.rotten_flesh), new ItemStack(Items.rotten_flesh), waterBucketStack, new ItemStack(Items.flint)}, 1); @@ -1342,6 +1346,7 @@ public class AlchemicalWizardry AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.alchemyFlask), new ItemStack(Items.glass_bottle), 2, 2000, 5, 5, false); AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.reinforcedSlate), new ItemStack(ModItems.blankSlate), 2, 2000, 5, 5, false); AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.bucketLife), new ItemStack(Items.bucket), 1, 1000, 5, 0, false); + AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ModItems.dawnScribeTool), new ItemStack(Blocks.glowstone), 6, 20000, 50, 35, false); } public static void initRituals() diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryEventHooks.java b/src/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryEventHooks.java index a719a5d9..c66afeb2 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryEventHooks.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryEventHooks.java @@ -147,7 +147,6 @@ public class AlchemicalWizardryEventHooks APISpellHelper.setCurrentAdditionalHP((EntityPlayer)event.entityLiving, Math.max(0, hp)); - System.out.println("HP: " + hp); APISpellHelper.setCurrentAdditionalHP(player, Math.max(0, hp)); NewPacketHandler.INSTANCE.sendTo(NewPacketHandler.getAddedHPPacket(Math.max(0, hp), APISpellHelper.getCurrentAdditionalMaxHP(player)), (EntityPlayerMP)player); } diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/ItemRitualDiviner.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/ItemRitualDiviner.java index 3b00b926..9d074747 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/items/ItemRitualDiviner.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/ItemRitualDiviner.java @@ -21,7 +21,6 @@ import org.lwjgl.input.Keyboard; import WayofTime.alchemicalWizardry.AlchemicalWizardry; import WayofTime.alchemicalWizardry.ModBlocks; -import WayofTime.alchemicalWizardry.ModItems; import WayofTime.alchemicalWizardry.api.items.interfaces.IRitualDiviner; import WayofTime.alchemicalWizardry.api.rituals.IRitualStone; import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; @@ -59,7 +58,11 @@ public class ItemRitualDiviner extends EnergyItems implements IRitualDiviner if (this.getMaxRuneDisplacement(par1ItemStack) == 1) { par3List.add(StatCollector.translateToLocal("tooltip.ritualdiviner.canplace")); - } else + }else if (this.getMaxRuneDisplacement(par1ItemStack) >= 2) + { + par3List.add(StatCollector.translateToLocal("tooltip.ritualdiviner.canplacedawn")); + + }else { par3List.add(StatCollector.translateToLocal("tooltip.ritualdiviner.cannotplace")); } @@ -358,10 +361,15 @@ public class ItemRitualDiviner extends EnergyItems implements IRitualDiviner @SideOnly(Side.CLIENT) public void getSubItems(Item id, CreativeTabs creativeTab, List list) { - list.add(new ItemStack(ModItems.itemRitualDiviner)); - ItemStack duskRitualDivinerStack = new ItemStack(ModItems.itemRitualDiviner); - ((ItemRitualDiviner) duskRitualDivinerStack.getItem()).setMaxRuneDisplacement(duskRitualDivinerStack, 1); + list.add(new ItemStack(id)); + + ItemStack duskRitualDivinerStack = new ItemStack(id); + this.setMaxRuneDisplacement(duskRitualDivinerStack, 1); list.add(duskRitualDivinerStack); + + ItemStack dawnRitualDivinerStack = new ItemStack(id); + this.setMaxRuneDisplacement(dawnRitualDivinerStack, 2); + list.add(dawnRitualDivinerStack); } @Override diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaParadigm.java b/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaParadigm.java index 8e0fe922..40ad85d1 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaParadigm.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaParadigm.java @@ -48,9 +48,7 @@ public class OmegaParadigm ItemStack bootsStack = armours[0]; if(helmetStack != null && helmetStack.getItem() == ModItems.boundHelmet && chestStack != null && chestStack.getItem() == ModItems.boundPlate && leggingsStack != null && leggingsStack.getItem() == ModItems.boundLeggings && bootsStack != null && bootsStack.getItem() == ModItems.boundBoots) - { - System.out.println("Enchantability: " + enchantability); - + { long worldSeed = player.worldObj.getSeed(); Random rand = new Random(worldSeed + stability * (affinity + 7) * 94 + 84321*x - 17423*y + 76*z - 1623451*enchantability + 2 * enchantmentLevel); ItemStack omegaHelmetStack = helmet.getSubstituteStack(helmetStack, stability, affinity, enchantability, enchantmentLevel, rand); diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectOmegaStalling.java b/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectOmegaStalling.java index ff97dc0c..15abe3e3 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectOmegaStalling.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectOmegaStalling.java @@ -54,8 +54,9 @@ public class RitualEffectOmegaStalling extends RitualEffect OmegaParadigm parad = OmegaRegistry.getParadigmForReagent(reagent); if(parad != null) { + float costOffset = parad.getCostPerTickOfUse(player); parad.setOmegaStalling(player, 100); - SoulNetworkHandler.syphonFromNetwork(owner, getCostPerRefresh()); + SoulNetworkHandler.syphonFromNetwork(owner, (int)(getCostPerRefresh() * Math.min(costOffset, 1))); } } } @@ -86,7 +87,7 @@ public class RitualEffectOmegaStalling extends RitualEffect this.addParallelRunes(omegaRitual, 4, 4, RitualComponent.WATER); this.addParallelRunes(omegaRitual, 3, 5, RitualComponent.BLANK); this.addParallelRunes(omegaRitual, 2, 5, RitualComponent.FIRE); - this.addParallelRunes(omegaRitual, 1, 5, RitualComponent.DUSK); + this.addParallelRunes(omegaRitual, 1, 5, RitualComponent.DAWN); this.addOffsetRunes(omegaRitual, 5, 3, 1, RitualComponent.WATER); this.addOffsetRunes(omegaRitual, 6, 3, 1, RitualComponent.DUSK); this.addOffsetRunes(omegaRitual, 6, 4, 1, RitualComponent.FIRE); diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectOmegaTest.java b/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectOmegaTest.java index 6fe397c3..2fe3fd4f 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectOmegaTest.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectOmegaTest.java @@ -6,6 +6,7 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; +import net.minecraft.entity.effect.EntityLightningBolt; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.tileentity.TileEntity; @@ -30,7 +31,7 @@ import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; public class RitualEffectOmegaTest extends RitualEffect { - public static final boolean isTesting = true; + public static final boolean isTesting = false; public static final int drainTotal = 32 * 1000; @Override @@ -54,7 +55,12 @@ public class RitualEffectOmegaTest extends RitualEffect int enchantability = param.enchantability; int enchantmentLevel = param.enchantmentLevel; - System.out.println("Stability: " + stab + ", Enchantability: " + enchantability + ", Enchantment Level: " + enchantmentLevel); + if(stab <= 0) + { + return; + } + +// System.out.println("Stability: " + stab + ", Enchantability: " + enchantability + ", Enchantment Level: " + enchantmentLevel); double range = 0.5; @@ -144,6 +150,7 @@ public class RitualEffectOmegaTest extends RitualEffect { drainLeft -= drained.amount; world.markBlockForUpdate(x + jarLoc.xCoord, y + jarLoc.yCoord, z + jarLoc.zCoord); + world.addWeatherEffect(new EntityLightningBolt(world, x + jarLoc.xCoord, y + jarLoc.yCoord, z + jarLoc.zCoord)); } } } @@ -165,24 +172,70 @@ public class RitualEffectOmegaTest extends RitualEffect @Override public List getRitualComponentList() { - ArrayList animalGrowthRitual = new ArrayList(); - animalGrowthRitual.add(new RitualComponent(0, 0, 2, RitualComponent.WATER)); - animalGrowthRitual.add(new RitualComponent(2, 0, 0, RitualComponent.WATER)); - animalGrowthRitual.add(new RitualComponent(0, 0, -2, RitualComponent.WATER)); - animalGrowthRitual.add(new RitualComponent(-2, 0, 0, RitualComponent.WATER)); - animalGrowthRitual.add(new RitualComponent(0, 0, 1, RitualComponent.WATER)); - animalGrowthRitual.add(new RitualComponent(1, 0, 0, RitualComponent.WATER)); - animalGrowthRitual.add(new RitualComponent(0, 0, -1, RitualComponent.WATER)); - animalGrowthRitual.add(new RitualComponent(-1, 0, 0, RitualComponent.WATER)); - animalGrowthRitual.add(new RitualComponent(1, 0, 2, RitualComponent.WATER)); - animalGrowthRitual.add(new RitualComponent(-1, 0, 2, RitualComponent.WATER)); - animalGrowthRitual.add(new RitualComponent(1, 0, -2, RitualComponent.WATER)); - animalGrowthRitual.add(new RitualComponent(-1, 0, -2, RitualComponent.WATER)); - animalGrowthRitual.add(new RitualComponent(2, 0, 1, RitualComponent.AIR)); - animalGrowthRitual.add(new RitualComponent(2, 0, -1, RitualComponent.AIR)); - animalGrowthRitual.add(new RitualComponent(-2, 0, 1, RitualComponent.AIR)); - animalGrowthRitual.add(new RitualComponent(-2, 0, -1, RitualComponent.AIR)); - return animalGrowthRitual; + ArrayList omegaRitual = new ArrayList(); + this.addCornerRunes(omegaRitual, 1, 0, RitualComponent.DUSK); + this.addCornerRunes(omegaRitual, 2, 0, RitualComponent.DUSK); + this.addCornerRunes(omegaRitual, 3, 0, RitualComponent.BLANK); + this.addCornerRunes(omegaRitual, 4, 0, RitualComponent.DUSK); + this.addCornerRunes(omegaRitual, 5, 0, RitualComponent.BLANK); + this.addParallelRunes(omegaRitual, 1, 0, RitualComponent.DAWN); + this.addParallelRunes(omegaRitual, 2, 0, RitualComponent.BLANK); + this.addParallelRunes(omegaRitual, 4, 0, RitualComponent.BLANK); + this.addParallelRunes(omegaRitual, 5, 0, RitualComponent.DAWN); + this.addOffsetRunes(omegaRitual, 1, 3, 0, RitualComponent.DUSK); + this.addOffsetRunes(omegaRitual, 1, 5, 0, RitualComponent.DUSK); + + for(int i=2; i<=4; i++) + { + omegaRitual.add(new RitualComponent(-5, 0, i, RitualComponent.WATER)); + omegaRitual.add(new RitualComponent(-5, 0, -i, RitualComponent.WATER)); + omegaRitual.add(new RitualComponent(5, 0, i, RitualComponent.FIRE)); + omegaRitual.add(new RitualComponent(5, 0, -i, RitualComponent.FIRE)); + omegaRitual.add(new RitualComponent(i, 0, -5, RitualComponent.EARTH)); + omegaRitual.add(new RitualComponent(-i, 0, -5, RitualComponent.EARTH)); + omegaRitual.add(new RitualComponent(i, 0, 5, RitualComponent.AIR)); + omegaRitual.add(new RitualComponent(-i, 0, 5, RitualComponent.AIR)); + } + + for(int i=2; i<=3; i++) + { + omegaRitual.add(new RitualComponent(4, 0, i, RitualComponent.WATER)); + omegaRitual.add(new RitualComponent(4, 0, -i, RitualComponent.WATER)); + omegaRitual.add(new RitualComponent(-4, 0, i, RitualComponent.FIRE)); + omegaRitual.add(new RitualComponent(-4, 0, -i, RitualComponent.FIRE)); + omegaRitual.add(new RitualComponent(i, 0, 4, RitualComponent.EARTH)); + omegaRitual.add(new RitualComponent(-i, 0, 4, RitualComponent.EARTH)); + omegaRitual.add(new RitualComponent(i, 0, -4, RitualComponent.AIR)); + omegaRitual.add(new RitualComponent(-i, 0, -4, RitualComponent.AIR)); + } + + omegaRitual.add(new RitualComponent(-2, 0, 1, RitualComponent.AIR)); + omegaRitual.add(new RitualComponent(-2, 0, -1, RitualComponent.AIR)); + omegaRitual.add(new RitualComponent(-4, 0, 1, RitualComponent.AIR)); + omegaRitual.add(new RitualComponent(-4, 0, -1, RitualComponent.AIR)); + omegaRitual.add(new RitualComponent(2, 0, 1, RitualComponent.EARTH)); + omegaRitual.add(new RitualComponent(2, 0, -1, RitualComponent.EARTH)); + omegaRitual.add(new RitualComponent(4, 0, 1, RitualComponent.EARTH)); + omegaRitual.add(new RitualComponent(4, 0, -1, RitualComponent.EARTH)); + omegaRitual.add(new RitualComponent(1, 0, 2, RitualComponent.FIRE)); + omegaRitual.add(new RitualComponent(-1, 0, 2, RitualComponent.FIRE)); + omegaRitual.add(new RitualComponent(1, 0, 4, RitualComponent.FIRE)); + omegaRitual.add(new RitualComponent(-1, 0, 4, RitualComponent.FIRE)); + omegaRitual.add(new RitualComponent(1, 0, -2, RitualComponent.WATER)); + omegaRitual.add(new RitualComponent(-1, 0, -2, RitualComponent.WATER)); + omegaRitual.add(new RitualComponent(1, 0, -4, RitualComponent.WATER)); + omegaRitual.add(new RitualComponent(-1, 0, -4, RitualComponent.WATER)); + + omegaRitual.add(new RitualComponent(-3, 0, 2, RitualComponent.FIRE)); + omegaRitual.add(new RitualComponent(-3, 0, -2, RitualComponent.FIRE)); + omegaRitual.add(new RitualComponent(3, 0, 2, RitualComponent.WATER)); + omegaRitual.add(new RitualComponent(3, 0, -2, RitualComponent.WATER)); + omegaRitual.add(new RitualComponent(-2, 0, -3, RitualComponent.AIR)); + omegaRitual.add(new RitualComponent(2, 0, -3, RitualComponent.AIR)); + omegaRitual.add(new RitualComponent(-2, 0, 3, RitualComponent.EARTH)); + omegaRitual.add(new RitualComponent(2, 0, 3, RitualComponent.EARTH)); + + return omegaRitual; } public Int3 getJarLocation(int i) diff --git a/src/main/resources/assets/alchemicalwizardry/lang/en_US.lang b/src/main/resources/assets/alchemicalwizardry/lang/en_US.lang index e365140f..0978790f 100644 --- a/src/main/resources/assets/alchemicalwizardry/lang/en_US.lang +++ b/src/main/resources/assets/alchemicalwizardry/lang/en_US.lang @@ -364,6 +364,7 @@ tooltip.ritualdiviner.airstones=Air Stones: tooltip.ritualdiviner.blankstones=Blank Stones: tooltip.ritualdiviner.cannotplace=Can not place Dusk runes tooltip.ritualdiviner.canplace=Can place Dusk runes +tooltip.ritualdiviner.canplacedawn=Can place Dusk and Dawn runes tooltip.ritualdiviner.desc=Used to explore new types of rituals tooltip.ritualdiviner.duskstones=Dusk Stones: tooltip.ritualdiviner.earthstones=Earth Stones: