v0.7.0c: bugfixes:
- fixed reach weapons not working for non-heroes - fixed stealth using integers rather than floats - fixed magical sleep decrementing paralysis without incrementing it
This commit is contained in:
parent
7ae41e180a
commit
7424c5d5eb
|
@ -491,7 +491,7 @@ public abstract class Char extends Actor {
|
|||
}
|
||||
}
|
||||
|
||||
public int stealth() {
|
||||
public float stealth() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -36,18 +36,18 @@ public class MagicalSleep extends Buff {
|
|||
public boolean attachTo( Char target ) {
|
||||
if (!target.isImmune(Sleep.class) && super.attachTo( target )) {
|
||||
|
||||
if (target instanceof Hero)
|
||||
target.paralysed++;
|
||||
|
||||
if (target instanceof Hero) {
|
||||
if (target.HP == target.HT) {
|
||||
GLog.i(Messages.get(this, "toohealthy"));
|
||||
detach();
|
||||
return true;
|
||||
} else {
|
||||
GLog.i(Messages.get(this, "fallasleep"));
|
||||
}
|
||||
else if (target instanceof Mob)
|
||||
} else if (target instanceof Mob) {
|
||||
((Mob) target).state = ((Mob) target).SLEEPING;
|
||||
|
||||
target.paralysed++;
|
||||
}
|
||||
|
||||
return true;
|
||||
} else {
|
||||
|
|
|
@ -1292,11 +1292,11 @@ public class Hero extends Char {
|
|||
}
|
||||
|
||||
@Override
|
||||
public int stealth() {
|
||||
int stealth = super.stealth();
|
||||
public float stealth() {
|
||||
float stealth = super.stealth();
|
||||
|
||||
if (belongings.armor != null){
|
||||
stealth = Math.round(belongings.armor.stealthFactor(this, stealth));
|
||||
stealth = belongings.armor.stealthFactor(this, stealth);
|
||||
}
|
||||
|
||||
return stealth;
|
||||
|
|
|
@ -691,7 +691,7 @@ public abstract class Mob extends Char {
|
|||
|
||||
@Override
|
||||
public boolean act( boolean enemyInFOV, boolean justAlerted ) {
|
||||
if (enemyInFOV && Random.Int( distance( enemy ) + enemy.stealth() + (enemy.flying ? 2 : 0) ) == 0) {
|
||||
if (enemyInFOV && Random.Float( distance( enemy ) + enemy.stealth() + (enemy.flying ? 2 : 0) ) < 1) {
|
||||
|
||||
enemySeen = true;
|
||||
|
||||
|
@ -726,7 +726,7 @@ public abstract class Mob extends Char {
|
|||
|
||||
@Override
|
||||
public boolean act( boolean enemyInFOV, boolean justAlerted ) {
|
||||
if (enemyInFOV && (justAlerted || Random.Int( distance( enemy ) / 2 + enemy.stealth() ) == 0)) {
|
||||
if (enemyInFOV && (justAlerted || Random.Float( distance( enemy ) / 2f + enemy.stealth() ) < 1)) {
|
||||
|
||||
enemySeen = true;
|
||||
|
||||
|
|
|
@ -22,9 +22,9 @@
|
|||
package com.shatteredpixel.shatteredpixeldungeon.items;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.utils.BArray;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
||||
|
@ -114,8 +114,9 @@ abstract public class KindOfWeapon extends EquipableItem {
|
|||
return false;
|
||||
} else {
|
||||
boolean[] passable = BArray.not(Dungeon.level.solid, null);
|
||||
for (Mob m : Dungeon.level.mobs)
|
||||
passable[m.pos] = false;
|
||||
for (Char ch : Actor.chars()) {
|
||||
if (ch != owner) passable[ch.pos] = false;
|
||||
}
|
||||
|
||||
PathFinder.buildDistanceMap(target, passable, reachFactor(owner));
|
||||
|
||||
|
|
|
@ -571,11 +571,11 @@ public class DriedRose extends Artifact {
|
|||
}
|
||||
|
||||
@Override
|
||||
public int stealth() {
|
||||
int stealth = super.stealth();
|
||||
public float stealth() {
|
||||
float stealth = super.stealth();
|
||||
|
||||
if (rose != null && rose.armor != null){
|
||||
stealth = Math.round(rose.armor.stealthFactor(this, stealth));
|
||||
stealth = rose.armor.stealthFactor(this, stealth);
|
||||
}
|
||||
|
||||
return stealth;
|
||||
|
|
Loading…
Reference in New Issue
Block a user