v1.4.0: reduced cases where piranha would live in land for a turn
This commit is contained in:
@@ -48,6 +48,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent;
|
|||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.abilities.huntress.SpiritHawk;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.abilities.huntress.SpiritHawk;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Bestiary;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Bestiary;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Piranha;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.YogFist;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.YogFist;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.Sheep;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.Sheep;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.FlowParticle;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.FlowParticle;
|
||||||
@@ -1056,6 +1057,10 @@ public abstract class Level implements Bundlable {
|
|||||||
Door.enter( ch.pos );
|
Door.enter( ch.pos );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ch.isAlive() && ch instanceof Piranha && !water[ch.pos]){
|
||||||
|
ch.die(null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//public method for forcing the hard press of a cell. e.g. when an item lands on it
|
//public method for forcing the hard press of a cell. e.g. when an item lands on it
|
||||||
|
|||||||
+2
-37
@@ -100,42 +100,8 @@ public class DistortionTrap extends Trap{
|
|||||||
for (Integer point : respawnPoints) {
|
for (Integer point : respawnPoints) {
|
||||||
summoned++;
|
summoned++;
|
||||||
Mob mob;
|
Mob mob;
|
||||||
switch (summoned){
|
mob = new Piranha();
|
||||||
case 1:
|
|
||||||
if (Dungeon.depth != 5 && Random.Int(100) == 0){
|
|
||||||
mob = new RatKing();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case 3: case 5 : default:
|
|
||||||
int floor;
|
|
||||||
do {
|
|
||||||
floor = Random.Int(25);
|
|
||||||
} while( Dungeon.bossLevel(floor));
|
|
||||||
mob = Reflection.newInstance(Bestiary.getMobRotation(floor).get(0));
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
switch (Random.Int(4)){
|
|
||||||
case 0: default:
|
|
||||||
Wraith.spawnAt(point);
|
|
||||||
continue; //wraiths spawn themselves, no need to do more
|
|
||||||
case 1:
|
|
||||||
//yes it's intended that these are likely to die right away
|
|
||||||
mob = new Piranha();
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
mob = Mimic.spawnAt(point, new ArrayList<>());
|
|
||||||
((Mimic)mob).stopHiding();
|
|
||||||
mob.alignment = Char.Alignment.ENEMY;
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
mob = Statue.random();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
mob = Reflection.newInstance(Random.element(RARE));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Char.hasProp(mob, Char.Property.LARGE) && !Dungeon.level.openSpace[point]){
|
if (Char.hasProp(mob, Char.Property.LARGE) && !Dungeon.level.openSpace[point]){
|
||||||
continue;
|
continue;
|
||||||
@@ -158,7 +124,6 @@ public class DistortionTrap extends Trap{
|
|||||||
t.activate();
|
t.activate();
|
||||||
}
|
}
|
||||||
ScrollOfTeleportation.appear(mob, mob.pos);
|
ScrollOfTeleportation.appear(mob, mob.pos);
|
||||||
Dungeon.level.occupyCell(mob);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user