v0.6.3: fixed boomerang taking an accuracy penalty when used as melee
This commit is contained in:
parent
e4a3d3ff10
commit
0fb0f9ce2a
|
@ -281,14 +281,19 @@ public class Hero extends Char {
|
||||||
return belongings.armor == null ? 0 : belongings.armor.tier;
|
return belongings.armor == null ? 0 : belongings.armor.tier;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//this variable is only needed because of the boomerang, remove if/when it is no longer equippable
|
||||||
|
boolean rangedAttack = false;
|
||||||
|
|
||||||
public boolean shoot( Char enemy, MissileWeapon wep ) {
|
public boolean shoot( Char enemy, MissileWeapon wep ) {
|
||||||
|
|
||||||
//temporarily set the hero's weapon to the missile weapon being used
|
//temporarily set the hero's weapon to the missile weapon being used
|
||||||
KindOfWeapon equipped = belongings.weapon;
|
KindOfWeapon equipped = belongings.weapon;
|
||||||
belongings.weapon = wep;
|
belongings.weapon = wep;
|
||||||
|
rangedAttack = true;
|
||||||
boolean result = attack( enemy );
|
boolean result = attack( enemy );
|
||||||
Invisibility.dispel();
|
Invisibility.dispel();
|
||||||
belongings.weapon = equipped;
|
belongings.weapon = equipped;
|
||||||
|
rangedAttack = false;
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -298,7 +303,7 @@ public class Hero extends Char {
|
||||||
KindOfWeapon wep = belongings.weapon;
|
KindOfWeapon wep = belongings.weapon;
|
||||||
|
|
||||||
float accuracy = 1;
|
float accuracy = 1;
|
||||||
if (wep instanceof MissileWeapon
|
if (wep instanceof MissileWeapon && rangedAttack
|
||||||
&& Dungeon.level.distance( pos, target.pos ) == 1) {
|
&& Dungeon.level.distance( pos, target.pos ) == 1) {
|
||||||
accuracy *= 0.5f;
|
accuracy *= 0.5f;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user