src/data/defaults.txt | 1 + src/net/sourceforge/kolmafia/KoLCharacter.java | 15 +++++++++++++++ .../sourceforge/kolmafia/request/FightRequest.java | 15 +++++++++++++++ .../kolmafia/request/UseItemRequest.java | 10 ++++++++++ 4 files changed, 41 insertions(+), 0 deletions(-) diff --git a/src/data/defaults.txt b/src/data/defaults.txt index 718a7b5..8d0bf41 100644 --- a/src/data/defaults.txt +++ b/src/data/defaults.txt @@ -489,6 +489,7 @@ user lastVioletFogMap 0 user lastZapperWand 0 user libramSummons 0 user libraryCardUsed false +user llamaSeen true user louvreDesiredGoal 7 user louvreGoal 0 user louvreLayout diff --git a/src/net/sourceforge/kolmafia/KoLCharacter.java b/src/net/sourceforge/kolmafia/KoLCharacter.java index 43ae14d..de67524 100644 --- a/src/net/sourceforge/kolmafia/KoLCharacter.java +++ b/src/net/sourceforge/kolmafia/KoLCharacter.java @@ -2926,6 +2926,21 @@ public abstract class KoLCharacter KoLCharacter.addAvailableSkill( "Moxious Maneuver" ); } + // Bird-form and mole-form skills are available for all classes + // Bird form regular + KoLCharacter.addAvailableSkill( "Vicious Talon Slash" ); + KoLCharacter.addAvailableSkill( "All-You-Can-Beat Wing Buffet" ); + KoLCharacter.addAvailableSkill( "Get a You-Eye View" ); + // Mole form regular + KoLCharacter.addAvailableSkill( "Tunnel Upwards" ); + KoLCharacter.addAvailableSkill( "Tunnel Downwards" ); + // Bird form elemental bugs skills + KoLCharacter.addAvailableSkill( "Rise From Your Ashes" ); + KoLCharacter.addAvailableSkill( "Antarctic Flap" ); + KoLCharacter.addAvailableSkill( "Feast on Carrion" ); + KoLCharacter.addAvailableSkill( "The Statue Treatment" ); + KoLCharacter.addAvailableSkill( "Give Your Opponent "The Bird"" ); + // Check all available skills to see if they // qualify to be added as combat or usables. diff --git a/src/net/sourceforge/kolmafia/request/FightRequest.java b/src/net/sourceforge/kolmafia/request/FightRequest.java index 9979a37..0510dd2 100644 --- a/src/net/sourceforge/kolmafia/request/FightRequest.java +++ b/src/net/sourceforge/kolmafia/request/FightRequest.java @@ -224,6 +224,7 @@ public class FightRequest private static boolean castNoodles = false; private static boolean castCleesh = false; private static boolean jiggledChefstaff = false; + private static boolean dugTunnel = false; private static boolean squeezedStressBall = false; private static boolean canOlfact = true; private static boolean summonedGhost = false; @@ -1077,6 +1078,20 @@ public class FightRequest return; } } + + // only one tunnel action per fight + else if ( skillName.equals( "Tunnel Upwards") || + skillName.equals("Tunnel Downwards") ) + { + if (FightRequest.dugTunnel) + { + FightRequest.nextAction = "attack"; + this.addFormField( "action", FightRequest.nextAction ); + return; + } + FightRequest.dugTunnel = true; + } + else if ( skillName.equals( "Fire a poison arrow" ) ) { // You can only shoot 10 poison arrows per day diff --git a/src/net/sourceforge/kolmafia/request/UseItemRequest.java b/src/net/sourceforge/kolmafia/request/UseItemRequest.java index 6392bb4..99fc0ae 100644 --- a/src/net/sourceforge/kolmafia/request/UseItemRequest.java +++ b/src/net/sourceforge/kolmafia/request/UseItemRequest.java @@ -542,6 +542,16 @@ public class UseItemRequest Integer key = new Integer( itemId ); + // Gongs can only be used if we are not in form of anything + if (itemId == ItemPool.GONG) + { + if (KoLConstants.activeEffects.contains(EffectPool.get(EffectPool.FORM_OF_BIRD)) || + KoLConstants.activeEffects.contains(EffectPool.get(EffectPool.SHAPE_OF_MOLE)) || + KoLConstants.activeEffects.contains(EffectPool.get(EffectPool.FORM_OF_ROACH))) + return 0; + return Preferences.getBoolean("llamaSeen")?1:0; + } + if ( UseItemRequest.LIMITED_USES.containsKey( key ) ) { UseItemRequest.limiter = "unstackable effect";