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();
|
||||
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 {
|
||||
validPos = true;
|
||||
npc.pos = level.pointToCell(room.random());
|
||||
|
@ -290,6 +290,9 @@ public class Wandmaker extends NPC {
|
|||
validPos = false;
|
||||
}
|
||||
}
|
||||
if (Dungeon.level.traps.get(npc.pos) != null){
|
||||
validPos = false;
|
||||
}
|
||||
} while (!validPos);
|
||||
level.mobs.add( npc );
|
||||
|
||||
|
|
|
@ -360,7 +360,7 @@ public class DriedRose extends Artifact {
|
|||
|
||||
//heals to full over 1000 turns
|
||||
if (ghost.HP < ghost.HT) {
|
||||
partialCharge += ghost.HT / 1000f;
|
||||
partialCharge += (ghost.HT / 1000f) * RingOfEnergy.artifactChargeMultiplier(target);
|
||||
updateQuickslot();
|
||||
|
||||
if (partialCharge > 1) {
|
||||
|
|
|
@ -118,7 +118,7 @@ public class WandOfDisintegration extends DamageWand {
|
|||
}
|
||||
|
||||
private int distance() {
|
||||
return level()*2 + 6;
|
||||
return buffedLvl()*2 + 6;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -77,7 +77,7 @@ public class PitRoom extends SpecialRoom {
|
|||
break;
|
||||
}
|
||||
} while ( mainLoot == null || Challenges.isItemBlocked(mainLoot));
|
||||
level.drop(mainLoot, remains);
|
||||
level.drop(mainLoot, remains).setHauntedIfCursed();
|
||||
|
||||
int n = Random.IntRange( 1, 2 );
|
||||
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 Class<?extends PixelScene> savedClass = null;
|
||||
|
||||
public void saveWindows(){
|
||||
public synchronized void saveWindows(){
|
||||
if (members == null) return;
|
||||
|
||||
savedWindows.clear();
|
||||
savedClass = getClass();
|
||||
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)){
|
||||
for (Class<?extends Window> w : savedWindows){
|
||||
try{
|
||||
|
|
Loading…
Reference in New Issue
Block a user