mirror of
https://github.com/GTNewHorizons/ThaumicTinkerer.git
synced 2026-10-25 20:32:29 +00:00
useful focus shadow beam
increased damage and cost of use damage 8->100 (with upgrades 200) cost of vis x20 The crossbow can do more than 500 damage, so why should it be the only weapon against infernals?
This commit is contained in:
1 parent
dc69ee1728
commit
73bf026fc0
1 file changed
+21
-17
@@ -36,14 +36,16 @@ import thaumic.tinkerer.common.research.ResearchHelper;
|
||||
|
||||
public class ItemFocusShadowbeam extends ItemModKamiFocus {
|
||||
|
||||
private static final AspectList visUsage = new AspectList().add(Aspect.ORDER, 25).add(Aspect.ENTROPY, 25).add(Aspect.AIR, 15);
|
||||
private static final AspectList visUsage = new AspectList().add(Aspect.ORDER, 500).add(Aspect.ENTROPY, 500).add(Aspect.AIR, 300);
|
||||
|
||||
private static final int DAMAGE = 100;
|
||||
|
||||
public ItemFocusShadowbeam() {
|
||||
super();
|
||||
|
||||
EntityRegistry.registerModEntity(Beam.class, "ShadowbeamStaffBeam", 0, ThaumicTinkerer.instance, 0, 0, false);
|
||||
}
|
||||
|
||||
|
||||
public String getSortingHelper(ItemStack itemstack)
|
||||
{
|
||||
return "TTKSH" + super.getSortingHelper(itemstack);
|
||||
@@ -52,7 +54,7 @@ public class ItemFocusShadowbeam extends ItemModKamiFocus {
|
||||
@Override
|
||||
public void onUsingFocusTick(ItemStack stack, EntityPlayer player, int count) {
|
||||
ItemWandCasting wand = (ItemWandCasting) stack.getItem();
|
||||
int potency = wand.getFocusPotency(stack); //TODO verify effect
|
||||
int potency = wand.getFocusPotency(stack);
|
||||
|
||||
if (!player.worldObj.isRemote && wand.consumeAllVis(stack, player, getVisCost(stack), true, false)) {
|
||||
|
||||
@@ -83,22 +85,22 @@ public class ItemFocusShadowbeam extends ItemModKamiFocus {
|
||||
public AspectList getVisCost(ItemStack stack) {
|
||||
return visUsage;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public FocusUpgradeType[] getPossibleUpgradesByRank(ItemStack itemstack, int rank)
|
||||
{
|
||||
switch (rank)
|
||||
{
|
||||
case 1:
|
||||
return new FocusUpgradeType[] { FocusUpgradeType.frugal/*, FocusUpgradeType.potency*/};
|
||||
case 2:
|
||||
return new FocusUpgradeType[] { FocusUpgradeType.frugal/*, FocusUpgradeType.potency*/};
|
||||
case 3:
|
||||
return new FocusUpgradeType[] { FocusUpgradeType.frugal/*, FocusUpgradeType.potency*/};
|
||||
case 4:
|
||||
return new FocusUpgradeType[] { FocusUpgradeType.frugal/*, FocusUpgradeType.potency*/};
|
||||
case 5:
|
||||
return new FocusUpgradeType[] { FocusUpgradeType.frugal/*, FocusUpgradeType.potency*/};
|
||||
case 1:
|
||||
return new FocusUpgradeType[] { FocusUpgradeType.frugal, FocusUpgradeType.potency};
|
||||
case 2:
|
||||
return new FocusUpgradeType[] { FocusUpgradeType.frugal, FocusUpgradeType.potency};
|
||||
case 3:
|
||||
return new FocusUpgradeType[] { FocusUpgradeType.frugal, FocusUpgradeType.potency};
|
||||
case 4:
|
||||
return new FocusUpgradeType[] { FocusUpgradeType.frugal, FocusUpgradeType.potency};
|
||||
case 5:
|
||||
return new FocusUpgradeType[] { FocusUpgradeType.frugal, FocusUpgradeType.potency};
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@@ -180,7 +182,7 @@ public class ItemFocusShadowbeam extends ItemModKamiFocus {
|
||||
private int initialOffset = 2;
|
||||
private int length = 298;
|
||||
private int maxTicks = initialOffset + length;
|
||||
private int size = 4;
|
||||
private int size = 2;
|
||||
|
||||
private int potency;
|
||||
private Vector3 movementVector;
|
||||
@@ -234,8 +236,10 @@ public class ItemFocusShadowbeam extends ItemModKamiFocus {
|
||||
return;
|
||||
|
||||
if (movingobjectposition.entityHit != null) {
|
||||
if ((MinecraftServer.getServer().isPVPEnabled() || !(movingobjectposition.entityHit instanceof EntityPlayer)) && movingobjectposition.entityHit != getThrower() && getThrower() instanceof EntityPlayer && !movingobjectposition.entityHit.worldObj.isRemote)
|
||||
movingobjectposition.entityHit.attackEntityFrom(DamageSource.causePlayerDamage((EntityPlayer) getThrower()), 8 + potency);
|
||||
if ((MinecraftServer.getServer().isPVPEnabled() || !(movingobjectposition.entityHit instanceof EntityPlayer)) && movingobjectposition.entityHit != getThrower() && getThrower() instanceof EntityPlayer && !movingobjectposition.entityHit.worldObj.isRemote) {
|
||||
int fullDamage = (potency>0)? (int) (DAMAGE + DAMAGE * (0.2 * potency)): DAMAGE;
|
||||
movingobjectposition.entityHit.attackEntityFrom(DamageSource.causePlayerDamage((EntityPlayer) getThrower()), fullDamage);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user