v2.5.0: adjusted some special rooms to no longer throw out cursed items
This commit is contained in:
+14
-6
@@ -26,6 +26,8 @@ import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
|||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Heap;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Heap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.armor.Armor;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.features.Maze;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.features.Maze;
|
||||||
@@ -95,13 +97,19 @@ public class SecretMazeRoom extends SecretRoom {
|
|||||||
|
|
||||||
Item prize;
|
Item prize;
|
||||||
//1 floor set higher in probability, never cursed
|
//1 floor set higher in probability, never cursed
|
||||||
do {
|
//1 floor set higher in probability, never cursed
|
||||||
if (Random.Int(2) == 0) {
|
if (Random.Int(2) == 0) {
|
||||||
prize = Generator.randomWeapon((Dungeon.depth / 5) + 1, true);
|
prize = Generator.randomWeapon((Dungeon.depth / 5) + 1, true);
|
||||||
} else {
|
if (((Weapon)prize).hasCurseEnchant()){
|
||||||
prize = Generator.randomArmor((Dungeon.depth / 5) + 1);
|
((Weapon) prize).enchant(null);
|
||||||
}
|
}
|
||||||
} while (prize.cursed || Challenges.isItemBlocked(prize));
|
} else {
|
||||||
|
prize = Generator.randomArmor((Dungeon.depth / 5) + 1);
|
||||||
|
if (((Armor)prize).hasCurseGlyph()){
|
||||||
|
((Armor) prize).inscribe(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
prize.cursed = false;
|
||||||
prize.cursedKnown = true;
|
prize.cursedKnown = true;
|
||||||
|
|
||||||
//33% chance for an extra update.
|
//33% chance for an extra update.
|
||||||
|
|||||||
+13
-7
@@ -21,13 +21,14 @@
|
|||||||
|
|
||||||
package com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special;
|
package com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special;
|
||||||
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Challenges;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Piranha;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Piranha;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Heap;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Heap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.armor.Armor;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfInvisibility;
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfInvisibility;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter;
|
||||||
@@ -110,13 +111,18 @@ public class PoolRoom extends SpecialRoom {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//1 floor set higher in probability, never cursed
|
//1 floor set higher in probability, never cursed
|
||||||
do {
|
if (Random.Int(2) == 0) {
|
||||||
if (Random.Int(2) == 0) {
|
prize = Generator.randomWeapon((Dungeon.depth / 5) + 1);
|
||||||
prize = Generator.randomWeapon((Dungeon.depth / 5) + 1);
|
if (((Weapon)prize).hasCurseEnchant()){
|
||||||
} else {
|
((Weapon) prize).enchant(null);
|
||||||
prize = Generator.randomArmor((Dungeon.depth / 5) + 1);
|
|
||||||
}
|
}
|
||||||
} while (prize.cursed || Challenges.isItemBlocked(prize));
|
} else {
|
||||||
|
prize = Generator.randomArmor((Dungeon.depth / 5) + 1);
|
||||||
|
if (((Armor)prize).hasCurseGlyph()){
|
||||||
|
((Armor) prize).inscribe(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
prize.cursed = false;
|
||||||
prize.cursedKnown = true;
|
prize.cursedKnown = true;
|
||||||
|
|
||||||
//33% chance for an extra update.
|
//33% chance for an extra update.
|
||||||
|
|||||||
+14
-6
@@ -35,7 +35,9 @@ import com.shatteredpixel.shatteredpixeldungeon.effects.MagicMissile;
|
|||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Heap;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Heap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.armor.Armor;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfHaste;
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfHaste;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.journal.Bestiary;
|
import com.shatteredpixel.shatteredpixeldungeon.journal.Bestiary;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
||||||
@@ -182,13 +184,19 @@ public class SentryRoom extends SpecialRoom {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//1 floor set higher in probability, never cursed
|
//1 floor set higher in probability, never cursed
|
||||||
do {
|
//1 floor set higher in probability, never cursed
|
||||||
if (Random.Int(2) == 0) {
|
if (Random.Int(2) == 0) {
|
||||||
prize = Generator.randomWeapon((Dungeon.depth / 5) + 1);
|
prize = Generator.randomWeapon((Dungeon.depth / 5) + 1);
|
||||||
} else {
|
if (((Weapon)prize).hasCurseEnchant()){
|
||||||
prize = Generator.randomArmor((Dungeon.depth / 5) + 1);
|
((Weapon) prize).enchant(null);
|
||||||
}
|
}
|
||||||
} while (prize.cursed || Challenges.isItemBlocked(prize));
|
} else {
|
||||||
|
prize = Generator.randomArmor((Dungeon.depth / 5) + 1);
|
||||||
|
if (((Armor)prize).hasCurseGlyph()){
|
||||||
|
((Armor) prize).inscribe(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
prize.cursed = false;
|
||||||
prize.cursedKnown = true;
|
prize.cursedKnown = true;
|
||||||
|
|
||||||
//33% chance for an extra update.
|
//33% chance for an extra update.
|
||||||
|
|||||||
+13
-7
@@ -21,12 +21,13 @@
|
|||||||
|
|
||||||
package com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special;
|
package com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special;
|
||||||
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Challenges;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Heap;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Heap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.armor.Armor;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfLevitation;
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfLevitation;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter;
|
||||||
@@ -133,13 +134,18 @@ public class TrapsRoom extends SpecialRoom {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//1 floor set higher in probability, never cursed
|
//1 floor set higher in probability, never cursed
|
||||||
do {
|
if (Random.Int(2) == 0) {
|
||||||
if (Random.Int(2) == 0) {
|
prize = Generator.randomWeapon((Dungeon.depth / 5) + 1);
|
||||||
prize = Generator.randomWeapon((Dungeon.depth / 5) + 1);
|
if (((Weapon)prize).hasCurseEnchant()){
|
||||||
} else {
|
((Weapon) prize).enchant(null);
|
||||||
prize = Generator.randomArmor((Dungeon.depth / 5) + 1);
|
|
||||||
}
|
}
|
||||||
} while (prize.cursed || Challenges.isItemBlocked(prize));
|
} else {
|
||||||
|
prize = Generator.randomArmor((Dungeon.depth / 5) + 1);
|
||||||
|
if (((Armor)prize).hasCurseGlyph()){
|
||||||
|
((Armor) prize).inscribe(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
prize.cursed = false;
|
||||||
prize.cursedKnown = true;
|
prize.cursedKnown = true;
|
||||||
|
|
||||||
//33% chance for an extra update.
|
//33% chance for an extra update.
|
||||||
|
|||||||
Reference in New Issue
Block a user