diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Ghost.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Ghost.java index e16b1eda6..a013d5cf2 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Ghost.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Ghost.java @@ -74,34 +74,35 @@ public class Ghost extends Mob.NPC { state = State.WANDERING; } - private static final String TXT_ROSE1 = - "Hello adventurer... Once I was like you - strong and confident... " + - "And now I'm dead... But I can't leave this place... Not until I have my _dried rose_... " + - "It's very important to me... Some monster stole it from my body..."; - - private static final String TXT_ROSE2 = - "Please... Help me... Find the rose..."; - private static final String TXT_RAT1 = "Hello adventurer... Once I was like you - strong and confident... " + - "And now I'm dead... But I can't leave this place... Not until I have my revenge... " + - "Slay the _fetid rat_, that has taken my life..."; + "But I was slain by a foul beast... I can't leave this place... Not until I have my revenge... " + + "Slay the _fetid rat_, that has taken my life...\n\n" + + "It stalks this floor... Spreading filth everywhere... " + + "Beware its cloud of stink and acidic bite... "; private static final String TXT_RAT2 = "Please... Help me... Slay the abomination..."; - //this is totally the text that's going into production.. yeah. private static final String TXT_GNOLL1 = - "kill a gnoll for me."; + "Hello adventurer... Once I was like you - strong and confident... " + + "But I was slain by a devious foe... I can't leave this place... Not until I have my revenge... " + + "Slay the _gnoll trickster_, that has taken my life...\n\n" + + "It is not like the other gnolls... It hides and uses thrown weapons... " + + "Beware its poisonous and incendiary darts... "; private static final String TXT_GNOLL2 = - "I want that gnoll dead!"; + "Please... Help me... Slay the trickster..."; private static final String TXT_CRAB1 = - "kill a crab for me"; + "Hello adventurer... Once I was like you - strong and confident... " + + "But I was slain by an ancient creature... I can't leave this place... Not until I have my revenge... " + + "Slay the _great crab_, that has taken my life...\n\n" + + "It is unnaturally old... With a massive single claw and a thick shell. " + + "Beware its claw, the crab blocks and strikes with it..."; private static final String TXT_CRAB2 = - "I want that crab dead!"; + "Please... Help me... Slay the abomination..."; public Ghost() { super(); @@ -151,9 +152,7 @@ public class Ghost extends Mob.NPC { if (Quest.given) { if (Quest.processed){ - Item item = Dungeon.hero.belongings.getItem( DriedRose.class ); - if (item != null) - GameScene.show( new WndSadGhost( this, item ) ); + GameScene.show( new WndSadGhost( this, Quest.type ) ); } else { switch (Quest.type){ case 1: default: @@ -418,7 +417,11 @@ public class Ghost extends Mob.NPC { @Override public String description() { return - "This marsupial rat is much larger, than a regular one. It is surrounded by a foul cloud."; + "Something is clearly wrong with this rat. Its matted fur and rotting skin are very " + + "different from the healthy rats you've seen previously. It's bright orange eyes " + + "and larger size make it especially menacing.\n\n" + + "The rat carries a cloud of horrible stench with it, it's overpoweringly strong up close.\n\n" + + "Dark ooze drips from the rat's teeth, it eats through the floor but seems to dissolve in water."; } private static final HashSet> IMMUNITIES = new HashSet>(); @@ -491,6 +494,11 @@ public class Ghost extends Mob.NPC { Quest.process(); } + @Override + public String description() { + return + "A Gnoll"; + } } @@ -532,5 +540,11 @@ public class Ghost extends Mob.NPC { Dungeon.level.drop( new MysteryMeat(), pos ); Dungeon.level.drop( new MysteryMeat(), pos ).sprite.drop(); } + + @Override + public String description() { + return + "A Crab"; + } } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndSadGhost.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndSadGhost.java index a5ef46b35..0226e61ff 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndSadGhost.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndSadGhost.java @@ -31,15 +31,22 @@ import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.shatteredpixel.shatteredpixeldungeon.utils.Utils; public class WndSadGhost extends Window { - - private static final String TXT_ROSE = - "Yes! Yes!!! This is it! Please give it to me! " + - "And you can take one of these items, maybe they " + - "will be useful to you in your journey..."; + private static final String TXT_RAT = - "Yes! The ugly creature is slain and I can finally rest... " + - "Please take one of these items, maybe they " + - "will be useful to you in your journey..."; + "Thank you, that horrid rad is slain and I can finally rest..." + + "I wonder what twisted magic created such a foul creature...\n\n"; + private static final String TXT_GNOLL = + "Thank you, that scheming gnoll is slain and I can finally rest..." + + "I wonder what twisted magic made it so smart...\n\n"; + private static final String TXT_Crab = + "Thank you, that giant crab is slain and I can finally rest..." + + "I wonder what twisted magic allowed it to live so long...\n\n"; + private static final String TXT_GiveItem= + "Please take one of these items, they are useless to me now... " + + "Maybe they will help you in your journey..."; + private static final String TXT_TotallyNotATeaser= + "Also... There is an item lost in this dungeon that is very dear to me..." + + "If you ever... find my... rose......"; private static final String TXT_WEAPON = "Ghost's weapon"; private static final String TXT_ARMOR = "Ghost's armor"; @@ -47,17 +54,17 @@ public class WndSadGhost extends Window { private static final int BTN_HEIGHT = 18; private static final float GAP = 2; - public WndSadGhost( final Ghost ghost, final Item item ) { + public WndSadGhost( final Ghost ghost, final int type ) { super(); IconTitle titlebar = new IconTitle(); - titlebar.icon( new ItemSprite( item.image(), null ) ); - titlebar.label( Utils.capitalize( item.name() ) ); + //titlebar.icon( new ItemSprite( item.image(), null ) ); + //titlebar.label( Utils.capitalize( item.name() ) ); titlebar.setRect( 0, 0, WIDTH, 0 ); add( titlebar ); - BitmapTextMultiline message = PixelScene.createMultiline( item instanceof DriedRose ? TXT_ROSE : TXT_RAT, 6 ); + //BitmapTextMultiline message = PixelScene.createMultiline( item instanceof DriedRose ? TXT_ROSE : TXT_RAT, 6 ); message.maxWidth = WIDTH; message.measure(); message.y = titlebar.bottom() + GAP; @@ -66,7 +73,7 @@ public class WndSadGhost extends Window { RedButton btnWeapon = new RedButton( TXT_WEAPON ) { @Override protected void onClick() { - selectReward( ghost, item, Ghost.Quest.weapon ); + selectReward( ghost, Ghost.Quest.weapon ); } }; btnWeapon.setRect( 0, message.y + message.height() + GAP, WIDTH, BTN_HEIGHT ); @@ -75,7 +82,7 @@ public class WndSadGhost extends Window { RedButton btnArmor = new RedButton( TXT_ARMOR ) { @Override protected void onClick() { - selectReward( ghost, item, Ghost.Quest.armor ); + selectReward( ghost, Ghost.Quest.armor ); } }; btnArmor.setRect( 0, btnWeapon.bottom() + GAP, WIDTH, BTN_HEIGHT ); @@ -84,12 +91,10 @@ public class WndSadGhost extends Window { resize( WIDTH, (int)btnArmor.bottom() ); } - private void selectReward( Ghost ghost, Item item, Item reward ) { + private void selectReward( Ghost ghost, Item reward ) { hide(); - item.detach( Dungeon.hero.belongings.backpack ); - if (reward.doPickUp( Dungeon.hero )) { GLog.i( Hero.TXT_YOU_NOW_HAVE, reward.name() ); } else {