public static void process( Mob mob ) { if (spawned && given && !completed) { if ((alternative && mob instanceof Monk) || (!alternative && mob instanceof Golem)) { Dungeon.level.drop( new DwarfToken(), mob.pos ).sprite.drop(); } } }
public WndImp( final Imp imp, final DwarfToken tokens ) { super(); IconTitle titlebar = new IconTitle(); titlebar.icon( new ItemSprite( tokens.image(), null ) ); titlebar.label( Messages.titleCase( tokens.name() ) ); titlebar.setRect( 0, 0, WIDTH, 0 ); add( titlebar ); RenderedTextMultiline message = PixelScene.renderMultiline( Messages.get(this, "message"), 6 ); message.maxWidth(WIDTH); message.setPos(0, titlebar.bottom() + GAP); add( message ); RedButton btnReward = new RedButton( Messages.get(this, "reward") ) { @Override protected void onClick() { takeReward( imp, tokens, Imp.Quest.reward ); } }; btnReward.setRect( 0, message.top() + message.height() + GAP, WIDTH, BTN_HEIGHT ); add( btnReward ); resize( WIDTH, (int)btnReward.bottom() ); }
private void takeReward( Imp imp, DwarfToken tokens, Item reward ) { hide(); tokens.detachAll( Dungeon.hero.belongings.backpack ); if (reward == null) return; reward.identify(); if (reward.doPickUp( Dungeon.hero )) { GLog.i( Messages.get(Dungeon.hero, "you_now_have", reward.name()) ); } else { Dungeon.level.drop( reward, imp.pos ).sprite.drop(); } imp.flee(); Imp.Quest.complete(); } }
@Override public boolean interact() { sprite.turnTo( pos, Dungeon.hero.pos ); if (Quest.given) { DwarfToken tokens = Dungeon.hero.belongings.getItem( DwarfToken.class ); if (tokens != null && (tokens.quantity() >= 8 || (!Quest.alternative && tokens.quantity() >= 6))) { GameScene.show( new WndImp( this, tokens ) ); } else { tell( Quest.alternative ? Messages.get(this, "monks_2", Dungeon.hero.givenName()) : Messages.get(this, "golems_2", Dungeon.hero.givenName()) ); } } else { tell( Quest.alternative ? Messages.get(this, "monks_1") : Messages.get(this, "golems_1") ); Quest.given = true; Quest.completed = false; Notes.add( Notes.Landmark.IMP ); } return false; }
public WndImp( final Imp imp, final DwarfToken tokens ) { super(); IconTitle titlebar = new IconTitle(); titlebar.icon( new ItemSprite( tokens.image(), null ) ); titlebar.label( Messages.titleCase( tokens.name() ) ); titlebar.setRect( 0, 0, WIDTH, 0 ); add( titlebar ); RenderedTextMultiline message = PixelScene.renderMultiline( Messages.get(this, "message"), 6 ); message.maxWidth(WIDTH); message.setPos(0, titlebar.bottom() + GAP); add( message ); RedButton btnReward = new RedButton( Messages.get(this, "reward") ) { @Override protected void onClick() { takeReward( imp, tokens, Imp.Quest.reward ); } }; btnReward.setRect( 0, message.top() + message.height() + GAP, WIDTH, BTN_HEIGHT ); add( btnReward ); resize( WIDTH, (int)btnReward.bottom() ); }
private void takeReward( Imp imp, DwarfToken tokens, Item reward ) { hide(); tokens.detachAll( Dungeon.hero.belongings.backpack ); if (reward == null) return; reward.identify(); if (reward.doPickUp( Dungeon.hero )) { GLog.i( Messages.get(Dungeon.hero, "you_now_have", reward.name()) ); } else { Dungeon.level.drop( reward, imp.pos ).sprite.drop(); } imp.flee(); Imp.Quest.complete(); } }
@Override public boolean interact() { sprite.turnTo( pos, Dungeon.hero.pos ); if (Quest.given) { DwarfToken tokens = Dungeon.hero.belongings.getItem( DwarfToken.class ); if (tokens != null && (tokens.quantity() >= 8 || (!Quest.alternative && tokens.quantity() >= 6))) { GameScene.show( new WndImp( this, tokens ) ); } else { tell( Quest.alternative ? Messages.get(this, "monks_2", Dungeon.hero.givenName()) : Messages.get(this, "golems_2", Dungeon.hero.givenName()) ); } } else { tell( Quest.alternative ? Messages.get(this, "monks_1") : Messages.get(this, "golems_1") ); Quest.given = true; Quest.completed = false; Notes.add( Notes.Landmark.IMP ); } return false; }
public static void process( Mob mob ) { if (spawned && given && !completed) { if ((alternative && mob instanceof Monk) || (!alternative && mob instanceof Golem)) { Dungeon.level.drop( new DwarfToken(), mob.pos ).sprite.drop(); } } }