Репозитории ALT
S: | 14.7-alt1.svn9619 |
5.1: | 13.6-alt1.svn7713 |
4.1: | 12.4-alt1.svn6075 |
4.0: | 11.0-alt1.svn3836 |
Группа :: Игры/Приключения
Пакет: KoLmafia
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: KoLmafia-13.6-alt-llama-gong.patch
Скачать
Скачать
src/data/defaults.txt | 1 +
src/net/sourceforge/kolmafia/KoLCharacter.java | 15 +++++++++++++++
.../sourceforge/kolmafia/request/FightRequest.java | 15 +++++++++++++++
.../kolmafia/request/UseItemRequest.java | 10 ++++++++++
.../kolmafia/session/ChoiceManager.java | 18 ++++++++++++++++++
5 files changed, 59 insertions(+), 0 deletions(-)
diff --git a/src/data/defaults.txt b/src/data/defaults.txt
index b5a0bc8..0f52de3 100644
--- a/src/data/defaults.txt
+++ b/src/data/defaults.txt
@@ -358,6 +358,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 8c8338c..a9d66e1 100644
--- a/src/net/sourceforge/kolmafia/KoLCharacter.java
+++ b/src/net/sourceforge/kolmafia/KoLCharacter.java
@@ -2316,6 +2316,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 105bcfb..e2cd050 100644
--- a/src/net/sourceforge/kolmafia/request/FightRequest.java
+++ b/src/net/sourceforge/kolmafia/request/FightRequest.java
@@ -193,6 +193,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 summonedGhost = false;
private static int currentRound = 0;
private static int levelModifier = 0;
@@ -894,6 +895,19 @@ public class FightRequest
FightRequest.castCleesh = true;
}
+ // only one tunnel action per fight
+ if ( skillName.equals( "Tunnel Upwards") ||
+ skillName.equals("Tunnel Downwards") )
+ {
+ if (FightRequest.dugTunnel)
+ {
+ FightRequest.action1 = "attack";
+ this.addFormField( "action", FightRequest.action1 );
+ return;
+ }
+ FightRequest.dugTunnel = true;
+ }
+
if ( FightRequest.isInvalidAttack( FightRequest.action1 ) )
{
FightRequest.action1 = "abort";
@@ -2633,6 +2647,7 @@ public class FightRequest
FightRequest.castNoodles = false;
FightRequest.castCleesh = false;
FightRequest.jiggledChefstaff = false;
+ FightRequest.dugTunnel = false;
FightRequest.summonedGhost = false;
FightRequest.desiredScroll = null;
diff --git a/src/net/sourceforge/kolmafia/request/UseItemRequest.java b/src/net/sourceforge/kolmafia/request/UseItemRequest.java
index 3f1b7d6..aa206ad 100644
--- a/src/net/sourceforge/kolmafia/request/UseItemRequest.java
+++ b/src/net/sourceforge/kolmafia/request/UseItemRequest.java
@@ -411,6 +411,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";
diff --git a/src/net/sourceforge/kolmafia/session/ChoiceManager.java b/src/net/sourceforge/kolmafia/session/ChoiceManager.java
index 072e1af..3165b35 100644
--- a/src/net/sourceforge/kolmafia/session/ChoiceManager.java
+++ b/src/net/sourceforge/kolmafia/session/ChoiceManager.java
@@ -2190,6 +2190,7 @@ public abstract class ChoiceManager
for ( int stepCount = 0; request.responseText.indexOf( "choice.php" ) != -1; ++stepCount )
{
Matcher choiceMatcher = ChoiceManager.CHOICE_PATTERN.matcher( request.responseText );
+ boolean resultProcessed = false;
if ( !choiceMatcher.find() )
{
@@ -2207,6 +2208,23 @@ public abstract class ChoiceManager
String option = "choiceAdventure" + choice;
String decision = Preferences.getString( option );
+ if (choice.equals("276"))
+ {
+ Preferences.setBoolean("llamaSeen", false);
+ }
+ else if (choice.equals("277"))
+ {
+ Preferences.setBoolean("llamaSeen", true);
+ }
+
+
+ if (!resultProcessed)
+ {
+ resultProcessed = true;
+ if (!(choice.equals("276") || choice.equals("277"))) /* Llama lama gong adv is not counted as a choice adv for conditions */
+ ResultProcessor.processResult( new AdventureResult( AdventureResult.CHOICE, 1 ) );
+
+ }
// If this choice has special handling, convert to real
// decision index