v0.7.2: significant balance adjustments to wand of transfusion

This commit is contained in:
Evan Debenham 2019-01-31 16:54:00 -05:00
parent 67d8bb9781
commit 335f573681
2 changed files with 26 additions and 23 deletions

View File

@ -67,18 +67,18 @@ public class WandOfTransfusion extends Wand {
Char ch = Actor.findChar(cell);
if (ch != null && ch instanceof Mob){
if (ch instanceof Mob){
// 10% of max hp
int selfDmg = (int)Math.ceil(curUser.HT*0.10f);
processSoulMark(ch, chargesPerCast());
//this wand does different things depending on the target.
//heals/shields an ally, or a charmed enemy
//heals/shields an ally or a charmed enemy while damaging self
if (ch.alignment == Char.Alignment.ALLY || ch.buff(Charm.class) != null){
// 10% of max hp
int selfDmg = Math.round(curUser.HT*0.10f);
int healing = selfDmg + 3*level();
int shielding = (ch.HP + healing) - ch.HT;
if (shielding > 0){
@ -92,28 +92,31 @@ public class WandOfTransfusion extends Wand {
ch.sprite.emitter().burst(Speck.factory(Speck.HEALING), 2 + level() / 2);
ch.sprite.showStatus(CharSprite.POSITIVE, "+%dHP", healing + shielding);
//harms the undead
} else if (ch.properties().contains(Char.Property.UNDEAD)){
int damage = selfDmg + 3*level();
ch.damage(damage, this);
ch.sprite.emitter().start(ShadowParticle.UP, 0.05f, 10 + level());
Sample.INSTANCE.play(Assets.SND_BURNING);
if (!freeCharge) {
damageHero(selfDmg);
} else {
freeCharge = false;
}
//charms an enemy
//for enemies...
} else {
Buff.affect(ch , Charm.class, 4 + level() ).object = curUser.id();
//charms living enemies
if (!ch.properties().contains(Char.Property.UNDEAD)) {
Buff.affect(ch, Charm.class, 3 + level() / 2).object = curUser.id();
ch.sprite.centerEmitter().start( Speck.factory( Speck.HEART ), 0.2f, 3 + level()/2 );
//harms the undead
} else {
ch.damage(Random.NormalIntRange(3 + level()/2, 6+level()), this);
ch.sprite.emitter().start(ShadowParticle.UP, 0.05f, 10 + level());
Sample.INSTANCE.play(Assets.SND_BURNING);
}
//and grants a self shield
Buff.affect(curUser, Barrier.class).setShield((5 + 2*level()));
ch.sprite.centerEmitter().start( Speck.factory( Speck.HEART ), 0.2f, 5 );
}
if (!freeCharge) {
damageHero(selfDmg);
} else {
freeCharge = false;
}
}

View File

@ -1127,7 +1127,7 @@ items.wands.wandoftransfusion.staff_name=staff of transfusion
items.wands.wandoftransfusion.ondeath=You killed yourself with your own Wand of Transfusion...
items.wands.wandoftransfusion.charged=Your staff is charged with the life energy of your enemy!
items.wands.wandoftransfusion.desc=A fairly plainly shaped wand, it stands out due to its magenta hue and pitch black gem at the tip.
items.wands.wandoftransfusion.stats_desc=This wand will sap some of your life energy and blast it at a target. This effect is very versatile: allies will be healed or shielded, enemies will be temporarily charmed, and hostile undead will take considerable damage.
items.wands.wandoftransfusion.stats_desc=When used on allies, this wand saps some of your own health to heal or shield them. When used on enemies, the wand briefly charms them while pulling a bit of energy back to you. Hostile undead will be damaged instead of charmed.
items.wands.wandofcorrosion.name=wand of corrosion
items.wands.wandofcorrosion.staff_name=staff of corrosion