From 70c1354a4a96698758a88c032866288f79de6f5a Mon Sep 17 00:00:00 2001 From: Benjamin Culkin Date: Sat, 24 Aug 2024 08:16:37 -0400 Subject: Initial commit --- .../fbs/magic/enchant/MagicButterfly.class | Bin 0 -> 2548 bytes .../plusplus/fbs/magic/enchant/MagicButterfly.java | 64 +++++++++++++++++++ .../fbs/magic/enchant/MagicCleverness.class | Bin 0 -> 1419 bytes .../fbs/magic/enchant/MagicCleverness.java | 33 ++++++++++ .../fbs/magic/enchant/MagicContemporary.class | Bin 0 -> 1634 bytes .../fbs/magic/enchant/MagicContemporary.java | 40 ++++++++++++ .../fbs/magic/enchant/MagicContractEffect.class | Bin 0 -> 1429 bytes .../fbs/magic/enchant/MagicContractEffect.java | 34 ++++++++++ .../jp/plusplus/fbs/magic/enchant/MagicDagon.class | Bin 0 -> 1421 bytes .../jp/plusplus/fbs/magic/enchant/MagicDagon.java | 34 ++++++++++ .../fbs/magic/enchant/MagicDamageBoost.class | Bin 0 -> 1436 bytes .../fbs/magic/enchant/MagicDamageBoost.java | 34 ++++++++++ .../fbs/magic/enchant/MagicEvolutionKing.class | Bin 0 -> 1917 bytes .../fbs/magic/enchant/MagicEvolutionKing.java | 39 +++++++++++ .../fbs/magic/enchant/MagicFireArmor.class | Bin 0 -> 1889 bytes .../plusplus/fbs/magic/enchant/MagicFireArmor.java | 42 ++++++++++++ .../fbs/magic/enchant/MagicInvisible.class | Bin 0 -> 1475 bytes .../plusplus/fbs/magic/enchant/MagicInvisible.java | 37 +++++++++++ .../jp/plusplus/fbs/magic/enchant/MagicJump.class | Bin 0 -> 1883 bytes .../jp/plusplus/fbs/magic/enchant/MagicJump.java | 45 +++++++++++++ .../plusplus/fbs/magic/enchant/MagicPoison.class | Bin 0 -> 2199 bytes .../jp/plusplus/fbs/magic/enchant/MagicPoison.java | 54 ++++++++++++++++ .../fbs/magic/enchant/MagicRegeneration.class | Bin 0 -> 1434 bytes .../fbs/magic/enchant/MagicRegeneration.java | 35 ++++++++++ .../jp/plusplus/fbs/magic/enchant/MagicSpeed.class | Bin 0 -> 2010 bytes .../jp/plusplus/fbs/magic/enchant/MagicSpeed.java | 47 ++++++++++++++ .../jp/plusplus/fbs/magic/enchant/MagicWedge.class | Bin 0 -> 2758 bytes .../jp/plusplus/fbs/magic/enchant/MagicWedge.java | 71 +++++++++++++++++++++ 28 files changed, 609 insertions(+) create mode 100644 src/main/java/jp/plusplus/fbs/magic/enchant/MagicButterfly.class create mode 100644 src/main/java/jp/plusplus/fbs/magic/enchant/MagicButterfly.java create mode 100644 src/main/java/jp/plusplus/fbs/magic/enchant/MagicCleverness.class create mode 100644 src/main/java/jp/plusplus/fbs/magic/enchant/MagicCleverness.java create mode 100644 src/main/java/jp/plusplus/fbs/magic/enchant/MagicContemporary.class create mode 100644 src/main/java/jp/plusplus/fbs/magic/enchant/MagicContemporary.java create mode 100644 src/main/java/jp/plusplus/fbs/magic/enchant/MagicContractEffect.class create mode 100644 src/main/java/jp/plusplus/fbs/magic/enchant/MagicContractEffect.java create mode 100644 src/main/java/jp/plusplus/fbs/magic/enchant/MagicDagon.class create mode 100644 src/main/java/jp/plusplus/fbs/magic/enchant/MagicDagon.java create mode 100644 src/main/java/jp/plusplus/fbs/magic/enchant/MagicDamageBoost.class create mode 100644 src/main/java/jp/plusplus/fbs/magic/enchant/MagicDamageBoost.java create mode 100644 src/main/java/jp/plusplus/fbs/magic/enchant/MagicEvolutionKing.class create mode 100644 src/main/java/jp/plusplus/fbs/magic/enchant/MagicEvolutionKing.java create mode 100644 src/main/java/jp/plusplus/fbs/magic/enchant/MagicFireArmor.class create mode 100644 src/main/java/jp/plusplus/fbs/magic/enchant/MagicFireArmor.java create mode 100644 src/main/java/jp/plusplus/fbs/magic/enchant/MagicInvisible.class create mode 100644 src/main/java/jp/plusplus/fbs/magic/enchant/MagicInvisible.java create mode 100644 src/main/java/jp/plusplus/fbs/magic/enchant/MagicJump.class create mode 100644 src/main/java/jp/plusplus/fbs/magic/enchant/MagicJump.java create mode 100644 src/main/java/jp/plusplus/fbs/magic/enchant/MagicPoison.class create mode 100644 src/main/java/jp/plusplus/fbs/magic/enchant/MagicPoison.java create mode 100644 src/main/java/jp/plusplus/fbs/magic/enchant/MagicRegeneration.class create mode 100644 src/main/java/jp/plusplus/fbs/magic/enchant/MagicRegeneration.java create mode 100644 src/main/java/jp/plusplus/fbs/magic/enchant/MagicSpeed.class create mode 100644 src/main/java/jp/plusplus/fbs/magic/enchant/MagicSpeed.java create mode 100644 src/main/java/jp/plusplus/fbs/magic/enchant/MagicWedge.class create mode 100644 src/main/java/jp/plusplus/fbs/magic/enchant/MagicWedge.java (limited to 'src/main/java/jp/plusplus/fbs/magic/enchant') diff --git a/src/main/java/jp/plusplus/fbs/magic/enchant/MagicButterfly.class b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicButterfly.class new file mode 100644 index 0000000..b22ec4d Binary files /dev/null and b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicButterfly.class differ diff --git a/src/main/java/jp/plusplus/fbs/magic/enchant/MagicButterfly.java b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicButterfly.java new file mode 100644 index 0000000..07ab20c --- /dev/null +++ b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicButterfly.java @@ -0,0 +1,64 @@ +package jp.plusplus.fbs.magic.enchant; + +import jp.plusplus.fbs.AchievementRegistry; +import jp.plusplus.fbs.api.MagicEnchantBase; +import jp.plusplus.fbs.entity.EntityButterfly; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.DamageSource; + +/** + * Created by plusplus_F on 2015/08/23. + * 重要な魔法 + */ +public class MagicButterfly extends MagicEnchantBase { + public MagicButterfly() { + super(2, 4); + } + + @Override + public void success() { + player.attackEntityFrom(new DamageSource("fbs.butterfly"), 10000); + enchant(player, true); + } + + @Override + public void enchant(EntityLivingBase entity, boolean success) { + if(!success) return; + + //死んでいれば絶対蝶になる + //死んでなくても蝶になる + boolean flag=entity.isDead; + if(rand.nextFloat()<0.3f){ + entity.attackEntityFrom(new DamageSource("fbs.butterfly"), 10000); + flag=true; + } + + if(flag){ + EntityButterfly eb=new EntityButterfly(entity.worldObj, (float)entity.posX, (float)entity.posY+1, (float)entity.posZ); + entity.worldObj.spawnEntityInWorld(eb); + + if(entity instanceof EntityPlayer){ + ((EntityPlayer) entity).triggerAchievement(AchievementRegistry.sublimation); + } + } + } + + @Override + public boolean checkSuccess() { + int d=getLvDiff(); + float prob=isSpelled?0.35f:0.1f; + if(d>0) prob+=0.05f*d; + return rand.nextFloat()<=prob; + } + + @Override + public ParticleColor setParticleColor(){ + ParticleColor col=new ParticleColor(); + float v=0.1f+0.3f*rand.nextFloat(); + col.blue-=v; + col.red-=v; + col.green=0; + return col; + } +} diff --git a/src/main/java/jp/plusplus/fbs/magic/enchant/MagicCleverness.class b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicCleverness.class new file mode 100644 index 0000000..f82bfdd Binary files /dev/null and b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicCleverness.class differ diff --git a/src/main/java/jp/plusplus/fbs/magic/enchant/MagicCleverness.java b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicCleverness.java new file mode 100644 index 0000000..ee43203 --- /dev/null +++ b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicCleverness.java @@ -0,0 +1,33 @@ +package jp.plusplus.fbs.magic.enchant; + +import jp.plusplus.fbs.Registry; +import jp.plusplus.fbs.api.MagicEnchantBase; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.potion.PotionEffect; + +/** + * Createdby pluslus_Fon 2015/11/09. + */ +public class MagicCleverness extends MagicEnchantBase { + public MagicCleverness() { + super(1, 6); + } + + @Override + public boolean checkSuccess() { + int d=getLvDiff(); + float prob=isSpelled?0.5f:0.3f; + if(d>0) prob+=0.08f*d; + return rand.nextFloat()<=prob; + } + @Override + public void enchant(EntityLivingBase entity, boolean success) { + int d = getDuration(90, 0.5f); + int a = getAmplifier(7); + + if(success){ + if(this.isSpelled) d+=120*20; + entity.addPotionEffect(new PotionEffect(Registry.potionCleverness.getId(), d, a)); + } + } +} diff --git a/src/main/java/jp/plusplus/fbs/magic/enchant/MagicContemporary.class b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicContemporary.class new file mode 100644 index 0000000..210fa11 Binary files /dev/null and b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicContemporary.class differ diff --git a/src/main/java/jp/plusplus/fbs/magic/enchant/MagicContemporary.java b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicContemporary.java new file mode 100644 index 0000000..5d9d7a1 --- /dev/null +++ b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicContemporary.java @@ -0,0 +1,40 @@ +package jp.plusplus.fbs.magic.enchant; + +import jp.plusplus.fbs.api.MagicEnchantBase; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; + +/** + * Createdby pluslus_Fon 2015/09/19. + */ +public class MagicContemporary extends MagicEnchantBase { + public MagicContemporary() { + super(3, 10); + } + + @Override + public boolean checkSuccess() { + int d=getLvDiff(); + float prob=isSpelled?0.6f:0.2f; + if(d>0) prob+=0.08f*d; + return rand.nextFloat()<=prob; + } + @Override + public void enchant(EntityLivingBase entity, boolean success) { + int d = getDuration(180, 1); + int a = getAmplifier(8); + + if(success){ + if(this.isSpelled) d+=60*20; + entity.addPotionEffect(new PotionEffect(Potion.fireResistance.getId(), d, a)); + entity.addPotionEffect(new PotionEffect(Potion.resistance.getId(), d, a)); + entity.addPotionEffect(new PotionEffect(Potion.waterBreathing.getId(), d, a)); + } + else{ + entity.addPotionEffect(new PotionEffect(Potion.weakness.getId(), d, a)); + entity.addPotionEffect(new PotionEffect(Potion.digSlowdown.getId(), d, a)); + entity.addPotionEffect(new PotionEffect(Potion.blindness.getId(), d, a)); + } + } +} diff --git a/src/main/java/jp/plusplus/fbs/magic/enchant/MagicContractEffect.class b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicContractEffect.class new file mode 100644 index 0000000..5746735 Binary files /dev/null and b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicContractEffect.class differ diff --git a/src/main/java/jp/plusplus/fbs/magic/enchant/MagicContractEffect.java b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicContractEffect.java new file mode 100644 index 0000000..392fa49 --- /dev/null +++ b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicContractEffect.java @@ -0,0 +1,34 @@ +package jp.plusplus.fbs.magic.enchant; + +import jp.plusplus.fbs.Registry; +import jp.plusplus.fbs.api.MagicEnchantBase; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; + +/** + * Createdby pluslus_Fon 2015/11/09. + */ +public class MagicContractEffect extends MagicEnchantBase { + public MagicContractEffect() { + super(3, 10); + } + + @Override + public boolean checkSuccess() { + int d=getLvDiff(); + float prob=isSpelled?0.5f:0.3f; + if(d>0) prob+=0.08f*d; + return rand.nextFloat()<=prob; + } + @Override + public void enchant(EntityLivingBase entity, boolean success) { + int d = getDuration(90, 0.5f); + int a = getAmplifier(8); + + if(success){ + if(this.isSpelled) d+=120*20; + entity.addPotionEffect(new PotionEffect(Registry.potionContract.getId(), d, a)); + } + } +} diff --git a/src/main/java/jp/plusplus/fbs/magic/enchant/MagicDagon.class b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicDagon.class new file mode 100644 index 0000000..e185525 Binary files /dev/null and b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicDagon.class differ diff --git a/src/main/java/jp/plusplus/fbs/magic/enchant/MagicDagon.java b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicDagon.java new file mode 100644 index 0000000..80dcf5c --- /dev/null +++ b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicDagon.java @@ -0,0 +1,34 @@ +package jp.plusplus.fbs.magic.enchant; + +import jp.plusplus.fbs.api.MagicEnchantBase; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; + +/** + * Createdby pluslus_Fon 2015/09/19. + */ +public class MagicDagon extends MagicEnchantBase { + public MagicDagon() { + super(4, 6); + } + + @Override + public boolean checkSuccess() { + int d=getLvDiff(); + float prob=isSpelled?0.5f:0.3f; + if(d>0) prob+=0.08f*d; + return rand.nextFloat()<=prob; + } + @Override + public void enchant(EntityLivingBase entity, boolean success) { + int d = getDuration(90, 0.5f); + int a = getAmplifier(8); + + if(success){ + if(this.isSpelled) d+=120*20; + entity.addPotionEffect(new PotionEffect(Potion.waterBreathing.getId(), d, a)); + } + else entity.addPotionEffect(new PotionEffect(Potion.weakness.getId(), d, a)); + } +} diff --git a/src/main/java/jp/plusplus/fbs/magic/enchant/MagicDamageBoost.class b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicDamageBoost.class new file mode 100644 index 0000000..76bc834 Binary files /dev/null and b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicDamageBoost.class differ diff --git a/src/main/java/jp/plusplus/fbs/magic/enchant/MagicDamageBoost.java b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicDamageBoost.java new file mode 100644 index 0000000..73422fd --- /dev/null +++ b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicDamageBoost.java @@ -0,0 +1,34 @@ +package jp.plusplus.fbs.magic.enchant; + +import jp.plusplus.fbs.api.MagicEnchantBase; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; + +/** + * Createdby pluslus_Fon 2015/06/16. + */ +public class MagicDamageBoost extends MagicEnchantBase { + public MagicDamageBoost() { + super(4, 6); + } + + @Override + public boolean checkSuccess() { + int d=getLvDiff(); + float prob=isSpelled?0.5f:0.3f; + if(d>0) prob+=0.08f*d; + return rand.nextFloat()<=prob; + } + @Override + public void enchant(EntityLivingBase entity, boolean success) { + int d = getDuration(60, 0.3f); + int a = getAmplifier(8); + + if(success){ + if(this.isSpelled) d+=60*20; + entity.addPotionEffect(new PotionEffect(Potion.damageBoost.getId(), d, a)); + } + else entity.addPotionEffect(new PotionEffect(Potion.weakness.getId(), d, a)); + } +} diff --git a/src/main/java/jp/plusplus/fbs/magic/enchant/MagicEvolutionKing.class b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicEvolutionKing.class new file mode 100644 index 0000000..75b8880 Binary files /dev/null and b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicEvolutionKing.class differ diff --git a/src/main/java/jp/plusplus/fbs/magic/enchant/MagicEvolutionKing.java b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicEvolutionKing.java new file mode 100644 index 0000000..546817d --- /dev/null +++ b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicEvolutionKing.java @@ -0,0 +1,39 @@ +package jp.plusplus.fbs.magic.enchant; + +import jp.plusplus.fbs.api.MagicEnchantBase; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; + +/** + * Createdby pluslus_Fon 2015/06/14. + */ +public class MagicEvolutionKing extends MagicEnchantBase { + public MagicEvolutionKing() { + super(4, 6); + } + + @Override + public boolean checkSuccess() { + float prob=(isSpelled?0.6f:0.2f)+0.05f*(property.getMagicLevel()-bookData.lv); + return rand.nextFloat()<=prob; + } + + @Override + public void enchant(EntityLivingBase entity, boolean success) { + int d = getDuration(60, 2); + int a = getAmplifier(5); + + if(success){ + if(this.isSpelled) d+=30*20; + entity.addPotionEffect(new PotionEffect(Potion.damageBoost.getId(), d, a)); + entity.addPotionEffect(new PotionEffect(Potion.resistance.getId(), d, a)); + entity.addPotionEffect(new PotionEffect(Potion.field_76434_w.getId(), d, a)); + } + else{ + entity.addPotionEffect(new PotionEffect(Potion.weakness.getId(), d, a)); + entity.addPotionEffect(new PotionEffect(Potion.moveSlowdown.getId(), d, a)); + entity.addPotionEffect(new PotionEffect(Potion.wither.getId(), d/5, a)); + } + } +} diff --git a/src/main/java/jp/plusplus/fbs/magic/enchant/MagicFireArmor.class b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicFireArmor.class new file mode 100644 index 0000000..7e8087e Binary files /dev/null and b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicFireArmor.class differ diff --git a/src/main/java/jp/plusplus/fbs/magic/enchant/MagicFireArmor.java b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicFireArmor.java new file mode 100644 index 0000000..850f611 --- /dev/null +++ b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicFireArmor.java @@ -0,0 +1,42 @@ +package jp.plusplus.fbs.magic.enchant; + +import jp.plusplus.fbs.api.MagicEnchantBase; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; + +/** + * Createdby pluslus_Fon 2015/09/19. + */ +public class MagicFireArmor extends MagicEnchantBase { + public MagicFireArmor() { + super(4, 6); + } + + @Override + public boolean checkSuccess() { + int d=getLvDiff(); + float prob=isSpelled?0.5f:0.3f; + if(d>0) prob+=0.08f*d; + return rand.nextFloat()<=prob; + } + @Override + public void enchant(EntityLivingBase entity, boolean success) { + int d = getDuration(60, 1); + int a = getAmplifier(8); + + if(success){ + if(this.isSpelled) d+=30*20; + entity.addPotionEffect(new PotionEffect(Potion.fireResistance.getId(), d, a)); + } + else entity.addPotionEffect(new PotionEffect(Potion.weakness.getId(), d, a)); + } + + @Override + public ParticleColor setParticleColor(){ + ParticleColor col=new ParticleColor(); + col.green-=0.3f+0.25f*rand.nextFloat(); + col.blue-=0.7f+0.3f*rand.nextFloat(); + return col; + } +} diff --git a/src/main/java/jp/plusplus/fbs/magic/enchant/MagicInvisible.class b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicInvisible.class new file mode 100644 index 0000000..d349c08 Binary files /dev/null and b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicInvisible.class differ diff --git a/src/main/java/jp/plusplus/fbs/magic/enchant/MagicInvisible.java b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicInvisible.java new file mode 100644 index 0000000..41a06d8 --- /dev/null +++ b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicInvisible.java @@ -0,0 +1,37 @@ +package jp.plusplus.fbs.magic.enchant; + +import jp.plusplus.fbs.api.MagicEnchantBase; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; + +/** + * Createdby pluslus_Fon 2015/09/19. + */ +public class MagicInvisible extends MagicEnchantBase { + public MagicInvisible() { + super(4, 6); + } + + @Override + public boolean checkSuccess() { + int d=getLvDiff(); + float prob=isSpelled?0.5f:0.3f; + if(d>0) prob+=0.08f*d; + return rand.nextFloat()<=prob; + } + @Override + public void enchant(EntityLivingBase entity, boolean success) { + int d = getDuration(60, 2); + int a = getAmplifier(4); + + if(success){ + if(this.isSpelled) d+=30*20; + entity.addPotionEffect(new PotionEffect(Potion.invisibility.getId(), d, a)); + } + else{ + entity.addPotionEffect(new PotionEffect(Potion.weakness.getId(), d, a)); + entity.addPotionEffect(new PotionEffect(Potion.blindness.getId(), d, a)); + } + } +} diff --git a/src/main/java/jp/plusplus/fbs/magic/enchant/MagicJump.class b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicJump.class new file mode 100644 index 0000000..100baab Binary files /dev/null and b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicJump.class differ diff --git a/src/main/java/jp/plusplus/fbs/magic/enchant/MagicJump.java b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicJump.java new file mode 100644 index 0000000..1f5d89a --- /dev/null +++ b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicJump.java @@ -0,0 +1,45 @@ +package jp.plusplus.fbs.magic.enchant; + +import jp.plusplus.fbs.api.MagicEnchantBase; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.network.play.server.S12PacketEntityVelocity; + +/** + * Createdby pluslus_Fon 2015/09/18. + */ +public class MagicJump extends MagicEnchantBase { + public MagicJump() { + super(2, 6); + } + + @Override + public boolean checkSuccess() { + int d=getLvDiff(); + float prob=isSpelled?0.35f:0.1f; + if(d>0) prob+=0.05f*d; + return rand.nextFloat()<=prob; + } + + @Override + public void enchant(EntityLivingBase entity, boolean success) { + if(!entity.onGround) return; + + int v=getLvDiff(); + double d=0.5+Math.max(0, v*0.05); + if(entity instanceof EntityPlayerMP){ + if(!success) d*=2; + entity.addVelocity(0, d-player.motionY, 0); + ((EntityPlayerMP) entity).playerNetServerHandler.sendPacket(new S12PacketEntityVelocity(entity)); + } + else{ + if(!success) d*=0.5; + entity.addVelocity(0, d-player.motionY, 0); + } + } + + @Override + public float damageScale(EntityLivingBase entity){ + return 0.5f; + } +} diff --git a/src/main/java/jp/plusplus/fbs/magic/enchant/MagicPoison.class b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicPoison.class new file mode 100644 index 0000000..b7f66c1 Binary files /dev/null and b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicPoison.class differ diff --git a/src/main/java/jp/plusplus/fbs/magic/enchant/MagicPoison.java b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicPoison.java new file mode 100644 index 0000000..46c0c87 --- /dev/null +++ b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicPoison.java @@ -0,0 +1,54 @@ +package jp.plusplus.fbs.magic.enchant; + +import jp.plusplus.fbs.api.MagicEnchantBase; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; + +/** + * Createdby pluslus_Fon 2015/10/22. + */ +public class MagicPoison extends MagicEnchantBase { + public MagicPoison() { + super(4, 6); + } + + @Override + public boolean checkSuccess() { + if(!isSpelled) return false; + + float prob=0.4f+0.02f*property.getMagicLevel(); + return rand.nextFloat()<=prob; + } + + @Override + public void success() { + Entity e=getTouchEntity(); + if(e instanceof EntityLivingBase){ + enchant((EntityLivingBase)e, true); + } + } + + + @Override + public void enchant(EntityLivingBase entity, boolean success) { + int d = getDuration(5, 3); + int a = getAmplifier(10); + + if(success){ + if(isSpelled) d+=3*20; + entity.addPotionEffect(new PotionEffect(Potion.poison.getId(), d, a)); + } + } + + @Override + public ParticleColor setParticleColor(){ + ParticleColor col=new ParticleColor(); + float v=0.1f+0.5f*rand.nextFloat(); + col.blue-=v; + col.red-=v; + col.green=0; + return col; + } +} diff --git a/src/main/java/jp/plusplus/fbs/magic/enchant/MagicRegeneration.class b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicRegeneration.class new file mode 100644 index 0000000..418570f Binary files /dev/null and b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicRegeneration.class differ diff --git a/src/main/java/jp/plusplus/fbs/magic/enchant/MagicRegeneration.java b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicRegeneration.java new file mode 100644 index 0000000..b0c5ffb --- /dev/null +++ b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicRegeneration.java @@ -0,0 +1,35 @@ +package jp.plusplus.fbs.magic.enchant; + +import jp.plusplus.fbs.api.MagicEnchantBase; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; + +/** + * Createdby pluslus_Fon 2015/06/16. + */ +public class MagicRegeneration extends MagicEnchantBase { + public MagicRegeneration() { + super(4, 6); + } + + @Override + public boolean checkSuccess() { + int d=getLvDiff(); + float prob=isSpelled?0.35f:0.1f; + if(d>0) prob+=0.05f*d; + return rand.nextFloat()<=prob; + } + + @Override + public void enchant(EntityLivingBase entity, boolean success) { + int d = getDuration(10, 2); + int a = getAmplifier(8); + + if(success){ + if(this.isSpelled) d+=5*20; + entity.addPotionEffect(new PotionEffect(Potion.regeneration.getId(), d, a)); + } + else entity.addPotionEffect(new PotionEffect(Potion.wither.getId(), d, a)); + } +} diff --git a/src/main/java/jp/plusplus/fbs/magic/enchant/MagicSpeed.class b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicSpeed.class new file mode 100644 index 0000000..71a7997 Binary files /dev/null and b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicSpeed.class differ diff --git a/src/main/java/jp/plusplus/fbs/magic/enchant/MagicSpeed.java b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicSpeed.java new file mode 100644 index 0000000..36cc369 --- /dev/null +++ b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicSpeed.java @@ -0,0 +1,47 @@ +package jp.plusplus.fbs.magic.enchant; + +import jp.plusplus.fbs.api.MagicEnchantBase; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; + +/** + * Createdby pluslus_Fon 2015/06/08. + */ +public class MagicSpeed extends MagicEnchantBase { + public MagicSpeed() { + super(4, 6); + } + + @Override + public boolean checkSuccess() { + if(!isSpelled) return false; + + float prob=0.4f+0.02f*property.getMagicLevel(); + return rand.nextFloat()<=prob; + } + + @Override + public void enchant(EntityLivingBase entity, boolean success) { + int d = getDuration(30, 1); + int a = getAmplifier(8); + + if(success){ + if(isSpelled) d+=120*20; + entity.addPotionEffect(new PotionEffect(Potion.moveSpeed.getId(), d, a)); + entity.addPotionEffect(new PotionEffect(Potion.jump.getId(), d, a)); + } + else{ + entity.addPotionEffect(new PotionEffect(Potion.moveSlowdown.getId(), d, a)); + } + } + + @Override + public ParticleColor setParticleColor(){ + ParticleColor col=new ParticleColor(); + float v=0.1f+0.5f*rand.nextFloat(); + col.blue-=v; + col.red-=v; + return col; + } +} diff --git a/src/main/java/jp/plusplus/fbs/magic/enchant/MagicWedge.class b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicWedge.class new file mode 100644 index 0000000..f560bb9 Binary files /dev/null and b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicWedge.class differ diff --git a/src/main/java/jp/plusplus/fbs/magic/enchant/MagicWedge.java b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicWedge.java new file mode 100644 index 0000000..eefe3bd --- /dev/null +++ b/src/main/java/jp/plusplus/fbs/magic/enchant/MagicWedge.java @@ -0,0 +1,71 @@ +package jp.plusplus.fbs.magic.enchant; + +import jp.plusplus.fbs.api.IMagicEnchant; +import jp.plusplus.fbs.api.MagicBase; +import jp.plusplus.fbs.entity.EntityMagicWedge; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; + +/** + * Createdby pluslus_Fon 2015/06/14. + */ +public class MagicWedge extends MagicBase implements IMagicEnchant { + @Override + public boolean checkSuccess() { + if(isSpelled) return true; + + float prob=0.4f+0.03f*property.getMagicLevel(); + return rand.nextFloat()<=prob; + } + + @Override + public void success() { + int l=getLvDiff(); + int eLv=1; + int eDu=20*(isSpelled?20:10); + float dm=isSpelled?1.0f:0.5f; + if(l>0){ + eLv+=l/5; + eDu+=20*(l/2); + dm+=0.5f*(l/8); + } + + Entity e=new EntityMagicWedge(world, player, 1.0F, 1.0F, dm, eLv, eDu); + world.spawnEntityInWorld(e); + } + + @Override + public void failure() { + sanity(1,6); + } + + @Override + public void enchant(EntityLivingBase entity, boolean success) { + int l=getLvDiff(); + int eLv=1; + int eDu=20*(isSpelled?20:10); + if(l>0){ + eLv+=l/5; + eDu+=20*(l/2); + } + + entity.addPotionEffect(new PotionEffect(Potion.weakness.getId(), eDu, eLv)); + } + + @Override + public float damageScale(EntityLivingBase entity) { + return 0.75f; + } + + @Override + public float damageValue(EntityLivingBase entity) { + return 0.f; + } + + @Override + public ParticleColor setParticleColor() { + return new ParticleColor(); + } +} -- cgit v1.2.3