Added the final recipes required. Also added the Ritual Diviner that can place Dawn stones

This commit is contained in:
WayofTime 2015-04-11 17:56:42 -04:00
parent b725f7b814
commit 6dd95c23fa
7 changed files with 96 additions and 31 deletions

View file

@ -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()

View file

@ -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);
}

View file

@ -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,6 +58,10 @@ public class ItemRitualDiviner extends EnergyItems implements IRitualDiviner
if (this.getMaxRuneDisplacement(par1ItemStack) == 1)
{
par3List.add(StatCollector.translateToLocal("tooltip.ritualdiviner.canplace"));
}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

View file

@ -49,8 +49,6 @@ public class OmegaParadigm
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);

View file

@ -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);

View file

@ -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<RitualComponent> getRitualComponentList()
{
ArrayList<RitualComponent> 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<RitualComponent> 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)

View file

@ -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: