v0.6.1: various bugfixes
This commit is contained in:
@@ -92,7 +92,7 @@ public class Eye extends Mob {
|
|||||||
if (beamCooldown == 0) {
|
if (beamCooldown == 0) {
|
||||||
Ballistica aim = new Ballistica(pos, enemy.pos, Ballistica.STOP_TERRAIN);
|
Ballistica aim = new Ballistica(pos, enemy.pos, Ballistica.STOP_TERRAIN);
|
||||||
|
|
||||||
if (enemy.invisible == 0 && Level.fieldOfView[enemy.pos] && aim.subPath(1, aim.dist).contains(enemy.pos)){
|
if (enemy.invisible == 0 && !isCharmedBy(enemy) && Level.fieldOfView[enemy.pos] && aim.subPath(1, aim.dist).contains(enemy.pos)){
|
||||||
beam = aim;
|
beam = aim;
|
||||||
beamTarget = aim.collisionPos;
|
beamTarget = aim.collisionPos;
|
||||||
return true;
|
return true;
|
||||||
@@ -248,8 +248,10 @@ public class Eye extends Mob {
|
|||||||
@Override
|
@Override
|
||||||
public boolean act(boolean enemyInFOV, boolean justAlerted) {
|
public boolean act(boolean enemyInFOV, boolean justAlerted) {
|
||||||
//always attack if the beam is charged, no exceptions
|
//always attack if the beam is charged, no exceptions
|
||||||
if (beamCharged && enemy != null)
|
if (beamCharged && canAttack(enemy)) {
|
||||||
enemyInFOV = true;
|
enemySeen = enemyInFOV;
|
||||||
|
return doAttack(enemy);
|
||||||
|
}
|
||||||
return super.act(enemyInFOV, justAlerted);
|
return super.act(enemyInFOV, justAlerted);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -627,7 +627,7 @@ public class DriedRose extends Artifact {
|
|||||||
rose.talkedTo = true;
|
rose.talkedTo = true;
|
||||||
GameScene.show(new WndQuest(this, Messages.get(this, "introduce") ));
|
GameScene.show(new WndQuest(this, Messages.get(this, "introduce") ));
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else if (Level.passable[pos] || Dungeon.hero.flying) {
|
||||||
int curPos = pos;
|
int curPos = pos;
|
||||||
|
|
||||||
moveSprite( pos, Dungeon.hero.pos );
|
moveSprite( pos, Dungeon.hero.pos );
|
||||||
@@ -639,6 +639,8 @@ public class DriedRose extends Artifact {
|
|||||||
Dungeon.hero.spend( 1 / Dungeon.hero.speed() );
|
Dungeon.hero.spend( 1 / Dungeon.hero.speed() );
|
||||||
Dungeon.hero.busy();
|
Dungeon.hero.busy();
|
||||||
return true;
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
|||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Amok;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Amok;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corruption;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corruption;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.NPC;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.MagicMissile;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.MagicMissile;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MagesStaff;
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MagesStaff;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
|
import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
|
||||||
@@ -47,7 +48,7 @@ public class WandOfCorruption extends Wand {
|
|||||||
protected void onZap(Ballistica bolt) {
|
protected void onZap(Ballistica bolt) {
|
||||||
Char ch = Actor.findChar(bolt.collisionPos);
|
Char ch = Actor.findChar(bolt.collisionPos);
|
||||||
|
|
||||||
if (ch != null){
|
if (ch != null && !(ch instanceof NPC)){
|
||||||
|
|
||||||
if(ch.buff(Corruption.class) != null){
|
if(ch.buff(Corruption.class) != null){
|
||||||
GLog.w( Messages.get(this, "already_corrupted") );
|
GLog.w( Messages.get(this, "already_corrupted") );
|
||||||
|
|||||||
@@ -512,7 +512,7 @@ public class WndJournal extends WndTabbed {
|
|||||||
|
|
||||||
if (!seen) {
|
if (!seen) {
|
||||||
icon.copy( new ItemSprite( ItemSpriteSheet.WEAPON_HOLDER + currentItemIdx, null) );
|
icon.copy( new ItemSprite( ItemSpriteSheet.WEAPON_HOLDER + currentItemIdx, null) );
|
||||||
label.text("?????? ????????????? ????????? ?????");
|
label.text("???");
|
||||||
label.hardlight( 0x999999 );
|
label.hardlight( 0x999999 );
|
||||||
} else if (!IDed) {
|
} else if (!IDed) {
|
||||||
icon.copy( new ItemSprite( ItemSpriteSheet.WEAPON_HOLDER + currentItemIdx, null) );
|
icon.copy( new ItemSprite( ItemSpriteSheet.WEAPON_HOLDER + currentItemIdx, null) );
|
||||||
|
|||||||
Reference in New Issue
Block a user