-
Notifications
You must be signed in to change notification settings - Fork 72
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
base: main
Are you sure you want to change the base?
Eagle scepter #1403
Conversation
RELEASE/scripts/autoscend/combat/auto_combat_default_stage2.ash
Outdated
Show resolved
Hide resolved
@@ -217,7 +217,7 @@ boolean isSniffed(monster enemy, skill sk) | |||
boolean isSniffed(monster enemy) | |||
{ | |||
//checks if the monster enemy is currently sniffed using any of the sniff skills | |||
foreach sk in $skills[Transcendent Olfaction, Make Friends, Long Con, Perceive Soul, Gallapagosian Mating Call, Monkey Point, Offer Latte to Opponent, Motif, Hunt, McHugeLarge Slash] | |||
foreach sk in $skills[Transcendent Olfaction, %fn\, fire a Red\, White and Blue Blast, Make Friends, Long Con, Perceive Soul, Gallapagosian Mating Call, Monkey Point, Offer Latte to Opponent, Motif, Hunt, McHugeLarge Slash] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mafia doesn't count this as a sniff skill (same as Be Gregarious / Recall Monster Habitat / Saber Friends), so you'll need to check the rwbMonster
preference.
return "none"; | ||
} | ||
visit_url("desc_effect.php?whicheffect=9391a5f7577e30ac3af6309804da6944"); // visit url to refresh Mafia's _citizenZoneMods preference | ||
string activeCitZoneMod = get_property("_citizenZoneMods").to_lower_case(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this (string check) is fine, but FYI you can get a modifier -> amount map by
> ash split_modifiers(get_property("_citizenZoneMods"))
Returned: aggregate string [modifier]
Hot Damage => +10
Hot Spell Damage => +10
Meat Drop => +50
Mysticality => +10
{ | ||
familiar eagle = $familiar[Patriotic Eagle]; | ||
//zones are approximately organized by autoscend level quest structure | ||
boolean[location] meatZones = $locations[The Battlefield (Frat Uniform), The Hidden Hospital, The Haunted Bathroom, The Castle in the Clouds in the Sky (Basement), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
as these zone lists are shared between the functions it might be nice to pull them out
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was going to do that prior to the review but never got around to doing it/figuring it out. Will add it now because it could be useful for future maintenance.
{ | ||
return false; //don't attempt to change if we don't have a lot of meat and we are going for something other than mp | ||
} | ||
if(have_effect($effect[Citizen of a Zone]) > 0 && contains_text(activeCitZoneMod, goal)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
doesn't handle spec
if(autoAdv(loc)) | ||
{ | ||
activeCitZoneMod = activeCitZoneMod(); | ||
if(contains_text(activeCitZoneMod, goal)) //need this if statement separate in case we hit a non-combat |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
activeCitZoneMod
does not contain spec
, though?
} | ||
break; | ||
case "meat": //Get +50% meat | ||
foreach loc in meatZones |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
given these entries are identical except the zone, you could extract a function taking a boolean[location] zones
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and then define it inside this function, like is done in providers
undead loc:The Unquiet Garves | ||
undead loc:The Haunted Boiler Room | ||
undead loc:The Middle Chamber | ||
construct loc:Noob Cave |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this also triggers on the "fake" combats that we pretend to do in the Noob Cave, like the 151 infantryman
Not sure what to do about this. Could just remove it entirely as I don't think we ever go to the Noob Cave seriously, and the "clear phylum banish" can special-case it
While you currently go to the Noob Cave to clear a phylum banish by banishing constructs I feel like there are better options, if unlocked:
- Cobb's Knob Harem goblins, and we only want to face goblins in pure goblin zones, like this one. Also advances the superlikely.
- Outskirts is okay at a push but has some unskippable NCs, so is dangerous
- Back Alley clears bugs or hobos but also has unskippable NCs
because we do want constructs in the Wine Cellar / Laundry Room.
also the forcing of the eagle doesn't seem to work, perhaps
|
@@ -2420,6 +2434,12 @@ boolean L11_mauriceSpookyraven() | |||
|
|||
if (item_amount($item[bottle of Chateau de Vinegar]) == 0 && !possessEquipment($item[Unstable Fulminate]) && internalQuestStatus("questL11Manor") < 3) | |||
{ | |||
if (is_banished($phylum[construct]) && get_property("screechCombats").to_int() > 0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same comment on constructs for the laundry room
Description
Parts pulled out of PR have been struck through
Patriotic Eagle support
- Will visit the lowest level zone that contain one of the 3 useful buffs (Init, Item, or Meat)- If either the item or meat zone will be hit, will equip the eagle to get that buff- Will get meat buff before Nuns- Will get meat or item buff if the threshold isn't met in the 8-bit zone- Will get meat if threshold isn't met on Wall of Meat- Adds Red, White, and Blue Blast to sniffers- [x] Need to add forcing eagle so that the banish is always availableAugust Scepter- Adds additional casts so that we use up all casts in a given day at rollover.- Restructured the initial call at the start of the day to be generic.Candy Cane Sword Cane- No need to pull an eleven-foot pole if you have a CCSCOther miscellaneous additions
- Adds a new lastChance function for tasks that aren't powerlevelling related, but should be done before powerlevelling is attempted (currently only eagle screech force clear and Digital Key and Star Key)- Adds Phylum support for banishes at least. Not sure how sniffs, replaces, or YRs would be implemented in the game but there is the possibility to add additional .dat files.How Has This Been Tested?
A lot of standard runs, mostly normal
Checklist: