AI states can be specified in mob JSON descriptors with the “aiState” parameter:
RemixedDungeon/src/main/assets/mobsDesc/ directory{"aiState": "Sleeping"}
<!-- AI Status Strings --> <string name="Mob_StaWanderingStatus">%s is wandering</string> <string name="Mob_StaHuntingStatus">%s is hunting</string> <string name="Mob_StaHuntingStatus2">%s is hunting %s</string> <string name="Mob_StaSleepingStatus">%s is sleeping</string> <string name="Mob_StaPassiveStatus">%s is passive</string> <string name="Mob_StaFleeingStatus">%s is fleeing</string> <string name="Mob_StaFleeingStatus2">%s is fleeing from %s</string>
AI states can be manipulated via Lua scripts for custom mob behaviors:
RemixedDungeon/src/main/assets/scripts/mobs/
public interface AiState { void act(@NotNull Char me); // Called each turn to execute AI behavior String status(Char me); // Returns status string for display String getTag(); // Returns AI state identifier void gotDamage(Char me, NamedEntityKind src, int dmg); // Called when mob takes damage void onDie(@NotNull Char me); // Called when mob dies }
com.nyrds.pixeldungeon.ai.AiStatecom.nyrds.pixeldungeon.ai