diff --git a/core/src/main/assets/messages/actors/actors.properties b/core/src/main/assets/messages/actors/actors.properties index 87f261962..30626c2b8 100644 --- a/core/src/main/assets/messages/actors/actors.properties +++ b/core/src/main/assets/messages/actors/actors.properties @@ -1020,10 +1020,11 @@ actors.mobs.npcs.ghost.find_me=Thank you... come find me... actors.mobs.npcs.ghost.desc=The ghost is barely visible. It looks like a shapeless spot of faint light with a sorrowful face. actors.mobs.npcs.imp.name=ambitious imp -actors.mobs.npcs.imp.golems_1=Are you an adventurer? I love adventurers! You can always rely on them if something needs to be killed. Am I right? For a bounty of course ;)\nIn my case this is _golems_ who need to be killed. You see, I'm going to start a little business here, but these stupid golems are bad for business! It's very hard to negotiate with wandering lumps of granite, damn them! So please, kill... let's say _4 of them_ and a reward is yours. -actors.mobs.npcs.imp.monks_1=Are you an adventurer? I love adventurers! You can always rely on them if something needs to be killed. Am I right? For a bounty of course ;)\nIn my case this is _monks_ who need to be killed. You see, I'm going to start a little business here, but these lunatics don't buy anything themselves and will scare away other customers. So please, kill... let's say _5 of them_ and a reward is yours. -actors.mobs.npcs.imp.golems_2=How is your golem safari going? -actors.mobs.npcs.imp.monks_2=Oh, you are still alive! I knew that your kung-fu is stronger ;) Just don't forget to grab these monks' tokens. +actors.mobs.npcs.imp.intro=Are you an adventurer? I love adventurers! You can always rely on them if something needs to be killed, am I right? For a bounty of course ;) +actors.mobs.npcs.imp.golems_1=In my case it's _golems_ that need to be killed. You see, I'm going to start a little business here, but those stupid golems are bad for business! It's very hard to negotiate with wandering lumps of granite, damn them! So please kill... let's say _4 of them_ and a reward is yours. +actors.mobs.npcs.imp.monks_1=In my case it's _monks_ who need to be killed. You see, I'm going to start a little business here, but those lunatics don't buy anything themselves and will scare away other customers. So please kill... let's say _5 of them_ and a reward is yours. +actors.mobs.npcs.imp.golems_2=How is your golem safari going? Just don't forget to grab those tokens. +actors.mobs.npcs.imp.monks_2=Oh, you're still alive! I knew that your kung-fu would be stronger ;) Just don't forget to grab those tokens. actors.mobs.npcs.imp.cya=See you, %s! actors.mobs.npcs.imp.hey=Psst, %s! actors.mobs.npcs.imp.desc=Imps are lesser demons. They are notable for neither their strength nor their magic talent, but they are quite smart and sociable. Many imps prefer to live among non-demons. diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Imp.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Imp.java index 23655ac2e..38796aabe 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Imp.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Imp.java @@ -34,6 +34,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.quest.DwarfToken; import com.shatteredpixel.shatteredpixeldungeon.items.rings.Ring; import com.shatteredpixel.shatteredpixeldungeon.journal.Notes; import com.shatteredpixel.shatteredpixeldungeon.levels.CityLevel; +import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene; import com.shatteredpixel.shatteredpixeldungeon.sprites.ImpSprite; @@ -124,7 +125,9 @@ public class Imp extends NPC { } } else { - tell( Quest.alternative ? Messages.get(this, "monks_1") : Messages.get(this, "golems_1") ); + tell( Messages.get(this, "intro") + "\n\n" + (Quest.alternative ? + Messages.get(this, "monks_1", Messages.titleCase(Dungeon.hero.name())) + : Messages.get(this, "golems_1", Messages.titleCase(Dungeon.hero.name()))) ); Quest.given = true; Quest.completed = false; } @@ -206,13 +209,14 @@ public class Imp extends NPC { } public static void spawn( CityLevel level ) { - if (!spawned && Dungeon.depth > 16 && Random.Int( 20 - Dungeon.depth ) == 0) { + if (!spawned && Dungeon.depth == 18) { Imp npc = new Imp(); do { npc.pos = level.randomRespawnCell( npc ); } while ( npc.pos == -1 || + level.map[ npc.pos ] == Terrain.EMPTY_SP || //visibility issues on these tiles level.heaps.get( npc.pos ) != null || level.traps.get( npc.pos) != null || level.findMob( npc.pos ) != null || @@ -223,6 +227,9 @@ public class Imp extends NPC { spawned = true; + //imp always spawns on an empty tile, for better visibility + level.map[ npc.pos ] = Terrain.EMPTY; + //always assigns monks on floor 17, golems on floor 19, and 50/50 between either on 18 switch (Dungeon.depth){ case 17: default: diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ImpSprite.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ImpSprite.java index 69ea211d2..a758b0f26 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ImpSprite.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ImpSprite.java @@ -55,7 +55,7 @@ public class ImpSprite extends MobSprite { super.link( ch ); if (ch instanceof Imp) { - alpha( 0.4f ); + alpha( 0.5f ); } }