Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Eagle scepter #1403

Open
wants to merge 117 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 90 commits
Commits
Show all changes
117 commits
Select commit Hold shift + click to select a range
baa01e7
Initial Eagle Support, CMC change, and bug fix
dsimich Oct 7, 2023
4ae78a2
Assemble the dat files into txts
dsimich Oct 7, 2023
27d8571
Silly fixes
dsimich Oct 7, 2023
ba0375b
More minor fixes
dsimich Oct 7, 2023
7b389b2
Bad parentheses
dsimich Oct 7, 2023
41c61fd
More parens issues
dsimich Oct 7, 2023
421ab1e
Fixed all of the errors
dsimich Oct 7, 2023
a20e4b5
get citizen of a zone
dsimich Oct 7, 2023
0c50f3b
Merge remote-tracking branch 'upstream/main' into EagleCMC
dsimich Oct 10, 2023
cf2bd3b
Citizen of a Zone changes
dsimich Oct 10, 2023
5e6cd95
Properly track Citizen and fix phylum banishes
dsimich Oct 11, 2023
dbd3246
Don't care about monster banishes used re: phylums
dsimich Oct 11, 2023
9ec054a
Forgot a return
dsimich Oct 11, 2023
a15fcc4
Too many spaces
dsimich Oct 11, 2023
848611f
Small changes
dsimich Oct 12, 2023
96198fc
Merge remote-tracking branch 'upstream/main' into EagleCMC
dsimich Oct 13, 2023
535e308
Merge remote-tracking branch 'upstream/main' into EagleCMC
dsimich Oct 13, 2023
7b9d8a8
Merge remote-tracking branch 'upstream/main' into EagleCMC
dsimich Oct 14, 2023
fdbc645
Merge remote-tracking branch 'upstream/main' into EagleCMC
dsimich Oct 30, 2023
4389980
Merge remote-tracking branch 'upstream/main' into EagleCMC
dsimich Oct 31, 2023
0d7f826
If didn't uneffect, don't try to get new Citizen
dsimich Nov 2, 2023
641745a
Merge remote-tracking branch 'upstream/main' into EagleCMC
dsimich Nov 4, 2023
5f31597
Account for not being able to uneffect Citizen
dsimich Nov 4, 2023
8f0b340
Merge remote-tracking branch 'upstream/main' into EagleCMC
dsimich Nov 15, 2023
d4d1de0
Get rid of my implementation of underground delay
dsimich Nov 15, 2023
ff679de
Use all scepter charges
dsimich Nov 22, 2023
b034b13
Merge remote-tracking branch 'upstream/main' into EagleScepter
dsimich Dec 13, 2023
5c4a193
Phylum banish attempt
dsimich Dec 15, 2023
77c86c1
Try using monster_phylum instead of .phylum
dsimich Dec 15, 2023
d929aac
Missed a couple .phylums
dsimich Dec 15, 2023
923e867
Plurals and tabs are hard
dsimich Dec 15, 2023
e68c9a9
vscode, tabs are not spaces
dsimich Dec 15, 2023
96b3521
Force eagle
dsimich Dec 15, 2023
399582d
Fixing inifinite loop screeching
dsimich Dec 15, 2023
812d5a6
Need to visit the buff in order to know the mods
dsimich Dec 15, 2023
3a17f04
Try 2
dsimich Dec 15, 2023
12b3636
Add RWBBlast
dsimich Jan 1, 2024
4b4398d
More RWBBlast stuff
dsimich Jan 2, 2024
03b6764
Boolean fix
dsimich Jan 2, 2024
23722f9
Force Eagle if need combats to screech again
dsimich Jan 3, 2024
6774cff
Update phylum banish list and eagle force
dsimich Jan 5, 2024
7b446a5
Merge remote-tracking branch 'upstream/main' into EagleScepter
dsimich Jan 5, 2024
c5bff03
Move forceEagle call to auto_familiar
dsimich Jan 5, 2024
205c5fb
Better RWBBlast control
dsimich Jan 6, 2024
71037e4
Backslash is useful
dsimich Jan 6, 2024
579cf06
Merge remote-tracking branch 'upstream/main' into EagleScepter
dsimich Jan 9, 2024
f33211b
Banish dudes in Zeppelin. Some zone-phyla checks
dsimich Jan 18, 2024
dcfeb03
Merge remote-tracking branch 'upstream/main' into EagleScepter
dsimich Jan 18, 2024
8a6621b
Merge remote-tracking branch 'upstream/main' into EagleScepter
dsimich Jan 22, 2024
c6b5f0c
One more condition to the Butler phylum banish
dsimich Jan 23, 2024
cafc861
Dr. Awkward fix
dsimich Jan 23, 2024
6aab0aa
Merge remote-tracking branch 'upstream/main' into EagleScepter
dsimich Jan 27, 2024
9ceff66
Merge remote-tracking branch 'upstream/main' into EagleScepter
dsimich Jan 30, 2024
6fb5c51
Merge remote-tracking branch 'upstream/main' into EagleScepter
dsimich Feb 20, 2024
12d38eb
Some updates after comments
dsimich Feb 20, 2024
e951e17
Added multiple locs for each Cit Zone Goal
dsimich Feb 23, 2024
a4a7617
Actually check for banished phyla
dsimich Feb 26, 2024
ee8fb5a
More mp regen zones
dsimich Feb 26, 2024
2518cf8
Merge remote-tracking branch 'upstream/main' into EagleScepter
dsimich Feb 26, 2024
7031733
Comments and no need to check locations for Pledge
dsimich Feb 26, 2024
30c77e3
Quotes and variables are hard
dsimich Feb 26, 2024
38c9d37
Merge remote-tracking branch 'upstream/main' into EagleScepter
dsimich Feb 28, 2024
8d16249
Merge remote-tracking branch 'upstream/main' into EagleScepter
dsimich Mar 5, 2024
53902d2
Merge remote-tracking branch 'upstream/main' into EagleScepter
dsimich Jun 17, 2024
e8d4426
Merge remote-tracking branch 'upstream/main' into EagleScepter
dsimich Jul 23, 2024
485efe2
Get mainstat if still have August Scepter cast
dsimich Jul 23, 2024
713f525
Don't change pledge if low on meat
dsimich Jul 23, 2024
83065d3
Parentheses are hard
dsimich Jul 23, 2024
6441fb0
updated meat in switch statement for proposal. Removed oasis
Alium58 Jul 29, 2024
ee9cbbb
Simplifications after partial review
dsimich Jul 29, 2024
8ef1948
Merge remote-tracking branch 'upstream/main' into EagleScepter
dsimich Jul 29, 2024
1f74ccd
Force update of _citizenZoneMods
dsimich Jul 29, 2024
d9dbb7e
Putting phylum banish above individual monster banish
dsimich Jul 30, 2024
8b5a723
Put phylum banish at top of adjustForBanish
dsimich Jul 30, 2024
e6667f7
Adding appearance rates based on monster code
dsimich Jul 30, 2024
3ee0fef
Revert "Adding appearance rates based on monster code"
dsimich Jul 30, 2024
e2ced8d
Use quest not prop
dsimich Jul 30, 2024
c6d3391
Force freeruns if Pledging Allegiance to avoid wasting a turn
dsimich Jul 31, 2024
cd85544
Better boolean
dsimich Jul 31, 2024
9509333
Need to set activeCitZoneMod with activeCitZoneMod for it to be track…
dsimich Jul 31, 2024
efe45c4
Small queue ignore refactor for easier tracking
dsimich Jul 31, 2024
09b0e0f
Missed a variable
dsimich Jul 31, 2024
79711a4
Merge remote-tracking branch 'upstream/main' into EagleScepter
dsimich Aug 2, 2024
9e0fa35
Changes after comments
dsimich Aug 2, 2024
46d10d0
Dumb error
dsimich Aug 2, 2024
2501880
Update Palindome phylum banish block
dsimich Aug 4, 2024
f3005d3
Initial pass at running down screechCombats
dsimich Aug 5, 2024
215ea73
Forgotten semi-colon
dsimich Aug 5, 2024
c520a5c
Add the screechDelay check to the other isBanishedPhyla checks
dsimich Aug 5, 2024
524d0e7
Merge remote-tracking branch 'upstream/main' into EagleScepter
dsimich Aug 11, 2024
30d0983
Better? screech delay handling
dsimich Aug 18, 2024
53fa359
Merge remote-tracking branch 'upstream/main' into EagleScepter
dsimich Aug 18, 2024
c950b2d
Delay black forest if beasts are banished and can't clear banish
dsimich Aug 20, 2024
eb5fc80
Delay Copperhead Club if dudes are banished
dsimich Aug 20, 2024
c5e2839
Better Copperhead delay
dsimich Aug 20, 2024
2d5cc5f
Need beasts in Whitey's Grove
dsimich Aug 21, 2024
61a033a
Move screech delay back to top of powerlevel
dsimich Aug 21, 2024
e8eaba1
Needs to be above the level check
dsimich Aug 21, 2024
592931f
Back below level check, but that check now considers disregarding Ins…
dsimich Aug 21, 2024
0e295aa
Do free combats to burn down screech delay too
dsimich Aug 21, 2024
26d04d9
Add a lastChance function for things that aren't powerlevelling
dsimich Aug 22, 2024
38f412b
fn\, for RWB Blast
dsimich Aug 22, 2024
c844e7b
Merge remote-tracking branch 'upstream/main' into EagleScepter
dsimich Aug 22, 2024
275f8d8
Free Combats don't decrement screechCombat
dsimich Aug 22, 2024
c9ff9b5
Merge remote-tracking branch 'upstream/main' into EagleScepter
dsimich Aug 24, 2024
72d5501
Make sure we don't run out of adventures
dsimich Aug 25, 2024
214565a
Fix bad banish cycle at Haunted Library
dsimich Aug 25, 2024
12a68f3
Merge remote-tracking branch 'upstream/main' into EagleScepter
dsimich Oct 3, 2024
4337290
handleFam instead of useFam
dsimich Oct 3, 2024
d4f17d0
Fix scepter after merging in AG changes
dsimich Oct 3, 2024
72c1936
Hopefully fix screech used without Eagle as fam
dsimich Oct 3, 2024
33bf252
Merge remote-tracking branch 'origin/main' into EagleScepter
dsimich Oct 7, 2024
ecbdfd1
Merge branch 'main' into EagleScepter
dsimich Nov 13, 2024
fa49b4e
Merge branch 'main' into EagleScepter
dsimich Nov 20, 2024
af67c8a
Merge branch 'main' into EagleScepter
dsimich Dec 14, 2024
37dd1be
Fix task order after merge
dsimich Dec 14, 2024
5adb109
Fixes after En Garde, Avant Guard committed
dsimich Dec 14, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions BUILD/phylums/banish.dat
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
dude loc:The Black Forest
dude loc:Twin Peak
dude loc:The Red Zeppelin;sniffed:Red Butler;item:Glark Cable>2
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

banishes override tracks (after nerf day 2024), so sniffing the red butler won't help.

dude loc:Whitey's Grove;quest:questL11Palindome<=3
beast loc:The Hidden Park
beast loc:Inside the Palindome;quest:questL11Palindome<=3
beast loc:The Penultimate Fantasy Airship
undead loc:The Haunted Library
undead loc:The Haunted Wine Cellar
undead loc:The Haunted Boiler Room
undead loc:The Middle Chamber
construct loc:Noob Cave
1 change: 1 addition & 0 deletions BUILD/phylums/header.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# See auto_check_conditions for conditional options
17 changes: 17 additions & 0 deletions RELEASE/data/autoscend_phylums.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# THIS FILE IS GENERATED BY BUILD/assemble.sh
# DO NOT EDIT THIS FILE DIRECTLY. EDIT THE .DAT FILES IN THE /BUILD/ FOLDER THEN RUN assemble.sh

# See auto_check_conditions for conditional options
banish 0 dude loc:The Black Forest
banish 1 dude loc:Twin Peak
banish 2 dude loc:The Red Zeppelin;sniffed:Red Butler;item:Glark Cable>2
banish 3 dude loc:Whitey's Grove;quest:questL11Palindome<=3
banish 4 beast loc:The Hidden Park
banish 5 beast loc:Inside the Palindome;quest:questL11Palindome<=3
banish 6 beast loc:The Penultimate Fantasy Airship
banish 7 undead loc:The Haunted Library
banish 8 undead loc:The Haunted Wine Cellar
banish 9 undead loc:The Haunted Boiler Room
banish 10 undead loc:The Middle Chamber
banish 11 construct loc:Noob Cave

1 change: 1 addition & 0 deletions RELEASE/data/autoscend_settings.txt
Original file line number Diff line number Diff line change
Expand Up @@ -69,3 +69,4 @@ post 6 auto_wandOfNagamar boolean Do we need to get a Wand of Nagamar in this as
pre 0 auto_getSteelOrgan_initialize boolean When we initialize an ascension this will be copied to auto_getSteelOrgan

sharing 0 auto_disableExcavator boolean When set to true will disable automatically sending spading data via the Extractor script

2 changes: 1 addition & 1 deletion RELEASE/scripts/autoscend.ash
Original file line number Diff line number Diff line change
Expand Up @@ -1398,7 +1398,7 @@ boolean adventureFailureHandler()
}
}

if(last_monster() == $monster[Crate] && (in_wereprof() && !($location[Noob Cave].turns_spent < 8))) //want 7 turns of Noob Cave in Wereprof for Smashed Scientific Equipment
if(last_monster() == $monster[Crate] && !(get_property("screechDelay").to_boolean()) && (in_wereprof() && !($location[Noob Cave].turns_spent < 8))) //want 7 turns of Noob Cave in Wereprof for Smashed Scientific Equipment
{
if(get_property("auto_newbieOverride").to_boolean())
{
Expand Down
1 change: 1 addition & 0 deletions RELEASE/scripts/autoscend/auto_bedtime.ash
Original file line number Diff line number Diff line change
Expand Up @@ -725,6 +725,7 @@ boolean doBedtime()
}

//We are committing to end of day now...
auto_scepterRollover(); //Use the rest of the August Scepter's charges
getSpaceJelly();
while(acquireHermitItem($item[11-leaf Clover]));

Expand Down
4 changes: 3 additions & 1 deletion RELEASE/scripts/autoscend/auto_familiar.ash
Original file line number Diff line number Diff line change
Expand Up @@ -419,6 +419,8 @@ boolean autoChooseFamiliar(location place)
}
}
}

famChoice = auto_forceEagle(); // force Patriotic Eagle if we have a >0 combats until we can screech again

// Gremlins have special familiar handling.
if ($locations[Next to that Barrel with Something Burning in it, Out By that Rusted-Out Car, Over Where the Old Tires Are, Near an Abandoned Refrigerator] contains place) {
Expand Down Expand Up @@ -703,7 +705,7 @@ void preAdvUpdateFamiliar(location place)
{
handleFamiliar(get_property("auto_100familiar").to_familiar()); //do not break 100 familiar runs
}

//familiar requirement to adventure in a zone, override everything else.
if(place == $location[The Deep Machine Tunnels])
{
Expand Down
20 changes: 20 additions & 0 deletions RELEASE/scripts/autoscend/auto_powerlevel.ash
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,26 @@ boolean LX_attemptPowerLevel()
set_property("auto_powerLevelAdvCount", 0);
return true; //restart the main loop to give those quests a chance to run now that the softblock is released.
}

if(get_property("screechDelay").to_boolean())
{
auto_log_warning("Patriotic Eagle's screech banished something we need and we can't adventure anywhere else");
if(get_property("screechCombats").to_int() > 0)
{
if(LX_getDigitalKey() || LX_getStarKey())
{
//If we still need the Digital Key or Star Key burn turns to get them
return true;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd propose don't return anything here and just have a comment. This will allow proposed condition below to adv in noob cave to clear banish without going through the task list again-

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think a better way to do this is a while screechCombats > 0. That way it will just keep looping here until we can screech

}
else
{
//Nothing else to do but go here
autoAdv($location[Noob Cave]);
}
}
set_property("screechDelay", false);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this set should be inside an
if(screechCombats == 0)
{
adv in noob cave to banish constructs
set prop to false
}
return true;

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is to ensure we only clear the prop when we have banished constructs. Perhaps could even add another check to confirm constructs are banished after going to noob cave and aborting if they aren't. Perhaps abort is too strong... haven't thought too much on that. Will let you decide

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I see. I forgot the part about going to Noob Cave to screech the constructs, but that only really applies to the L7 quest where we only fight undead and this part only gets called if there's nothing else to do, which is why I moved it to the bottom

return true;
}

if(in_robot())
{
Expand Down
14 changes: 10 additions & 4 deletions RELEASE/scripts/autoscend/auto_pre_adv.ash
Original file line number Diff line number Diff line change
Expand Up @@ -353,10 +353,10 @@ boolean auto_pre_adventure()
}

// this calls the appropriate provider for +combat or -combat depending on the zone we are about to adventure in..
boolean burningDelay = ((auto_voteMonster(true) || isOverdueDigitize() || auto_sausageGoblin() || auto_backupTarget() || auto_voidMonster()) && place == solveDelayZone());
boolean gettingLucky = (have_effect($effect[Lucky!]) > 0 && zone_hasLuckyAdventure(place));
boolean burningDelay = auto_burningDelay();
boolean gettingLucky = auto_gettingLucky();
boolean forcedNonCombat = auto_haveQueuedForcedNonCombat();
boolean zoneQueueIgnored = (burningDelay || gettingLucky || forcedNonCombat);
boolean zoneQueueIgnored = auto_queueIgnore();
generic_t combatModifier = zone_combatMod(place);
if (combatModifier._boolean && !zoneQueueIgnored) {
acquireCombatMods(combatModifier._int, true);
Expand Down Expand Up @@ -408,8 +408,14 @@ boolean auto_pre_adventure()
adjustForYellowRayIfPossible(mon);
zoneHasWantedMonsters = true;
}
if(auto_wantToBanish(monster_phylum(mon), place))
{
// attempt to prepare for banishing, but if we can not try free running
dsimich marked this conversation as resolved.
Show resolved Hide resolved
boolean canBanish = adjustForBanishIfPossible(monster_phylum(mon), place);
zoneHasUnwantedMonsters = true;
}
boolean wantToBanish = auto_wantToBanish(mon, place);
boolean wantToFreeRun = auto_wantToFreeRun(mon, place);
boolean wantToFreeRun = auto_wantToFreeRun(mon, place) || auto_forceFreeRun(false);
if(wantToBanish || wantToFreeRun)
{
// attempt to prepare for banishing, but if we can not try free running
Expand Down
121 changes: 121 additions & 0 deletions RELEASE/scripts/autoscend/auto_util.ash
Original file line number Diff line number Diff line change
Expand Up @@ -500,6 +500,31 @@ boolean isBanished(monster enemy)
return (banishedMonsters() contains enemy);
}

int[phylum] banishedPhyla()
{
int[phylum] retval;
string[int] data = split_string(get_property("banishedPhyla"), ":");

if(get_property("banishedPhyla") == "")
{
return retval;
}

int i=0;
while(i<count(data))
{
retval[to_phylum(data[i])] = to_int(data[i+2]);
i += 3;
}

return retval;
}

boolean isBanishedPhyla(phylum monsterPhylum)
{
return (banishedPhyla() contains monsterPhylum);
}

int autoCraft(string mode, int count, item item1, item item2)
{
if((mode == "combine") && !knoll_available())
Expand Down Expand Up @@ -693,13 +718,31 @@ boolean auto_wantToBanish(monster enemy, location loc)
return monstersToBanish[enemy];
}

boolean auto_wantToBanish(phylum enemyphylum, location loc)
{
location locCache = my_location();
set_location(loc);
boolean [phylum] phylumToBanish = auto_getPhylum("banish");
set_location(locCache);
return phylumToBanish[enemyphylum];
}

boolean canBanish(monster enemy, location loc)
{
return banisherCombatString(enemy, loc) != "";
}

boolean canBanish(phylum enemyphylum, location loc)
{
return banisherCombatString(enemyphylum, loc) != "";
}

boolean adjustForBanish(string combat_string)
{
if(combat_string == "skill" + $skill[%fn\, Release the Patriotic Screech!])
{
return use_familiar($familiar[Patriotic Eagle]);
}
if(combat_string == "skill " + $skill[Throw Latte on Opponent])
{
return autoEquip($item[latte lovers member\'s mug]);
Expand Down Expand Up @@ -775,6 +818,32 @@ boolean adjustForBanishIfPossible(monster enemy, location loc)
return false;
}

boolean adjustForBanishIfPossible(phylum enemyphylum, location loc)
{
if(canBanish(enemyphylum, loc))
{
string banish_string = banisherCombatString(enemyphylum, loc);
auto_log_info("Adjusting to have phylum banisher available for " + enemyphylum + ": " + banish_string, "blue");
return adjustForBanish(banish_string);
}
return false;
}

boolean auto_forceFreeRun(boolean combat)
{
if(get_property("auto_forceFreeRun").to_boolean() && combat)
{
set_property("auto_forceFreeRun", false); //want to reset as soon as we see it as true while in combat
return true;
}
if(get_property("auto_forceFreeRun").to_boolean())
{
//don't need to reset it because we haven't taken a turn to freeRun yet
return true;
}
return false;
}

boolean auto_wantToFreeRun(monster enemy, location loc)
{
if(appearance_rates(loc)[enemy] <= 0)
Expand Down Expand Up @@ -1072,6 +1141,10 @@ boolean adjustForSniffingIfPossible(monster target)
{
return autoEquip($item[cursed monkey\'s paw]);
}
if(sniffer == $skill[%fn, fire a Red, White and Blue Blast])
{
handleFamiliar($familiar[Patriotic Eagle]);
}
if(sniffer != $skill[none])
{
return acquireMP(sniffer.mp_cost());
Expand Down Expand Up @@ -1759,7 +1832,32 @@ boolean isFreeMonster(monster mon, location loc)
return false;
}

boolean auto_burningDelay()
{
if((auto_voteMonster(true) || isOverdueDigitize() || auto_sausageGoblin() || auto_backupTarget() || auto_voidMonster()) && my_location() == solveDelayZone())
{
return true;
}
return false;
}

boolean auto_gettingLucky()
{
if(have_effect($effect[Lucky!]) > 0 && zone_hasLuckyAdventure(my_location()))
{
return true;
}
return false;
}

boolean auto_queueIgnore()
{
if(auto_burningDelay() || auto_gettingLucky() || auto_haveQueuedForcedNonCombat())
{
return true;
}
return false;
}

boolean auto_deleteMail(kmailObject msg)
{
Expand Down Expand Up @@ -3315,6 +3413,8 @@ boolean auto_check_conditions(string conds)
return true;
if(get_property("motifMonster").to_monster() == check_sniffed)
return true;
if(get_property("rwbMonster").to_monster() == check_sniffed)
return true;
return false;
// data: Doesn't matter, but put something so I don't have to support dataless conditions
// True when you expect a protonic ghost report
Expand Down Expand Up @@ -3398,6 +3498,27 @@ boolean [monster] auto_getMonsters(string category)
return res;
}

boolean [phylum] auto_getPhylum(string category)
{
boolean [phylum] res;
string [string,int,string] phylum_text;
if(!file_to_map("autoscend_phylums.txt", phylum_text))
auto_log_error("Could not load autoscend_phylums.txt. This is bad!");
foreach i,name,conds in phylum_text[category]
{
phylum thisPhylum = name.to_phylum();
if(thisPhylum == $phylum[none])
{
auto_log_warning('"' + name + '" does not convert to a phylum properly!', "red");
continue;
}
if(!auto_check_conditions(conds))
continue;
res[thisPhylum] = true;
}
return res;
}

boolean auto_wantToSniff(monster enemy, location loc)
{
location locCache = my_location();
Expand Down
17 changes: 17 additions & 0 deletions RELEASE/scripts/autoscend/autoscend_header.ash
Original file line number Diff line number Diff line change
Expand Up @@ -524,6 +524,7 @@ void auto_buyFrom2002MrStore();
void auto_useBlackMonolith();
boolean auto_haveAugustScepter();
void auto_scepterSkills();
void auto_scepterRollover();
void auto_lostStomach();
boolean auto_haveBofa();
boolean auto_canHabitat();
Expand All @@ -532,6 +533,12 @@ int auto_habitatFightsLeft();
monster auto_habitatMonster();
boolean auto_canCircadianRhythm();
boolean auto_circadianRhythmTarget(monster target);
boolean auto_haveEagle();
string activeCitZoneMod();
boolean auto_citizenZonePrep(string goal);
boolean auto_getCitizenZone(location loc);
boolean auto_getCitizenZone(string goal);
familiar auto_forceEagle();
boolean auto_haveJillOfAllTrades();
void auto_handleJillOfAllTrades();
boolean auto_haveBurningLeaves();
Expand Down Expand Up @@ -1701,6 +1708,8 @@ boolean loopHandlerDelayAll();
string reverse(string s);
int[monster] banishedMonsters();
boolean isBanished(monster enemy);
int[phylum] banishedPhyla();
boolean isBanishedPhyla(phylum monsterPhylum);
int autoCraft(string mode, int count, item item1, item item2);
int internalQuestStatus(string prop);
boolean canYellowRay(monster target);
Expand All @@ -1709,9 +1718,13 @@ float[monster] auto_combat_appearance_rates(location place, boolean queue);
float[monster] auto_combat_appearance_rates(location place);
boolean[string] auto_banishesUsedAt(location loc);
boolean auto_wantToBanish(monster enemy, location loc);
boolean auto_wantToBanish(phylum enemyphylum, location loc);
boolean canBanish(monster enemy, location loc);
boolean canBanish(phylum enemyphylum, location loc);
boolean adjustForBanish(string combat_string);
boolean adjustForBanishIfPossible(monster enemy, location loc);
boolean adjustForBanishIfPossible(phylum enemyphylum, location loc);
boolean auto_forceFreeRun(boolean combat);
boolean auto_wantToFreeRun(monster enemy, location loc);
boolean canFreeRun(monster enemy, location loc);
string freeRunCombatStringPreBanish(monster enemy, location loc, boolean inCombat);
Expand Down Expand Up @@ -1763,6 +1776,9 @@ float MLDamageToMonsterMultiplier();
int freeCrafts();
boolean isFreeMonster(monster mon);
boolean isFreeMonster(monster mon, location loc);
boolean auto_burningDelay();
boolean auto_gettingLucky();
boolean auto_queueIgnore();
boolean auto_deleteMail(kmailObject msg);
boolean LX_summonMonster();
boolean canSummonMonster(monster mon);
Expand Down Expand Up @@ -1821,6 +1837,7 @@ boolean auto_can_equip(item it);
boolean auto_can_equip(item it, slot s);
boolean auto_check_conditions(string conds);
boolean [monster] auto_getMonsters(string category);
boolean [phylum] auto_getPhylum(string category);
boolean auto_wantToSniff(monster enemy, location loc);
boolean auto_wantToYellowRay(monster enemy, location loc);
boolean auto_wantToReplace(monster enemy, location loc);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,12 @@ string auto_combatDefaultStage1(int round, monster enemy, string text)
handleTracker($skill[%fn\, spit on them!], enemy, "auto_otherstuff");
return useSkill($skill[%fn\, spit on them!], true);
}

//[Patriotic Eagle] familiar skill that gives a useful buff
if (canUse($skill[%fn\, let\'s pledge allegiance to a Zone]))
{
return useSkill($skill[%fn\, let\'s pledge allegiance to a Zone], true);
}

//duplicate turns the enemy from a single enemy into a mob containing 2 copies of this enemy. Doubling their stats and doubling their drops
if(canUse($skill[Duplicate]) && (get_property("_sourceTerminalDuplicateUses").to_int() == 0) && !inAftercore() && !in_nuclear())
Expand Down
Loading
Loading