mirror of
https://github.com/GTNewHorizons/BloodMagic.git
synced 2026-11-13 16:54:21 +00:00
Added new tier for energy items.
And more config options. Again.
This commit is contained in:
1 parent
60bb114322
commit
605cd95ceb
7 files changed
+207
-56
No files matched your search
@@ -317,28 +317,44 @@ public class AlchemicalWizardry
|
||||
public static HashMap<Class<?>, Integer> lpPerSactificeCustom;
|
||||
|
||||
public static int energyBlastDamage = 12;
|
||||
public static int energyBlastSecondTierDamage = 12;
|
||||
public static int energyBlastLPPerShot = 150;
|
||||
public static int energyBlastSecondTierLPPerShot = 150;
|
||||
public static int energyBlastMaxDelay = 15;
|
||||
public static int energyBlastMaxDelayAfterActivation = 100;
|
||||
public static int energyBlastLPPerActivation = 50;
|
||||
|
||||
public static int energyBlastSecondTierDamage = 12;
|
||||
public static int energyBlastSecondTierLPPerShot = 150;
|
||||
public static int energyBlastSecondTierMaxDelay = 15;
|
||||
public static int energyBlastSecondTierMaxDelayAfterActivation = 100;
|
||||
public static int energyBlastLPPerActivation = 50;
|
||||
public static int energyBlastSecondTierLPPerActivation = 50;
|
||||
|
||||
public static int energyBlastThirdTierDamage = 12;
|
||||
public static int energyBlastThirdTierLPPerShot = 150;
|
||||
public static int energyBlastThirdTierMaxDelay = 15;
|
||||
public static int energyBlastThirdTierMaxDelayAfterActivation = 100;
|
||||
public static int energyBlastThirdTierLPPerActivation = 50;
|
||||
|
||||
public static int energyBazookaDamage = 12;
|
||||
public static int energyBazookaSecondTierDamage = 12;
|
||||
public static int energyBazookaSecondaryDamage = 15;
|
||||
public static int energyBazookaSecondTierSecondaryDamage = 15;
|
||||
public static int energyBazookaLPPerShot = 20000;
|
||||
public static int energyBazookaSecondTierLPPerShot = 20000;
|
||||
public static int energyBazookaMaxDelay = 150;
|
||||
public static int energyBazookaMaxDelayAfterActivation = 100;
|
||||
public static int energyBazookaLPPerActivation = 50;
|
||||
|
||||
public static int energyBazookaSecondTierDamage = 12;
|
||||
public static int energyBazookaSecondTierSecondaryDamage = 15;
|
||||
public static int energyBazookaSecondTierLPPerShot = 20000;
|
||||
public static int energyBazookaSecondTierMaxDelay = 150;
|
||||
public static int energyBazookaSecondTierMaxDelayAfterActivation = 100;
|
||||
public static int energyBazookaLPPerActivation = 50;
|
||||
public static int energyBazookaSecondTierLPPerActivation = 50;
|
||||
|
||||
public static int energyBazookaThirdTierDamage = 12;
|
||||
public static int energyBazookaThirdTierSecondaryDamage = 15;
|
||||
public static int energyBazookaThirdTierLPPerShot = 20000;
|
||||
public static int energyBazookaThirdTierMaxDelay = 150;
|
||||
public static int energyBazookaThirdTierMaxDelayAfterActivation = 100;
|
||||
public static int energyBazookaThirdTierLPPerActivation = 50;
|
||||
|
||||
public static List<Class> wellBlacklist;
|
||||
|
||||
public static Logger logger = LogManager.getLogger("BloodMagic");
|
||||
|
||||
@@ -290,28 +290,44 @@ public class BloodMagicConfiguration
|
||||
AlchemicalWizardry.lpPerSacrificeIncense = config.get("sacrifice", "LP per (self-)sacrifice with incense", AlchemicalWizardry.lpPerSacrificeIncense).getDouble(AlchemicalWizardry.lpPerSacrificeIncense);
|
||||
|
||||
AlchemicalWizardry.energyBlastDamage = config.get("energy items", "Energy Blast damage", AlchemicalWizardry.energyBlastDamage).getInt(AlchemicalWizardry.energyBlastDamage);
|
||||
AlchemicalWizardry.energyBlastSecondTierDamage = config.get("energy items", "Energy Blast Tier II damage", AlchemicalWizardry.energyBlastSecondTierDamage).getInt(AlchemicalWizardry.energyBlastSecondTierDamage);
|
||||
AlchemicalWizardry.energyBlastLPPerShot = config.get("energy items", "Energy Blast LP per shot", AlchemicalWizardry.energyBlastLPPerShot).getInt(AlchemicalWizardry.energyBlastLPPerShot);
|
||||
AlchemicalWizardry.energyBlastSecondTierLPPerShot = config.get("energy items", "Energy Blast Tier II LP per shot", AlchemicalWizardry.energyBlastSecondTierLPPerShot).getInt(AlchemicalWizardry.energyBlastSecondTierLPPerShot);
|
||||
AlchemicalWizardry.energyBlastMaxDelay = config.get("energy items", "Energy Blast maximum delay", AlchemicalWizardry.energyBlastMaxDelay).getInt(AlchemicalWizardry.energyBlastMaxDelay);
|
||||
AlchemicalWizardry.energyBlastMaxDelayAfterActivation = config.get("energy items", "Energy Blast maximum delay after (re-)activation", AlchemicalWizardry.energyBlastMaxDelayAfterActivation).getInt(AlchemicalWizardry.energyBlastMaxDelayAfterActivation);
|
||||
AlchemicalWizardry.energyBlastLPPerActivation = config.get("energy items", "Energy Blast LP per activation", AlchemicalWizardry.energyBlastLPPerActivation).getInt(AlchemicalWizardry.energyBlastLPPerActivation);
|
||||
|
||||
AlchemicalWizardry.energyBlastSecondTierDamage = config.get("energy items", "Energy Blast Tier II damage", AlchemicalWizardry.energyBlastSecondTierDamage).getInt(AlchemicalWizardry.energyBlastSecondTierDamage);
|
||||
AlchemicalWizardry.energyBlastSecondTierLPPerShot = config.get("energy items", "Energy Blast Tier II LP per shot", AlchemicalWizardry.energyBlastSecondTierLPPerShot).getInt(AlchemicalWizardry.energyBlastSecondTierLPPerShot);
|
||||
AlchemicalWizardry.energyBlastSecondTierMaxDelay = config.get("energy items", "Energy Blast Tier II maximum delay", AlchemicalWizardry.energyBlastSecondTierMaxDelay).getInt(AlchemicalWizardry.energyBlastSecondTierMaxDelay);
|
||||
AlchemicalWizardry.energyBlastSecondTierMaxDelayAfterActivation = config.get("energy items", "Energy Blast Tier II maximum delay after (re-)activation", AlchemicalWizardry.energyBlastSecondTierMaxDelayAfterActivation).getInt(AlchemicalWizardry.energyBlastSecondTierMaxDelayAfterActivation);
|
||||
AlchemicalWizardry.energyBlastLPPerActivation = config.get("energy items", "Energy Blast LP per activation", AlchemicalWizardry.energyBlastLPPerActivation).getInt(AlchemicalWizardry.energyBlastLPPerActivation);
|
||||
AlchemicalWizardry.energyBlastSecondTierLPPerActivation = config.get("energy items", "Energy Blast Tier II LP per activation", AlchemicalWizardry.energyBlastSecondTierLPPerActivation).getInt(AlchemicalWizardry.energyBlastSecondTierLPPerActivation);
|
||||
|
||||
AlchemicalWizardry.energyBlastThirdTierDamage = config.get("energy items", "Energy Blast Tier III damage", AlchemicalWizardry.energyBlastThirdTierDamage).getInt(AlchemicalWizardry.energyBlastThirdTierDamage);
|
||||
AlchemicalWizardry.energyBlastThirdTierLPPerShot = config.get("energy items", "Energy Blast Tier III LP per shot", AlchemicalWizardry.energyBlastThirdTierLPPerShot).getInt(AlchemicalWizardry.energyBlastThirdTierLPPerShot);
|
||||
AlchemicalWizardry.energyBlastThirdTierMaxDelay = config.get("energy items", "Energy Blast Tier III maximum delay", AlchemicalWizardry.energyBlastThirdTierMaxDelay).getInt(AlchemicalWizardry.energyBlastThirdTierMaxDelay);
|
||||
AlchemicalWizardry.energyBlastThirdTierMaxDelayAfterActivation = config.get("energy items", "Energy Blast Tier III maximum delay after (re-)activation", AlchemicalWizardry.energyBlastThirdTierMaxDelayAfterActivation).getInt(AlchemicalWizardry.energyBlastThirdTierMaxDelayAfterActivation);
|
||||
AlchemicalWizardry.energyBlastThirdTierLPPerActivation = config.get("energy items", "Energy Blast Tier III LP per activation", AlchemicalWizardry.energyBlastThirdTierLPPerActivation).getInt(AlchemicalWizardry.energyBlastThirdTierLPPerActivation);
|
||||
|
||||
AlchemicalWizardry.energyBazookaDamage = config.get("energy items", "Energy Bazooka damage", AlchemicalWizardry.energyBazookaDamage).getInt(AlchemicalWizardry.energyBazookaDamage);
|
||||
AlchemicalWizardry.energyBazookaSecondaryDamage = config.get("energy items", "Energy Bazooka secondary damage", AlchemicalWizardry.energyBazookaSecondaryDamage).getInt(AlchemicalWizardry.energyBazookaSecondaryDamage);
|
||||
AlchemicalWizardry.energyBazookaSecondTierDamage = config.get("energy items", "Energy Bazooka Tier II damage", AlchemicalWizardry.energyBazookaSecondTierDamage).getInt(AlchemicalWizardry.energyBazookaSecondTierDamage);
|
||||
AlchemicalWizardry.energyBazookaSecondTierSecondaryDamage = config.get("energy items", "Energy Bazooka Tier II secondary damage", AlchemicalWizardry.energyBazookaSecondTierSecondaryDamage).getInt(AlchemicalWizardry.energyBazookaSecondTierSecondaryDamage);
|
||||
AlchemicalWizardry.energyBazookaLPPerShot = config.get("energy items", "Energy Bazooka LP per shot", AlchemicalWizardry.energyBazookaLPPerShot).getInt(AlchemicalWizardry.energyBazookaLPPerShot);
|
||||
AlchemicalWizardry.energyBazookaSecondTierLPPerShot = config.get("energy items", "Energy Bazooka Tier II LP per shot", AlchemicalWizardry.energyBazookaSecondTierLPPerShot).getInt(AlchemicalWizardry.energyBazookaSecondTierLPPerShot);
|
||||
AlchemicalWizardry.energyBazookaMaxDelay = config.get("energy items", "Energy Bazooka maximum delay", AlchemicalWizardry.energyBazookaMaxDelay).getInt(AlchemicalWizardry.energyBazookaMaxDelay);
|
||||
AlchemicalWizardry.energyBazookaMaxDelayAfterActivation = config.get("energy items", "Energy Bazooka maximum delay after (re-)activation", AlchemicalWizardry.energyBazookaMaxDelayAfterActivation).getInt(AlchemicalWizardry.energyBazookaMaxDelayAfterActivation);
|
||||
AlchemicalWizardry.energyBazookaLPPerActivation = config.get("energy items", "Energy Bazooka LP per activation", AlchemicalWizardry.energyBazookaLPPerActivation).getInt(AlchemicalWizardry.energyBazookaLPPerActivation);
|
||||
|
||||
AlchemicalWizardry.energyBazookaSecondTierDamage = config.get("energy items", "Energy Bazooka Tier II damage", AlchemicalWizardry.energyBazookaSecondTierDamage).getInt(AlchemicalWizardry.energyBazookaSecondTierDamage);
|
||||
AlchemicalWizardry.energyBazookaSecondTierSecondaryDamage = config.get("energy items", "Energy Bazooka Tier II secondary damage", AlchemicalWizardry.energyBazookaSecondTierSecondaryDamage).getInt(AlchemicalWizardry.energyBazookaSecondTierSecondaryDamage);
|
||||
AlchemicalWizardry.energyBazookaSecondTierLPPerShot = config.get("energy items", "Energy Bazooka Tier II LP per shot", AlchemicalWizardry.energyBazookaSecondTierLPPerShot).getInt(AlchemicalWizardry.energyBazookaSecondTierLPPerShot);
|
||||
AlchemicalWizardry.energyBazookaSecondTierMaxDelay = config.get("energy items", "Energy Bazooka Tier II maximum delay", AlchemicalWizardry.energyBazookaSecondTierMaxDelay).getInt(AlchemicalWizardry.energyBazookaSecondTierMaxDelay);
|
||||
AlchemicalWizardry.energyBazookaSecondTierMaxDelayAfterActivation = config.get("energy items", "Energy Bazooka Tier II maximum delay after (re-)activation", AlchemicalWizardry.energyBazookaSecondTierMaxDelayAfterActivation).getInt(AlchemicalWizardry.energyBazookaSecondTierMaxDelayAfterActivation);
|
||||
AlchemicalWizardry.energyBazookaLPPerActivation = config.get("energy items", "Energy Bazooka LP per activation", AlchemicalWizardry.energyBazookaLPPerActivation).getInt(AlchemicalWizardry.energyBazookaLPPerActivation);
|
||||
AlchemicalWizardry.energyBazookaSecondTierLPPerActivation = config.get("energy items", "Energy Bazooka Tier II LP per activation", AlchemicalWizardry.energyBazookaSecondTierLPPerActivation).getInt(AlchemicalWizardry.energyBazookaSecondTierLPPerActivation);
|
||||
|
||||
AlchemicalWizardry.energyBazookaThirdTierDamage = config.get("energy items", "Energy Bazooka Tier III damage", AlchemicalWizardry.energyBazookaThirdTierDamage).getInt(AlchemicalWizardry.energyBazookaThirdTierDamage);
|
||||
AlchemicalWizardry.energyBazookaThirdTierSecondaryDamage = config.get("energy items", "Energy Bazooka Tier III secondary damage", AlchemicalWizardry.energyBazookaThirdTierSecondaryDamage).getInt(AlchemicalWizardry.energyBazookaThirdTierSecondaryDamage);
|
||||
AlchemicalWizardry.energyBazookaThirdTierLPPerShot = config.get("energy items", "Energy Bazooka Tier III LP per shot", AlchemicalWizardry.energyBazookaThirdTierLPPerShot).getInt(AlchemicalWizardry.energyBazookaThirdTierLPPerShot);
|
||||
AlchemicalWizardry.energyBazookaThirdTierMaxDelay = config.get("energy items", "Energy Bazooka Tier III maximum delay", AlchemicalWizardry.energyBazookaThirdTierMaxDelay).getInt(AlchemicalWizardry.energyBazookaThirdTierMaxDelay);
|
||||
AlchemicalWizardry.energyBazookaThirdTierMaxDelayAfterActivation = config.get("energy items", "Energy Bazooka Tier III maximum delay after (re-)activation", AlchemicalWizardry.energyBazookaThirdTierMaxDelayAfterActivation).getInt(AlchemicalWizardry.energyBazookaThirdTierMaxDelayAfterActivation);
|
||||
AlchemicalWizardry.energyBazookaThirdTierLPPerActivation = config.get("energy items", "Energy Bazooka Tier III LP per activation", AlchemicalWizardry.energyBazookaThirdTierLPPerActivation).getInt(AlchemicalWizardry.energyBazookaThirdTierLPPerActivation);
|
||||
|
||||
Side side = FMLCommonHandler.instance().getSide();
|
||||
if (side == Side.CLIENT)
|
||||
{
|
||||
|
||||
@@ -66,6 +66,7 @@ public class ModItems
|
||||
public static Item magicianBloodOrb;
|
||||
public static Item energyBlaster;
|
||||
public static Item energyBlasterSecondTier;
|
||||
public static Item energyBlasterThirdTier;
|
||||
public static Item energySword;
|
||||
public static Item lavaCrystal;
|
||||
public static Item waterSigil;
|
||||
@@ -150,6 +151,7 @@ public class ModItems
|
||||
public static Item itemKeyOfDiablo;
|
||||
public static Item energyBazooka;
|
||||
public static Item energyBazookaSecondTier;
|
||||
public static Item energyBazookaThirdTier;
|
||||
public static Item itemBloodLightSigil;
|
||||
public static Item itemComplexSpellCrystal;
|
||||
public static Item itemBloodFrame;
|
||||
@@ -215,6 +217,7 @@ public class ModItems
|
||||
transcendentBloodOrb = new TranscendentBloodOrb(30000000).setUnlocalizedName("transcendentBloodOrb");
|
||||
energyBlaster = new EnergyBlast(1).setUnlocalizedName("energyBlast");
|
||||
energyBlasterSecondTier = new EnergyBlast(2).setUnlocalizedName("energyBlastSecondTier");
|
||||
energyBlasterThirdTier = new EnergyBlast(3).setUnlocalizedName("energyBlastThirdTier");
|
||||
energySword = new EnergySword().setUnlocalizedName("energySword");
|
||||
lavaCrystal = new LavaCrystal().setUnlocalizedName("lavaCrystal");
|
||||
waterSigil = new SigilWater().setUnlocalizedName("waterSigil");
|
||||
@@ -286,6 +289,7 @@ public class ModItems
|
||||
itemKeyOfDiablo = new ItemDiabloKey().setUnlocalizedName("itemDiabloKey");
|
||||
energyBazooka = new EnergyBazooka(1).setUnlocalizedName("energyBazooka");
|
||||
energyBazookaSecondTier = new EnergyBazooka(2).setUnlocalizedName("energyBazookaSecondTier");
|
||||
energyBazookaThirdTier = new EnergyBazooka(3).setUnlocalizedName("energyBazookaThirdTier");
|
||||
itemBloodLightSigil = new SigilBloodLight().setUnlocalizedName("bloodLightSigil");
|
||||
itemComplexSpellCrystal = new ItemComplexSpellCrystal().setUnlocalizedName("itemComplexSpellCrystal");
|
||||
bucketLife = new LifeBucket(ModBlocks.blockLifeEssence).setUnlocalizedName("bucketLife").setContainerItem(Items.bucket).setCreativeTab(CreativeTabs.tabMisc);
|
||||
@@ -346,7 +350,7 @@ public class ModItems
|
||||
GameRegistry.registerItem(ModItems.magicianBloodOrb, "magicianBloodOrb");
|
||||
GameRegistry.registerItem(ModItems.energyBlaster, "energyBlaster");
|
||||
GameRegistry.registerItem(ModItems.energyBlasterSecondTier, "energyBlasterSecondTier");
|
||||
|
||||
GameRegistry.registerItem(ModItems.energyBlasterThirdTier, "energyBlasterThirdTier");
|
||||
GameRegistry.registerItem(ModItems.energySword, "energySword");
|
||||
GameRegistry.registerItem(ModItems.lavaCrystal, "lavaCrystal");
|
||||
GameRegistry.registerItem(ModItems.waterSigil, "waterSigil");
|
||||
@@ -422,6 +426,7 @@ public class ModItems
|
||||
GameRegistry.registerItem(ModItems.itemKeyOfDiablo, "itemKeyOfDiablo");
|
||||
GameRegistry.registerItem(ModItems.energyBazooka, "energyBazooka");
|
||||
GameRegistry.registerItem(ModItems.energyBazookaSecondTier, "energyBazookaSecondTier");
|
||||
GameRegistry.registerItem(ModItems.energyBazookaThirdTier, "energyBazookaThirdTier");
|
||||
GameRegistry.registerItem(ModItems.itemBloodLightSigil, "itemBloodLightSigil");
|
||||
GameRegistry.registerItem(ModItems.itemComplexSpellCrystal, "itemComplexSpellCrystal");
|
||||
GameRegistry.registerItem(ModItems.itemSigilOfSupression, "sigilOfSupression");
|
||||
|
||||
+14
-3
@@ -83,11 +83,22 @@ public class EntityEnergyBazookaMainProjectile extends EnergyBlastProjectile
|
||||
|
||||
public void spawnSecondaryProjectiles()
|
||||
{
|
||||
int secondaryDamage = 0;
|
||||
if (this.projectileDamage == AlchemicalWizardry.energyBazookaDamage)
|
||||
{
|
||||
secondaryDamage = AlchemicalWizardry.energyBazookaSecondaryDamage;
|
||||
}
|
||||
if (this.projectileDamage == AlchemicalWizardry.energyBazookaSecondTierDamage)
|
||||
{
|
||||
secondaryDamage = AlchemicalWizardry.energyBazookaSecondTierSecondaryDamage;
|
||||
}
|
||||
if (this.projectileDamage == AlchemicalWizardry.energyBazookaThirdTierDamage)
|
||||
{
|
||||
secondaryDamage = AlchemicalWizardry.energyBazookaThirdTierSecondaryDamage;
|
||||
}
|
||||
for (int i = 0; i < 20; i++)
|
||||
{
|
||||
EntityEnergyBazookaSecondaryProjectile secProj = new EntityEnergyBazookaSecondaryProjectile(worldObj, this.posX, this.posY, this.posZ, this.projectileDamage == AlchemicalWizardry.energyBazookaDamage ?
|
||||
AlchemicalWizardry.energyBazookaSecondaryDamage :
|
||||
AlchemicalWizardry.energyBazookaSecondTierSecondaryDamage);
|
||||
EntityEnergyBazookaSecondaryProjectile secProj = new EntityEnergyBazookaSecondaryProjectile(worldObj, this.posX, this.posY, this.posZ, secondaryDamage);
|
||||
secProj.shootingEntity = this.shootingEntity;
|
||||
float xVel = rand.nextFloat() - rand.nextFloat();
|
||||
float yVel = rand.nextFloat() - rand.nextFloat();
|
||||
|
||||
@@ -23,6 +23,8 @@ public class EnergyBazooka extends EnergyItems
|
||||
@SideOnly(Side.CLIENT)
|
||||
private IIcon activeIconTier2;
|
||||
@SideOnly(Side.CLIENT)
|
||||
private IIcon activeIconTier3;
|
||||
@SideOnly(Side.CLIENT)
|
||||
private IIcon passiveIcon;
|
||||
private int tier;
|
||||
private int damage;
|
||||
@@ -35,8 +37,21 @@ public class EnergyBazooka extends EnergyItems
|
||||
setFull3D();
|
||||
setMaxDamage(250);
|
||||
this.tier = tier;
|
||||
this.setEnergyUsed(tier == 1 ? AlchemicalWizardry.energyBazookaLPPerShot : AlchemicalWizardry.energyBazookaSecondTierLPPerShot);
|
||||
this.damage = tier == 1 ? AlchemicalWizardry.energyBazookaDamage : AlchemicalWizardry.energyBazookaSecondTierDamage;
|
||||
switch (this.tier)
|
||||
{
|
||||
case 1:
|
||||
this.setEnergyUsed(AlchemicalWizardry.energyBazookaLPPerShot);
|
||||
this.damage = AlchemicalWizardry.energyBazookaDamage;
|
||||
break;
|
||||
case 2:
|
||||
this.setEnergyUsed(AlchemicalWizardry.energyBazookaSecondTierLPPerShot);
|
||||
this.damage = AlchemicalWizardry.energyBazookaSecondTierDamage;
|
||||
break;
|
||||
case 3:
|
||||
this.setEnergyUsed(AlchemicalWizardry.energyBazookaThirdTierLPPerShot);
|
||||
this.damage = AlchemicalWizardry.energyBazookaThirdTierDamage;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -46,6 +61,7 @@ public class EnergyBazooka extends EnergyItems
|
||||
this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:EnergyBazooka_activated");
|
||||
this.activeIcon = iconRegister.registerIcon("AlchemicalWizardry:EnergyBazooka_activated");
|
||||
this.activeIconTier2 = iconRegister.registerIcon("AlchemicalWizardry:EnergyBazooka_activated");
|
||||
this.activeIconTier3 = iconRegister.registerIcon("AlchemicalWizardry:EnergyBazooka_activated");
|
||||
this.passiveIcon = iconRegister.registerIcon("AlchemicalWizardry:SheathedItem");
|
||||
}
|
||||
|
||||
@@ -61,7 +77,16 @@ public class EnergyBazooka extends EnergyItems
|
||||
|
||||
if (tag.getBoolean("isActive"))
|
||||
{
|
||||
return tier == 1 ? this.activeIcon : this.activeIconTier2;
|
||||
switch (this.tier)
|
||||
{
|
||||
case 1:
|
||||
return this.activeIcon;
|
||||
case 2:
|
||||
return this.activeIconTier2;
|
||||
case 3:
|
||||
return this.activeIconTier3;
|
||||
}
|
||||
return this.activeIcon;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -72,15 +97,27 @@ public class EnergyBazooka extends EnergyItems
|
||||
@Override
|
||||
public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
|
||||
{
|
||||
final int maxDelay = tier == 1 ? AlchemicalWizardry.energyBazookaMaxDelay : AlchemicalWizardry.energyBazookaSecondTierMaxDelay;
|
||||
|
||||
int maxDelay = 1;
|
||||
int maxDelayAfterActivation = 1;
|
||||
switch (this.tier)
|
||||
{
|
||||
case 1:
|
||||
maxDelay = AlchemicalWizardry.energyBazookaMaxDelay;
|
||||
maxDelayAfterActivation = AlchemicalWizardry.energyBazookaMaxDelayAfterActivation + 1;
|
||||
break;
|
||||
case 2:
|
||||
maxDelay = AlchemicalWizardry.energyBazookaSecondTierMaxDelay;
|
||||
maxDelayAfterActivation = AlchemicalWizardry.energyBazookaSecondTierMaxDelayAfterActivation + 1;
|
||||
break;
|
||||
case 3:
|
||||
maxDelay = AlchemicalWizardry.energyBazookaThirdTierMaxDelay;
|
||||
maxDelayAfterActivation = AlchemicalWizardry.energyBazookaThirdTierMaxDelayAfterActivation + 1;
|
||||
break;
|
||||
}
|
||||
if (!EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer) || par3EntityPlayer.isSneaking())
|
||||
{
|
||||
this.setActivated(par1ItemStack, !getActivated(par1ItemStack));
|
||||
par1ItemStack.getTagCompound().setInteger("worldTimeDelay", (int) (par2World.getWorldTime() - 1) %
|
||||
(tier == 1 ?
|
||||
AlchemicalWizardry.energyBazookaMaxDelayAfterActivation + 1 :
|
||||
AlchemicalWizardry.energyBazookaSecondTierMaxDelayAfterActivation + 1));
|
||||
par1ItemStack.getTagCompound().setInteger("worldTimeDelay", (int) (par2World.getWorldTime() - 1) % maxDelayAfterActivation);
|
||||
return par1ItemStack;
|
||||
}
|
||||
|
||||
@@ -106,12 +143,12 @@ public class EnergyBazooka extends EnergyItems
|
||||
|
||||
if (!par2World.isRemote)
|
||||
{
|
||||
par2World.spawnEntityInWorld(new EntityEnergyBazookaMainProjectile(par2World, par3EntityPlayer, damage));
|
||||
par2World.spawnEntityInWorld(new EntityEnergyBazookaMainProjectile(par2World, par3EntityPlayer, this.damage));
|
||||
this.setDelay(par1ItemStack, maxDelay);
|
||||
}
|
||||
|
||||
Vec3 vec = par3EntityPlayer.getLookVec();
|
||||
double wantedVelocity = 3.0f;
|
||||
double wantedVelocity = (double) this.tier * 2.0D;
|
||||
par3EntityPlayer.motionX = -vec.xCoord * wantedVelocity;
|
||||
par3EntityPlayer.motionY = -vec.yCoord * wantedVelocity;
|
||||
par3EntityPlayer.motionZ = -vec.zCoord * wantedVelocity;
|
||||
@@ -140,15 +177,29 @@ public class EnergyBazooka extends EnergyItems
|
||||
{
|
||||
this.setDelay(par1ItemStack, delay - 1);
|
||||
}
|
||||
|
||||
if (par2World.getWorldTime() % (tier == 1 ?
|
||||
AlchemicalWizardry.energyBazookaMaxDelayAfterActivation + 1 :
|
||||
AlchemicalWizardry.energyBazookaSecondTierMaxDelayAfterActivation + 1) == par1ItemStack.getTagCompound().getInteger("worldTimeDelay") &&
|
||||
int lpPerActivation = 0;
|
||||
int maxDelayAfterActivation = 1;
|
||||
switch (this.tier)
|
||||
{
|
||||
case 1:
|
||||
lpPerActivation = AlchemicalWizardry.energyBazookaLPPerActivation;
|
||||
maxDelayAfterActivation = AlchemicalWizardry.energyBazookaMaxDelayAfterActivation + 1;
|
||||
break;
|
||||
case 2:
|
||||
lpPerActivation = AlchemicalWizardry.energyBazookaSecondTierLPPerActivation;
|
||||
maxDelayAfterActivation = AlchemicalWizardry.energyBazookaSecondTierMaxDelayAfterActivation + 1;
|
||||
break;
|
||||
case 3:
|
||||
lpPerActivation = AlchemicalWizardry.energyBazookaThirdTierLPPerActivation;
|
||||
maxDelayAfterActivation = AlchemicalWizardry.energyBazookaThirdTierMaxDelayAfterActivation + 1;
|
||||
break;
|
||||
}
|
||||
if (par2World.getWorldTime() % maxDelayAfterActivation == par1ItemStack.getTagCompound().getInteger("worldTimeDelay") &&
|
||||
par1ItemStack.getTagCompound().getBoolean("isActive"))
|
||||
{
|
||||
if (!par3EntityPlayer.capabilities.isCreativeMode)
|
||||
{
|
||||
if(!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, tier == 1 ? AlchemicalWizardry.energyBazookaLPPerActivation : AlchemicalWizardry.energyBazookaSecondTierLPPerActivation))
|
||||
if(!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, lpPerActivation))
|
||||
{
|
||||
this.setActivated(par1ItemStack, false);
|
||||
}
|
||||
@@ -164,17 +215,17 @@ public class EnergyBazooka extends EnergyItems
|
||||
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
|
||||
{
|
||||
par3List.add(StatCollector.translateToLocal("tooltip.energybazooka.desc"));
|
||||
|
||||
par3List.add(StatCollector.translateToLocal("tooltip.alchemy.damage") + " " + this.damage);
|
||||
if (!(par1ItemStack.getTagCompound() == null))
|
||||
{
|
||||
if (par1ItemStack.getTagCompound().getBoolean("isActive"))
|
||||
{
|
||||
par3List.add(StatCollector.translateToLocal("tooltip.sigil.state.activated"));
|
||||
} else
|
||||
}
|
||||
else
|
||||
{
|
||||
par3List.add(StatCollector.translateToLocal("tooltip.sigil.state.deactivated"));
|
||||
}
|
||||
|
||||
if (!par1ItemStack.getTagCompound().getString("ownerName").equals(""))
|
||||
{
|
||||
par3List.add(StatCollector.translateToLocal("tooltip.owner.currentowner") + " " + par1ItemStack.getTagCompound().getString("ownerName"));
|
||||
|
||||
@@ -22,6 +22,8 @@ public class EnergyBlast extends EnergyItems
|
||||
@SideOnly(Side.CLIENT)
|
||||
private IIcon activeIconTier2;
|
||||
@SideOnly(Side.CLIENT)
|
||||
private IIcon activeIconTier3;
|
||||
@SideOnly(Side.CLIENT)
|
||||
private IIcon passiveIcon;
|
||||
private int tier;
|
||||
private int damage;
|
||||
@@ -35,8 +37,21 @@ public class EnergyBlast extends EnergyItems
|
||||
setFull3D();
|
||||
setMaxDamage(250);
|
||||
this.tier = tier;
|
||||
this.setEnergyUsed(this.tier == 1 ? AlchemicalWizardry.energyBlastLPPerShot : AlchemicalWizardry.energyBlastSecondTierLPPerShot);
|
||||
this.damage = this.tier == 1 ? AlchemicalWizardry.energyBlastDamage : AlchemicalWizardry.energyBlastSecondTierDamage;
|
||||
switch (this.tier)
|
||||
{
|
||||
case 1:
|
||||
this.setEnergyUsed(AlchemicalWizardry.energyBlastLPPerShot);
|
||||
this.damage = AlchemicalWizardry.energyBlastDamage;
|
||||
break;
|
||||
case 2:
|
||||
this.setEnergyUsed(AlchemicalWizardry.energyBlastSecondTierLPPerShot);
|
||||
this.damage = AlchemicalWizardry.energyBlastSecondTierDamage;
|
||||
break;
|
||||
case 3:
|
||||
this.setEnergyUsed(AlchemicalWizardry.energyBlastThirdTierLPPerShot);
|
||||
this.damage = AlchemicalWizardry.energyBlastThirdTierDamage;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -46,6 +61,7 @@ public class EnergyBlast extends EnergyItems
|
||||
this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:EnergyBlaster_activated");
|
||||
this.activeIcon = iconRegister.registerIcon("AlchemicalWizardry:EnergyBlaster_activated");
|
||||
this.activeIconTier2 = iconRegister.registerIcon("AlchemicalWizardry:EnergyBlaster_activated");
|
||||
this.activeIconTier3 = iconRegister.registerIcon("AlchemicalWizardry:EnergyBlaster_activated");
|
||||
this.passiveIcon = iconRegister.registerIcon("AlchemicalWizardry:SheathedItem");
|
||||
}
|
||||
|
||||
@@ -62,7 +78,16 @@ public class EnergyBlast extends EnergyItems
|
||||
|
||||
if (tag.getBoolean("isActive"))
|
||||
{
|
||||
return this.tier == 1 ? this.activeIcon : this.activeIconTier2;
|
||||
switch (this.tier)
|
||||
{
|
||||
case 1:
|
||||
return this.activeIcon;
|
||||
case 2:
|
||||
return this.activeIconTier2;
|
||||
case 3:
|
||||
return this.activeIconTier3;
|
||||
}
|
||||
return this.activeIcon;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -73,15 +98,27 @@ public class EnergyBlast extends EnergyItems
|
||||
@Override
|
||||
public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
|
||||
{
|
||||
final int maxDelay = this.tier == 1 ? AlchemicalWizardry.energyBlastMaxDelay : AlchemicalWizardry.energyBlastSecondTierMaxDelay;
|
||||
|
||||
int maxDelay = 1;
|
||||
int maxDelayAfterActivation = 1;
|
||||
switch (this.tier)
|
||||
{
|
||||
case 1:
|
||||
maxDelay = AlchemicalWizardry.energyBlastMaxDelay;
|
||||
maxDelayAfterActivation = AlchemicalWizardry.energyBlastMaxDelayAfterActivation + 1;
|
||||
break;
|
||||
case 2:
|
||||
maxDelay = AlchemicalWizardry.energyBlastSecondTierMaxDelay;
|
||||
maxDelayAfterActivation = AlchemicalWizardry.energyBlastSecondTierMaxDelayAfterActivation + 1;
|
||||
break;
|
||||
case 3:
|
||||
maxDelay = AlchemicalWizardry.energyBlastThirdTierMaxDelay;
|
||||
maxDelayAfterActivation = AlchemicalWizardry.energyBlastThirdTierMaxDelayAfterActivation + 1;
|
||||
break;
|
||||
}
|
||||
if (!EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer) || par3EntityPlayer.isSneaking())
|
||||
{
|
||||
this.setActivated(par1ItemStack, !getActivated(par1ItemStack));
|
||||
par1ItemStack.getTagCompound().setInteger("worldTimeDelay", (int) (par2World.getWorldTime() - 1) %
|
||||
(this.tier == 1 ?
|
||||
AlchemicalWizardry.energyBlastMaxDelayAfterActivation + 1 :
|
||||
AlchemicalWizardry.energyBlastSecondTierMaxDelayAfterActivation + 1));
|
||||
par1ItemStack.getTagCompound().setInteger("worldTimeDelay", (int) (par2World.getWorldTime() - 1) % maxDelayAfterActivation);
|
||||
return par1ItemStack;
|
||||
}
|
||||
|
||||
@@ -107,7 +144,7 @@ public class EnergyBlast extends EnergyItems
|
||||
|
||||
if (!par2World.isRemote)
|
||||
{
|
||||
par2World.spawnEntityInWorld(new EnergyBlastProjectile(par2World, par3EntityPlayer, damage));
|
||||
par2World.spawnEntityInWorld(new EnergyBlastProjectile(par2World, par3EntityPlayer, this.damage));
|
||||
this.setDelay(par1ItemStack, maxDelay);
|
||||
}
|
||||
|
||||
@@ -133,15 +170,29 @@ public class EnergyBlast extends EnergyItems
|
||||
{
|
||||
this.setDelay(par1ItemStack, delay - 1);
|
||||
}
|
||||
|
||||
if (par2World.getWorldTime() % (this.tier == 1 ?
|
||||
AlchemicalWizardry.energyBlastMaxDelayAfterActivation + 1 :
|
||||
AlchemicalWizardry.energyBlastSecondTierMaxDelayAfterActivation + 1) == par1ItemStack.getTagCompound().getInteger("worldTimeDelay") &&
|
||||
int lpPerActivation = 0;
|
||||
int maxDelayAfterActivation = 1;
|
||||
switch (this.tier)
|
||||
{
|
||||
case 1:
|
||||
lpPerActivation = AlchemicalWizardry.energyBlastLPPerActivation;
|
||||
maxDelayAfterActivation = AlchemicalWizardry.energyBlastMaxDelayAfterActivation + 1;
|
||||
break;
|
||||
case 2:
|
||||
lpPerActivation = AlchemicalWizardry.energyBlastSecondTierLPPerActivation;
|
||||
maxDelayAfterActivation = AlchemicalWizardry.energyBlastSecondTierMaxDelayAfterActivation + 1;
|
||||
break;
|
||||
case 3:
|
||||
lpPerActivation = AlchemicalWizardry.energyBlastThirdTierLPPerActivation;
|
||||
maxDelayAfterActivation = AlchemicalWizardry.energyBlastThirdTierMaxDelayAfterActivation + 1;
|
||||
break;
|
||||
}
|
||||
if (par2World.getWorldTime() % maxDelayAfterActivation == par1ItemStack.getTagCompound().getInteger("worldTimeDelay") &&
|
||||
par1ItemStack.getTagCompound().getBoolean("isActive"))
|
||||
{
|
||||
if (!par3EntityPlayer.capabilities.isCreativeMode)
|
||||
{
|
||||
if(!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, tier == 1 ? AlchemicalWizardry.energyBlastLPPerActivation : AlchemicalWizardry.energyBlastSecondTierLPPerActivation))
|
||||
if(!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, lpPerActivation))
|
||||
{
|
||||
this.setActivated(par1ItemStack, false);
|
||||
}
|
||||
@@ -158,18 +209,17 @@ public class EnergyBlast extends EnergyItems
|
||||
{
|
||||
par3List.add(StatCollector.translateToLocal("tooltip.energyblast.desc1"));
|
||||
par3List.add(StatCollector.translateToLocal("tooltip.energyblast.desc2"));
|
||||
par3List.add(StatCollector.translateToLocal("tooltip.alchemy.damage") + " " + damage);
|
||||
|
||||
par3List.add(StatCollector.translateToLocal("tooltip.alchemy.damage") + " " + this.damage);
|
||||
if (!(par1ItemStack.getTagCompound() == null))
|
||||
{
|
||||
if (par1ItemStack.getTagCompound().getBoolean("isActive"))
|
||||
{
|
||||
par3List.add(StatCollector.translateToLocal("tooltip.sigil.state.activated"));
|
||||
} else
|
||||
}
|
||||
else
|
||||
{
|
||||
par3List.add(StatCollector.translateToLocal("tooltip.sigil.state.deactivated"));
|
||||
}
|
||||
|
||||
if (!par1ItemStack.getTagCompound().getString("ownerName").equals(""))
|
||||
{
|
||||
par3List.add(StatCollector.translateToLocal("tooltip.owner.currentowner") + " " + par1ItemStack.getTagCompound().getString("ownerName"));
|
||||
|
||||
@@ -77,6 +77,7 @@ item.masterBloodOrb.name=Master Blood Orb
|
||||
item.archmageBloodOrb.name=Archmage's Blood Orb
|
||||
item.energyBlast.name=Energy Blaster
|
||||
item.energyBlastSecondTier.name=Energy Blaster II
|
||||
item.energyBlastThirdTier.name=Energy Blaster III
|
||||
item.energySword.name=Bound Blade
|
||||
item.lavaCrystal.name=Lava Crystal
|
||||
item.waterSigil.name=Water Sigil
|
||||
@@ -149,6 +150,7 @@ item.sigilOfMagnetism.name=Sigil of Magnetism
|
||||
item.itemDiabloKey.name=Key of Binding
|
||||
item.energyBazooka.name=Energy Bazooka
|
||||
item.energyBazookaSecondTier.name=Energy Bazooka II
|
||||
item.energyBazookaThirdTier.name=Energy Bazooka III
|
||||
item.bloodLightSigil.name=Sigil of the Blood Lamp
|
||||
item.itemComplexSpellCrystal.name=Complex Spell Crystal
|
||||
item.itemSigilOfSupression.name=Sigil of Supression
|
||||
|
||||
Reference in new issue
Block a user