mirror of
https://github.com/Sollace/Unicopia.git
synced 2024-11-27 15:17:59 +01:00
Add a mana cost when using the portals
This commit is contained in:
parent
cbd80270e3
commit
8036844941
1 changed files with 5 additions and 6 deletions
|
@ -111,14 +111,11 @@ public class PortalSpell extends AbstractSpell implements PlaceableSpell.Placeme
|
||||||
private void tickWithTargetLink(Caster<?> source, Ether.Entry destination) {
|
private void tickWithTargetLink(Caster<?> source, Ether.Entry destination) {
|
||||||
|
|
||||||
destination.entity.getPosition().ifPresent(targetPos -> {
|
destination.entity.getPosition().ifPresent(targetPos -> {
|
||||||
Vec3d center = source.getOriginVector();
|
source.findAllEntitiesInRange(1).forEach(entity -> {
|
||||||
source.findAllEntitiesInRange(1).filter(e -> true).forEach(entity -> {
|
|
||||||
if (!entity.hasPortalCooldown() && entity.timeUntilRegen <= 0) {
|
if (!entity.hasPortalCooldown() && entity.timeUntilRegen <= 0) {
|
||||||
Vec3d offset = entity.getPos().subtract(center);
|
Vec3d offset = entity.getPos().subtract(source.getOriginVector());
|
||||||
Vec3d dest = targetPos;
|
|
||||||
float yawDifference = pitch < 15 ? (180 - yaw + destination.yaw) : 0;
|
float yawDifference = pitch < 15 ? (180 - yaw + destination.yaw) : 0;
|
||||||
|
Vec3d dest = targetPos.add(offset.rotateY(yawDifference * MathHelper.RADIANS_PER_DEGREE)).add(0, 0.05, 0);
|
||||||
dest = dest.add(offset.rotateY(yawDifference * MathHelper.RADIANS_PER_DEGREE)).add(0, 0.05, 0);
|
|
||||||
|
|
||||||
entity.resetPortalCooldown();
|
entity.resetPortalCooldown();
|
||||||
entity.timeUntilRegen = 20;
|
entity.timeUntilRegen = 20;
|
||||||
|
@ -130,6 +127,8 @@ public class PortalSpell extends AbstractSpell implements PlaceableSpell.Placeme
|
||||||
entity.teleport(dest.x, dest.y, dest.z);
|
entity.teleport(dest.x, dest.y, dest.z);
|
||||||
entity.world.playSoundFromEntity(null, entity, USounds.ENTITY_PLAYER_UNICORN_TELEPORT, entity.getSoundCategory(), 1, 1);
|
entity.world.playSoundFromEntity(null, entity, USounds.ENTITY_PLAYER_UNICORN_TELEPORT, entity.getSoundCategory(), 1, 1);
|
||||||
setDirty();
|
setDirty();
|
||||||
|
|
||||||
|
source.subtractEnergyCost(Math.sqrt(entity.getPos().subtract(dest).length()));
|
||||||
}
|
}
|
||||||
|
|
||||||
ParticleUtils.spawnParticles(new MagicParticleEffect(getType().getColor()), entity, 7);
|
ParticleUtils.spawnParticles(new MagicParticleEffect(getType().getColor()), entity, 7);
|
||||||
|
|
Loading…
Reference in a new issue