Merging 1.9.1 source: item changes

This commit is contained in:
Evan Debenham
2015-11-11 02:01:25 -05:00
parent bc1e3ee17a
commit 366dce1610
86 changed files with 409 additions and 352 deletions
@@ -43,7 +43,6 @@ public class AlchemistsToolkit extends Artifact {
name = "Alchemists Toolkit";
image = ItemSpriteSheet.ARTIFACT_TOOLKIT;
level = 0;
levelCap = 10;
}
@@ -79,7 +78,7 @@ public class AlchemistsToolkit extends Artifact {
@Override
public ArrayList<String> actions( Hero hero ) {
ArrayList<String> actions = super.actions( hero );
if (isEquipped( hero ) && level < levelCap && !cursed)
if (isEquipped( hero ) && level() < levelCap && !cursed)
actions.add(AC_BREW);
return actions;
}
@@ -120,15 +119,15 @@ public class AlchemistsToolkit extends Artifact {
GLog.i("Your mixture is complete, but none of the potions you used seem to react well. " +
"The brew is useless, you throw it away.");
} else if (score > level) {
} else if (score > level()) {
level = score;
level(score);
seedsToPotion = 0;
bstGuess = curGuess;
this.numRight = numRight;
this.numWrongPlace = numWrongPlace;
if (level == 10){
if (level() == 10){
bstGuess = new ArrayList<String>();
GLog.p("The mixture you've created seems perfect, you don't think there is any way to improve it!");
} else {
@@ -174,10 +173,10 @@ public class AlchemistsToolkit extends Artifact {
else
result += "The toolkit rests on your hip, the various tools inside make a light jingling sound as you move.\n\n";
if (level == 0){
if (level() == 0){
result += "The toolkit seems to be missing a key tool, a catalyst mixture. You'll have to make your own " +
"out of three common potions to get the most out of the toolkit.";
} else if (level == 10) {
} else if (level() == 10) {
result += "The mixture you have created seems perfect, and the toolkit is working at maximum efficiency.";
} else if (!bstGuess.isEmpty()) {
result += "Your current best mixture is made from: " + bstGuess.get(0) + ", " + bstGuess.get(1) + ", "
@@ -236,8 +235,8 @@ public class AlchemistsToolkit extends Artifact {
//this logic is handled inside the class with a variable so that it may be stored.
//to prevent manipulation where a player could keep throwing in 1-2 seeds until they get lucky.
if (seedsToPotion == 0){
if (Random.Int(20) < 10+level){
if (Random.Int(20) < level){
if (Random.Int(20) < 10+level()){
if (Random.Int(20) < level()){
seedsToPotion = 1;
} else
seedsToPotion = 2;
@@ -188,7 +188,7 @@ public class Artifact extends KindofMisc {
@Override
public int visiblyUpgraded() {
return ((level*10)/levelCap);
return ((level()*10)/levelCap);
}
//transfers upgrades from another artifact, transfer level will equal the displayed level
@@ -212,7 +212,7 @@ public class Artifact extends KindofMisc {
@Override
public String toString() {
if (levelKnown && level/levelCap != 0) {
if (levelKnown && level()/levelCap != 0) {
if (chargeCap > 0) {
return Utils.format( TXT_TO_STRING_LVL_CHARGE, name(), visiblyUpgraded(), charge, chargeCap );
} else {
@@ -273,8 +273,8 @@ public class Artifact extends KindofMisc {
@Override
public int price() {
int price = 100;
if (level > 0)
price += 50*((level*10)/levelCap);
if (level() > 0)
price += 50*((level()*10)/levelCap);
if (cursed && cursedKnown) {
price /= 2;
}
@@ -293,8 +293,8 @@ public class Artifact extends KindofMisc {
public class ArtifactBuff extends Buff {
public int level() {
return level;
public int itemLevel() {
return level();
}
public boolean isCursed() {
@@ -34,7 +34,6 @@ public class CapeOfThorns extends Artifact {
name = "Cape of Thorns";
image = ItemSpriteSheet.ARTIFACT_CAPE;
level = 0;
levelCap = 10;
charge = 0;
@@ -85,10 +84,10 @@ public class CapeOfThorns extends Artifact {
public int proc(int damage, Char attacker, Char defender){
if (cooldown == 0){
charge += damage*(0.5+level*0.05);
charge += damage*(0.5+level()*0.05);
if (charge >= chargeCap){
charge = 0;
cooldown = 10+level;
cooldown = 10+level();
GLog.p("Your Cape begins radiating energy, you feel protected!");
BuffIndicator.refreshHero();
}
@@ -104,8 +103,8 @@ public class CapeOfThorns extends Artifact {
exp+= deflected;
if (exp >= (level+1)*5 && level < levelCap){
exp -= (level+1)*5;
if (exp >= (level()+1)*5 && level() < levelCap){
exp -= (level()+1)*5;
upgrade();
GLog.p("Your Cape grows stronger!");
}
@@ -52,7 +52,6 @@ public class ChaliceOfBlood extends Artifact {
name = "Chalice of Blood";
image = ItemSpriteSheet.ARTIFACT_CHALICE1;
level = 0;
levelCap = 10;
}
@@ -61,7 +60,7 @@ public class ChaliceOfBlood extends Artifact {
@Override
public ArrayList<String> actions( Hero hero ) {
ArrayList<String> actions = super.actions( hero );
if (isEquipped( hero ) && level < levelCap && !cursed)
if (isEquipped( hero ) && level() < levelCap && !cursed)
actions.add(AC_PRICK);
return actions;
}
@@ -71,7 +70,7 @@ public class ChaliceOfBlood extends Artifact {
super.execute(hero, action);
if (action.equals(AC_PRICK)){
int damage = 3*(level*level);
int damage = 3*(level()*level());
if (damage > hero.HP*0.75) {
@@ -92,7 +91,7 @@ public class ChaliceOfBlood extends Artifact {
}
private void prick(Hero hero){
int damage = 3*(level*level);
int damage = 3*(level()*level());
Earthroot.Armor armor = hero.buff(Earthroot.Armor.class);
if (armor != null) {
@@ -133,9 +132,9 @@ public class ChaliceOfBlood extends Artifact {
@Override
public Item upgrade() {
if (level >= 6)
if (level() >= 6)
image = ItemSpriteSheet.ARTIFACT_CHALICE3;
else if (level >= 2)
else if (level() >= 2)
image = ItemSpriteSheet.ARTIFACT_CHALICE2;
return super.upgrade();
}
@@ -148,7 +147,7 @@ public class ChaliceOfBlood extends Artifact {
@Override
public String desc() {
String desc = "This shining silver chalice is oddly adorned with sharp gems at the rim. ";
if (level < levelCap)
if (level() < levelCap)
desc += "The chalice is pulling your attention strangely, you feel like it wants something from you.";
else
desc += "The chalice is full and radiating energy.";
@@ -157,15 +156,15 @@ public class ChaliceOfBlood extends Artifact {
desc += "\n\n";
if (cursed)
desc += "The cursed chalice has bound itself to your hand, and is slowly tugging at your life energy.";
else if (level == 0)
else if (level() == 0)
desc += "As you hold the chalice, you feel oddly compelled to prick yourself on the sharp gems.";
else if (level < 3)
else if (level() < 3)
desc += "Some of your blood is pooled into the chalice, you can subtly feel the chalice feeding life " +
"energy into you. You still want to cut yourself on the chalice, even though you know it will hurt.";
else if (level < 7)
else if (level() < 7)
desc += "The chalice is about half full of your blood and you can feel it feeding life energy " +
"into you. you still want to hurt yourself, the chalice needs your energy, it's your friend.";
else if (level < levelCap)
else if (level() < levelCap)
desc += "The chalice is getting pretty full, and the life force it's feeding you is stronger than " +
"ever. You should give it more energy, you need too, your friend needs your energy, it needs " +
"your help. Your friend knows you have limits though, it doesn't want you to die, just bleed.";
@@ -43,13 +43,12 @@ public class CloakOfShadows extends Artifact {
name = "Cloak of Shadows";
image = ItemSpriteSheet.ARTIFACT_CLOAK;
level = 0;
exp = 0;
levelCap = 15;
charge = level+5;
charge = level()+5;
partialCharge = 0;
chargeCap = level+5;
chargeCap = level()+5;
cooldown = 0;
@@ -145,11 +144,11 @@ public class CloakOfShadows extends Artifact {
String desc = "This light silken cloak shimmers in and out of your vision as it sways in the air. When worn, " +
"it can be used to hide your presence for a short time.\n\n";
if (level < 5)
if (level() < 5)
desc += "The cloak's magic has faded and it is not very powerful, perhaps it will regain strength through use.";
else if (level < 10)
else if (level() < 10)
desc += "The cloak's power has begun to return.";
else if (level < 15)
else if (level() < 15)
desc += "The cloak has almost returned to full strength.";
else
desc += "The cloak is at full potential and will work for extended durations.";
@@ -239,9 +238,9 @@ public class CloakOfShadows extends Artifact {
if (turnsToCost == 0) exp += 10 + ((Hero)target).lvl;
if (exp >= (level+1)*50 && level < levelCap) {
if (exp >= (level()+1)*50 && level() < levelCap) {
upgrade();
exp -= level*50;
exp -= level()*50;
GLog.p("Your cloak grows stronger!");
}
@@ -259,9 +258,9 @@ public class CloakOfShadows extends Artifact {
exp += 10 + ((Hero)target).lvl;
if (exp >= (level+1)*50 && level < levelCap) {
if (exp >= (level()+1)*50 && level() < levelCap) {
upgrade();
exp -= level*50;
exp -= level()*50;
GLog.p("Your cloak grows stronger!");
}
@@ -295,7 +294,7 @@ public class CloakOfShadows extends Artifact {
if (target.invisible > 0)
target.invisible--;
stealthed = false;
cooldown = 10 - (level / 3);
cooldown = 10 - (level() / 3);
updateQuickslot();
super.detach();
@@ -55,7 +55,6 @@ public class DriedRose extends Artifact {
name = "Dried Rose";
image = ItemSpriteSheet.ARTIFACT_ROSE1;
level = 0;
levelCap = 10;
charge = 100;
@@ -103,7 +102,7 @@ public class DriedRose extends Artifact {
}
if (spawnPoints.size() > 0) {
GhostHero ghost = new GhostHero( level );
GhostHero ghost = new GhostHero( level() );
ghost.pos = Random.element(spawnPoints);
GameScene.add(ghost, 1f);
@@ -144,10 +143,10 @@ public class DriedRose extends Artifact {
if (!cursed){
desc += "\n\nThe rose rests in your hand, it feels strangely warm.";
if (level < 5)
if (level() < 5)
desc+= "\n\nThe rose has lost most of its petals. It feels extremely frail, like it " +
"could snap any moment.";
else if (level < 10)
else if (level() < 10)
desc+= "\n\nYou have reattached many petals and the rose has started to somehow come back to life."+
" It almost looks like it's ready to bloom.";
else
@@ -167,13 +166,13 @@ public class DriedRose extends Artifact {
@Override
public Item upgrade() {
if (level >= 9)
if (level() >= 9)
image = ItemSpriteSheet.ARTIFACT_ROSE3;
else if (level >= 4)
else if (level() >= 4)
image = ItemSpriteSheet.ARTIFACT_ROSE2;
//For upgrade transferring via well of transmutation
droppedPetals = Math.max( level, droppedPetals );
droppedPetals = Math.max( level(), droppedPetals );
return super.upgrade();
}
@@ -261,13 +260,13 @@ public class DriedRose extends Artifact {
if (rose == null){
GLog.w("You have no rose to add this petal to.");
return false;
} if ( rose.level >= rose.levelCap ){
} if ( rose.level() >= rose.levelCap ){
GLog.i("There is no room left for this petal, so you discard it.");
return true;
} else {
rose.upgrade();
if (rose.level == rose.levelCap) {
if (rose.level() == rose.levelCap) {
GLog.p("The rose is completed!");
Sample.INSTANCE.play( Assets.SND_GHOST );
GLog.n("sad ghost: \"Thank you...\"");
@@ -49,7 +49,6 @@ public class EtherealChains extends Artifact {
name = "ethereal chains";
image = ItemSpriteSheet.ARTIFACT_CHAINS;
level = 0;
levelCap = 5;
exp = 0;
@@ -207,7 +206,7 @@ public class EtherealChains extends Artifact {
@Override
public boolean act() {
int chargeTarget = 5+(level*2);
int chargeTarget = 5+(level()*2);
LockedFloor lock = target.buff(LockedFloor.class);
if (charge < chargeTarget && !cursed && (lock == null || lock.regenOn())) {
partialCharge += 1 / (40f - (chargeTarget - charge)*2f);
@@ -233,13 +232,13 @@ public class EtherealChains extends Artifact {
exp += Math.round(levelPortion*100);
//past the soft charge cap, gaining charge from leveling is slowed.
if (charge > 5+(level*2)){
levelPortion *= (5+((float)level*2))/charge;
if (charge > 5+(level()*2)){
levelPortion *= (5+((float)level()*2))/charge;
}
partialCharge += levelPortion*10f;
if (exp > 100+level*50 && level < levelCap){
exp -= 100+level*50;
if (exp > 100+level()*50 && level() < levelCap){
exp -= 100+level()*50;
GLog.p("Your chains grow stronger!");
upgrade();
}
@@ -49,7 +49,6 @@ public class HornOfPlenty extends Artifact {
name = "Horn of Plenty";
image = ItemSpriteSheet.ARTIFACT_HORN1;
level = 0;
levelCap = 30;
charge = 0;
@@ -74,7 +73,7 @@ public class HornOfPlenty extends Artifact {
ArrayList<String> actions = super.actions( hero );
if (isEquipped( hero ) && charge > 0)
actions.add(AC_EAT);
if (isEquipped( hero ) && level < 30 && !cursed)
if (isEquipped( hero ) && level() < 30 && !cursed)
actions.add(AC_STORE);
return actions;
}
@@ -158,7 +157,7 @@ public class HornOfPlenty extends Artifact {
if (!cursed) {
desc += "\n\nThe horn rests at your side and is surprisingly lightweight, even with food in it.";
if (level < 15)
if (level() < 15)
desc += " Perhaps there is a way to increase the horn's power by giving it food energy.";
} else {
desc += "\n\nThe cursed horn has bound itself to your side, " +
@@ -178,7 +177,7 @@ public class HornOfPlenty extends Artifact {
//generates 0.25 food value every round, +0.015 value per level
//to a max of 0.70 food value per round (0.25+0.5, at level 30)
partialCharge += 0.25f + (0.015f*level);
partialCharge += 0.25f + (0.015f*level());
//charge is in increments of 36 food value.
if (partialCharge >= 36) {
@@ -224,8 +223,8 @@ public class HornOfPlenty extends Artifact {
hero.spend( TIME_TO_EAT );
curItem.upgrade(((Food)item).hornValue);
if (curItem.level >= 30){
curItem.level = 30;
if (curItem.level() >= 30){
curItem.level(30);
GLog.p("your horn has consumed all the food it can!");
} else
GLog.p("the horn consumes your food offering and grows in strength!");
@@ -86,11 +86,10 @@ public class LloydsBeacon extends Artifact {
name = "lloyd's beacon";
image = ItemSpriteSheet.ARTIFACT_BEACON;
level = 0;
levelCap = 3;
charge = 0;
chargeCap = 3+level;
chargeCap = 3+level();
defaultAction = AC_ZAP;
usesTargeting = true;
@@ -30,7 +30,6 @@ public class MasterThievesArmband extends Artifact {
name = "Master Thieves' Armband";
image = ItemSpriteSheet.ARTIFACT_ARMBAND;
level = 0;
levelCap = 10;
charge = 0;
@@ -84,7 +83,7 @@ public class MasterThievesArmband extends Artifact {
exp += value;
}
}
while(exp >= 600 && level < levelCap) {
while(exp >= 600 && level() < levelCap) {
exp -= 600;
upgrade();
}
@@ -93,7 +92,7 @@ public class MasterThievesArmband extends Artifact {
public float stealChance(int value){
//get lvl*100 gold or lvl*5% item value of free charge, whichever is less.
int chargeBonus = Math.min(level*100, (value*level)/20);
int chargeBonus = Math.min(level()*100, (value*level())/20);
return (((float)charge + chargeBonus)/value);
}
@@ -47,7 +47,6 @@ public class SandalsOfNature extends Artifact {
name = "Sandals of Nature";
image = ItemSpriteSheet.ARTIFACT_SANDALS;
level = 0;
levelCap = 3;
charge = 0;
@@ -69,7 +68,7 @@ public class SandalsOfNature extends Artifact {
@Override
public ArrayList<String> actions( Hero hero ) {
ArrayList<String> actions = super.actions( hero );
if (isEquipped( hero ) && level < 3 && !cursed)
if (isEquipped( hero ) && level() < 3 && !cursed)
actions.add(AC_FEED);
if (isEquipped( hero ) && charge > 0)
actions.add(AC_ROOT);
@@ -81,7 +80,7 @@ public class SandalsOfNature extends Artifact {
super.execute(hero, action);
if (action.equals(AC_FEED)){
GameScene.selectItem(itemSelector, mode, inventoryTitle);
} else if (action.equals(AC_ROOT) && level > 0){
} else if (action.equals(AC_ROOT) && level() > 0){
if (!isEquipped( hero )) GLog.i("You need to equip them to do that.");
else if (charge == 0) GLog.i("They have no energy right now.");
@@ -104,13 +103,13 @@ public class SandalsOfNature extends Artifact {
@Override
public String desc() {
String desc = "";
if (level == 0)
if (level() == 0)
desc += "What initially seem like sandals made of twine are actually two plants! The footwear moves ever " +
"so slightly when being held. They seem very weak and pale, perhaps they need to be given nutrients?";
else if (level == 1)
else if (level() == 1)
desc += "The footwear has grown and now more closely resemble two tailored shoes. They seem to match the " +
"contours of your feet exactly. Some colour has returned to them, perhaps they can still grow further?";
else if (level == 2)
else if (level() == 2)
desc += "The plants have grown again and now resembles a pair of solid tall boots. They appear to be made" +
" of solid bark more than vine now, yet are still very flexible. The plants seem to have " +
"regained their strength, but perhaps they can still grow further";
@@ -121,15 +120,15 @@ public class SandalsOfNature extends Artifact {
if ( isEquipped ( Dungeon.hero ) ){
desc += "\n\n";
if (level == 0) {
if (level() == 0) {
if (!cursed)
desc += "The sandals wrap snugly around your feet, they seem happy to be worn.";
else
desc += "The cursed sandals wrap tightly around your feet.";
}
else if (level == 1)
else if (level() == 1)
desc += "The shoes fit on loosely but quickly tighten to make a perfect fit.";
else if (level == 2)
else if (level() == 2)
desc += "The boots fit snugly and add a nice heft to your step.";
else
desc += "The greaves are thick and weighty, but very easy to move in, as if they are moving with you.";
@@ -139,7 +138,7 @@ public class SandalsOfNature extends Artifact {
else
desc += " They are blocking any attunement with nature.";
if (level > 0)
if (level() > 0)
desc += "\n\nThe footwear has gained the ability to form up into a sort of immobile natural armour, " +
"but will need to charge up for it.";
}
@@ -159,15 +158,15 @@ public class SandalsOfNature extends Artifact {
@Override
public Item upgrade() {
if (level < 0)
if (level() < 0)
image = ItemSpriteSheet.ARTIFACT_SANDALS;
else if (level == 0)
else if (level() == 0)
image = ItemSpriteSheet.ARTIFACT_SHOES;
else if (level == 1)
else if (level() == 1)
image = ItemSpriteSheet.ARTIFACT_BOOTS;
else if (level >= 2)
else if (level() >= 2)
image = ItemSpriteSheet.ARTIFACT_GREAVES;
name = NAMES[level+1];
name = NAMES[level()+1];
return super.upgrade();
}
@@ -194,7 +193,7 @@ public class SandalsOfNature extends Artifact {
public void charge() {
if (charge < target.HT){
//gain 1+(1*level)% of the difference between current charge and max HP.
charge+= (Math.round( (target.HT-charge) * (.01+ level*0.01) ));
charge+= (Math.round( (target.HT-charge) * (.01+ level()*0.01) ));
updateQuickslot();
}
}
@@ -214,11 +213,11 @@ public class SandalsOfNature extends Artifact {
Sample.INSTANCE.play( Assets.SND_PLANT );
hero.busy();
hero.spend( 2f );
if (seeds.size() >= 5+(level*2)){
if (seeds.size() >= 5+(level()*2)){
seeds.clear();
upgrade();
if (level >= 1 && level <= 3) {
GLog.p("Your " + NAMES[level-1] + " surge in size, they are now " + NAMES[level] + "!");
if (level() >= 1 && level() <= 3) {
GLog.p("Your " + NAMES[level()-1] + " surge in size, they are now " + NAMES[level()] + "!");
}
} else {
@@ -42,7 +42,6 @@ public class TalismanOfForesight extends Artifact {
name = "Talisman of Foresight";
image = ItemSpriteSheet.ARTIFACT_TALISMAN;
level = 0;
exp = 0;
levelCap = 10;
@@ -175,7 +174,7 @@ public class TalismanOfForesight extends Artifact {
//fully charges in 2500 turns at lvl=0, scaling to 1000 turns at lvl = 10.
LockedFloor lock = target.buff(LockedFloor.class);
if (charge < chargeCap && !cursed && (lock == null || lock.regenOn())) {
partialCharge += 0.04+(level*0.006);
partialCharge += 0.04+(level()*0.006);
if (partialCharge > 1 && charge < chargeCap) {
partialCharge--;
@@ -190,9 +189,9 @@ public class TalismanOfForesight extends Artifact {
}
public void charge(){
charge = Math.min(charge+(2+(level/3)), chargeCap);
charge = Math.min(charge+(2+(level()/3)), chargeCap);
exp++;
if (exp >= 4 && level < levelCap) {
if (exp >= 4 && level() < levelCap) {
upgrade();
GLog.p("Your Talisman grows stronger!");
exp -= 4;
@@ -53,12 +53,11 @@ public class TimekeepersHourglass extends Artifact {
name = "Timekeeper's Hourglass";
image = ItemSpriteSheet.ARTIFACT_HOURGLASS;
level = 0;
levelCap = 5;
charge = 10+level*2;
charge = 10+level()*2;
partialCharge = 0;
chargeCap = 10+level*2;
chargeCap = 10+level()*2;
defaultAction = AC_ACTIVATE;
}
@@ -139,7 +138,7 @@ public class TimekeepersHourglass extends Artifact {
chargeCap+= 2;
//for artifact transmutation.
while (level+1 > sandBags)
while (level()+1 > sandBags)
sandBags ++;
return super.upgrade();
@@ -156,7 +155,7 @@ public class TimekeepersHourglass extends Artifact {
if (!cursed) {
desc += "\n\nThe hourglass rests at your side, the whisper of steadily pouring sand is reassuring.";
if (level < levelCap )
if (level() < levelCap )
desc +=
"\n\nThe hourglass seems to have lost some sand with age. While there are no cracks, " +
"there is a port on the top of the hourglass to pour sand in, if only you could find some...";
@@ -363,7 +362,7 @@ public class TimekeepersHourglass extends Artifact {
if (hourglass != null && !hourglass.cursed) {
hourglass.upgrade();
Sample.INSTANCE.play( Assets.SND_DEWDROP );
if (hourglass.level == hourglass.levelCap)
if (hourglass.level() == hourglass.levelCap)
GLog.p("Your hourglass is filled with magical sand!");
else
GLog.i("you add the sand to your hourglass.");
@@ -49,12 +49,11 @@ public class UnstableSpellbook extends Artifact {
name = "Unstable Spellbook";
image = ItemSpriteSheet.ARTIFACT_SPELLBOOK;
level = 0;
levelCap = 10;
charge = ((level/2)+3);
charge = ((level()/2)+3);
partialCharge = 0;
chargeCap = ((level/2)+3);
chargeCap = ((level()/2)+3);
defaultAction = AC_READ;
}
@@ -87,7 +86,7 @@ public class UnstableSpellbook extends Artifact {
ArrayList<String> actions = super.actions( hero );
if (isEquipped( hero ) && charge > 0 && !cursed)
actions.add(AC_READ);
if (isEquipped( hero ) && level < levelCap && !cursed)
if (isEquipped( hero ) && level() < levelCap && !cursed)
actions.add(AC_ADD);
return actions;
}
@@ -129,10 +128,10 @@ public class UnstableSpellbook extends Artifact {
@Override
public Item upgrade() {
chargeCap = (((level+1)/2)+3);
chargeCap = (((level()+1)/2)+3);
//for artifact transmutation.
while (scrolls.size() > (levelCap-1-level))
while (scrolls.size() > (levelCap-1-level()))
scrolls.remove(0);
return super.upgrade();
@@ -142,9 +141,9 @@ public class UnstableSpellbook extends Artifact {
public String desc() {
String desc = "This Tome is in surprising good condition given its age. ";
if (level < 3)
if (level() < 3)
desc += "It emanates a strange chaotic energy. ";
else if (level < 7)
else if (level() < 7)
desc += "It glows with a strange chaotic energy. ";
else
desc += "It fizzes and crackles as you move the pages, surging with unstable energy. ";
@@ -165,7 +164,7 @@ public class UnstableSpellbook extends Artifact {
}
if (level < levelCap)
if (level() < levelCap)
if (scrolls.size() > 1)
desc += "The book's index points to some pages which are blank. " +
"Those pages are listed as: " + scrolls.get(0) + " and "