v0.8.2: Fixed the following bugs:
- ring of energy not increasing ghost HP regen - magical charge buff not increasing the range on disintegration - remains in pit rooms rarely containing a cursed item but not being haunted - wandmaker rarely spawning ontop of traps - rare crash bugs when windows are saved as a scene is being cleared
This commit is contained in:
parent
eecded2bed
commit
defbb2ea5f
|
@ -278,7 +278,7 @@ public class Wandmaker extends NPC {
|
||||||
|
|
||||||
Wandmaker npc = new Wandmaker();
|
Wandmaker npc = new Wandmaker();
|
||||||
boolean validPos;
|
boolean validPos;
|
||||||
//Do not spawn wandmaker on the entrance, or in front of a door.
|
//Do not spawn wandmaker on the entrance, a trap, or in front of a door.
|
||||||
do {
|
do {
|
||||||
validPos = true;
|
validPos = true;
|
||||||
npc.pos = level.pointToCell(room.random());
|
npc.pos = level.pointToCell(room.random());
|
||||||
|
@ -290,6 +290,9 @@ public class Wandmaker extends NPC {
|
||||||
validPos = false;
|
validPos = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (Dungeon.level.traps.get(npc.pos) != null){
|
||||||
|
validPos = false;
|
||||||
|
}
|
||||||
} while (!validPos);
|
} while (!validPos);
|
||||||
level.mobs.add( npc );
|
level.mobs.add( npc );
|
||||||
|
|
||||||
|
|
|
@ -360,7 +360,7 @@ public class DriedRose extends Artifact {
|
||||||
|
|
||||||
//heals to full over 1000 turns
|
//heals to full over 1000 turns
|
||||||
if (ghost.HP < ghost.HT) {
|
if (ghost.HP < ghost.HT) {
|
||||||
partialCharge += ghost.HT / 1000f;
|
partialCharge += (ghost.HT / 1000f) * RingOfEnergy.artifactChargeMultiplier(target);
|
||||||
updateQuickslot();
|
updateQuickslot();
|
||||||
|
|
||||||
if (partialCharge > 1) {
|
if (partialCharge > 1) {
|
||||||
|
|
|
@ -118,7 +118,7 @@ public class WandOfDisintegration extends DamageWand {
|
||||||
}
|
}
|
||||||
|
|
||||||
private int distance() {
|
private int distance() {
|
||||||
return level()*2 + 6;
|
return buffedLvl()*2 + 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -77,7 +77,7 @@ public class PitRoom extends SpecialRoom {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} while ( mainLoot == null || Challenges.isItemBlocked(mainLoot));
|
} while ( mainLoot == null || Challenges.isItemBlocked(mainLoot));
|
||||||
level.drop(mainLoot, remains);
|
level.drop(mainLoot, remains).setHauntedIfCursed();
|
||||||
|
|
||||||
int n = Random.IntRange( 1, 2 );
|
int n = Random.IntRange( 1, 2 );
|
||||||
for (int i=0; i < n; i++) {
|
for (int i=0; i < n; i++) {
|
||||||
|
|
|
@ -138,7 +138,9 @@ public class PixelScene extends Scene {
|
||||||
private static ArrayList<Class<?extends Window>> savedWindows = new ArrayList<>();
|
private static ArrayList<Class<?extends Window>> savedWindows = new ArrayList<>();
|
||||||
private static Class<?extends PixelScene> savedClass = null;
|
private static Class<?extends PixelScene> savedClass = null;
|
||||||
|
|
||||||
public void saveWindows(){
|
public synchronized void saveWindows(){
|
||||||
|
if (members == null) return;
|
||||||
|
|
||||||
savedWindows.clear();
|
savedWindows.clear();
|
||||||
savedClass = getClass();
|
savedClass = getClass();
|
||||||
for (Gizmo g : members.toArray(new Gizmo[0])){
|
for (Gizmo g : members.toArray(new Gizmo[0])){
|
||||||
|
@ -148,7 +150,7 @@ public class PixelScene extends Scene {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void restoreWindows(){
|
public synchronized void restoreWindows(){
|
||||||
if (getClass().equals(savedClass)){
|
if (getClass().equals(savedClass)){
|
||||||
for (Class<?extends Window> w : savedWindows){
|
for (Class<?extends Window> w : savedWindows){
|
||||||
try{
|
try{
|
||||||
|
|
Loading…
Reference in New Issue
Block a user