BloodMagic/BM_src/WayofTime/alchemicalWizardry/common/spell/complex/effect/SpellEffectWind.java

170 lines
4.3 KiB
Java
Raw Normal View History

2014-02-09 17:20:02 +00:00
package WayofTime.alchemicalWizardry.common.spell.complex.effect;
import WayofTime.alchemicalWizardry.common.spell.complex.SpellParadigmMelee;
import WayofTime.alchemicalWizardry.common.spell.complex.SpellParadigmProjectile;
import WayofTime.alchemicalWizardry.common.spell.complex.SpellParadigmSelf;
2014-03-19 01:50:57 +00:00
import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind.MeleeOffensiveWind;
import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind.ProjectileDefaultWind;
2014-02-14 20:20:20 +00:00
import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind.ProjectileEnvironmentalWind;
import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind.ProjectileOffensiveWind;
2014-03-19 01:50:57 +00:00
import WayofTime.alchemicalWizardry.common.spell.complex.effect.impactEffects.wind.SelfEnvironmentalWind;
2014-02-09 17:20:02 +00:00
public class SpellEffectWind extends SpellEffect
{
@Override
public void defaultModificationProjectile(SpellParadigmProjectile parad)
{
parad.addImpactEffect(new ProjectileDefaultWind(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement));
2014-02-09 17:20:02 +00:00
}
@Override
public void offensiveModificationProjectile(SpellParadigmProjectile parad)
{
parad.addImpactEffect(new ProjectileOffensiveWind(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement));
2014-02-09 17:20:02 +00:00
}
@Override
public void defensiveModificationProjectile(SpellParadigmProjectile parad)
{
parad.ricochetMax+=this.potencyEnhancement;
2014-02-09 17:20:02 +00:00
}
@Override
public void environmentalModificationProjectile(SpellParadigmProjectile parad)
{
2014-02-14 20:20:20 +00:00
parad.addUpdateEffect(new ProjectileEnvironmentalWind(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement));
2014-02-09 17:20:02 +00:00
}
@Override
public void defaultModificationSelf(SpellParadigmSelf parad)
{
// TODO Auto-generated method stub
}
@Override
public void offensiveModificationSelf(SpellParadigmSelf parad)
{
// TODO Auto-generated method stub
}
@Override
public void defensiveModificationSelf(SpellParadigmSelf parad)
{
// TODO Auto-generated method stub
}
@Override
public void environmentalModificationSelf(SpellParadigmSelf parad)
{
2014-03-19 01:50:57 +00:00
parad.addSelfSpellEffect(new SelfEnvironmentalWind(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement));
2014-02-09 17:20:02 +00:00
}
@Override
public void defaultModificationMelee(SpellParadigmMelee parad)
{
// TODO Auto-generated method stub
}
@Override
public void offensiveModificationMelee(SpellParadigmMelee parad)
{
2014-03-19 01:50:57 +00:00
parad.addEntityEffect(new MeleeOffensiveWind(this.powerEnhancement,this.potencyEnhancement,this.costEnhancement));
2014-02-09 17:20:02 +00:00
}
@Override
public void defensiveModificationMelee(SpellParadigmMelee parad)
{
// TODO Auto-generated method stub
}
@Override
public void environmentalModificationMelee(SpellParadigmMelee parad)
{
// TODO Auto-generated method stub
}
@Override
protected int getCostForDefaultProjectile()
{
2014-03-19 01:50:57 +00:00
return (int)(100*(this.potencyEnhancement+1)*Math.pow(0.85, costEnhancement));
2014-02-09 17:20:02 +00:00
}
@Override
protected int getCostForOffenseProjectile()
{
2014-03-19 01:50:57 +00:00
return (int)(100*(0.5*this.potencyEnhancement+1)*(this.powerEnhancement+1)*Math.pow(0.85, costEnhancement));
2014-02-09 17:20:02 +00:00
}
@Override
protected int getCostForDefenseProjectile()
{
2014-03-19 01:50:57 +00:00
return (int)(100*(this.potencyEnhancement+1));
2014-02-09 17:20:02 +00:00
}
@Override
protected int getCostForEnvironmentProjectile()
{
2014-03-19 01:50:57 +00:00
return (int)(50*(this.powerEnhancement+1)*(this.potencyEnhancement+1)*Math.pow(0.85, costEnhancement));
2014-02-09 17:20:02 +00:00
}
@Override
protected int getCostForDefaultSelf()
{
// TODO Auto-generated method stub
return 0;
}
@Override
protected int getCostForOffenseSelf()
{
// TODO Auto-generated method stub
return 0;
}
@Override
protected int getCostForDefenseSelf()
{
// TODO Auto-generated method stub
return 0;
}
@Override
protected int getCostForEnvironmentSelf()
{
2014-03-19 01:50:57 +00:00
return (int)(500*(0.7d*this.powerEnhancement+1)*(0.2*this.potencyEnhancement+1)*Math.pow(0.85, costEnhancement));
2014-02-09 17:20:02 +00:00
}
@Override
protected int getCostForDefaultMelee()
{
// TODO Auto-generated method stub
return 0;
}
@Override
protected int getCostForOffenseMelee()
{
2014-03-19 01:50:57 +00:00
return (int)(250*(1.0*this.potencyEnhancement+1)*(0.7*this.powerEnhancement+1)*Math.pow(0.85, costEnhancement));
2014-02-09 17:20:02 +00:00
}
@Override
protected int getCostForDefenseMelee()
{
// TODO Auto-generated method stub
return 0;
}
@Override
protected int getCostForEnvironmentMelee()
{
// TODO Auto-generated method stub
return 0;
}
}