Skip to content

More optimized Smut Orc Camp#284

Open
Phate4569 wants to merge 16 commits intosoolar:masterfrom
Phate4569:Smut-Orc-Optimization
Open

More optimized Smut Orc Camp#284
Phate4569 wants to merge 16 commits intosoolar:masterfrom
Phate4569:Smut-Orc-Optimization

Conversation

@Phate4569
Copy link
Contributor

Added - Optimization for Smut Orc quest. In testing saved 10 turns without having the most effective skills.

Essentially a better attempt at "Brute Forcing" the Quest. Instead of relying on every 15th adv we try to play to our strengths in every combat and rely on getting the Non-Com more frequently.

I left in the every 15th non-com prep because it is more beneficial to newblets without lots of perms or shinies, an area that my method doesn't cover well. I figured this would be a good middle ground, and wouldn't be too detrimental to people with the aforementioned benefits.

Copy link
Contributor

@jaspercb jaspercb left a comment

Choose a reason for hiding this comment

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

I'm confused why the do ML/don't do ML logic is in postsool rather than presool (although the doML logic was there before you showed up :) ). In general I think this is promising but needs a little more polish. Comments attached.

else if(canUse($skill[Northern Explosion]))
{
return useSkill($skill[Northern Explosion]);
}
Copy link
Contributor

Choose a reason for hiding this comment

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

log a "oh no, we didn't have anything to use" message in red here please

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ah Yes, that is better for Debugging. Added.

Copy link
Owner

Choose a reason for hiding this comment

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

This one line should stay red.

rugrat added 4 commits July 26, 2019 12:36
…ow in postsool

Changed - Added delay counter to doML when removing Asdon Driving Intimidatingly
Changed - Converted sl_useSpellsInOrcCamp from property to skill
Changed - Added alert message when we can no tuse our preferred skills
…e Unexpectedly.

Added - If sl_aggressiveBlechHouse is set true (default false) we will choose the option we are buffed for, otherwise pause with message alerting the user.
@Phate4569
Copy link
Contributor Author

Phate4569 commented Jul 29, 2019

Closes #217

Copy link
Owner

@soolar soolar left a comment

Choose a reason for hiding this comment

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

Sorry for being more than a little slow to deliver feedback!

}
if(0 < have_effect($effect[Drescher\'s Annoying Noise]))
{
uneffect(Drescher\'s Annoying Noise);
Copy link
Owner

Choose a reason for hiding this comment

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

It's not worth using a SGEEA to uneffect this or anything after it here imo. Drinking Recklessly and Ur-Kel's make sense since they're free to uneffect, but the other stuff doesn't.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I don't know if I agree, especially if the player does not have Asdon Martin.

Smut Orcs have a base 69 HP.
+ML adds +1 HP per level, subtracts 1 per negative level.
Blech House manifests when 15 Orc worth of damage is done, capped at 5x per kill.

So without buffs you need to do:
2x = 138
3x = 207
4x = 276
5x = 345

Letting both of these ride, no Asdon (HP=89):
2x = 178
3x = 267
4x = 356
5x = 445

Dropping these AND having the Asdon Active (HP=44):
2x = 88
3x = 132
4x = 176
5x = 220

Without knowing exactly what each player has for equips and permed from the list I can't quantify this into turn savings, but by eliminating those (if we can) it makes it more low-IOTM and low-skill friendly IMO, and still benefits high-IOTM and high-PERM players, especially running in a non-MP friendly path.

Would maybe "sl_aggressiveML = false" on the relay be better and let the user decide?

Copy link
Owner

Choose a reason for hiding this comment

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

Actually maybe you're right, but it's still not as important as being able to uneffect on the trail when needed. It's okay for people swimming in SGEEAs or without access to Transcendent Olfaction though (either because they don't have it or they're on a path without normal skill access), so how about with this conditional:

if(!sl_have_skill($skill[Transcendent Olfaction]) || item_amount($item[soft green echo eyedrop antidote]) > 5)

around the block with uneffecting the things that take sgeeas?

{
return useSkill($skill[Stuffed Mortar Shell]);
}
else if(canUse($skill[Saucegeyser]))
Copy link
Owner

Choose a reason for hiding this comment

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

Needs to be canUse($skill[Saucegeyser], false) because Saucegeyser can be used multiple times in one combat.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done, on all counts.

I'm not to familiar with this, what does the ", false" signify?

Copy link
Owner

Choose a reason for hiding this comment

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

useSkill and canUse accept an optional boolean that defaults to true, which basically says "this skill can only be used once per combat"

// Catch when we leave Smut Orc
if(0 < have_effect($effect[Driving Intimidatingly]))
// Catch when we leave Smut Orc, allow for being "side tracked" buy delay burning
if((0 < have_effect($effect[Driving Intimidatingly])) && (debuffAsdonDelay > 1))
Copy link
Owner

Choose a reason for hiding this comment

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

I don't think this will ever actually be anything but 0 since it's not persistent between runs of of postsool.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hmm, that is a problem. I was trying to make it so that the variable would be persistent. If I set_property then it gets overwritten each time sl_ascend is rerun correct? So if the script stops (ie. Blech House) and then immediately goes into a delay-turn due to Kramco or Vote, it will debuff.

else
{
print("If we encounter Blech House when we are not expecting it we will stop.", "blue");
print("Currently setup for Myst/Spell Damage, option 2: Blast it down with a spell", "red");
Copy link
Owner

Choose a reason for hiding this comment

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

This should probably be blue too. Although I'm not sure if we really need to print anything here at all?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

In case Blech House does happen they know what option is spec'd so they can manually choose for maximum effect.

buffMaintain($effect[Song of Sauce], 150, 1, 1);

if(get_property("sl_aggressiveBlechHouse").to_boolean())
if(get_property("sl_beta_test").to_boolean())
Copy link
Owner

Choose a reason for hiding this comment

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

Eh, I'd rather this be separate from beta test. I still think the better behavior is stopping when we encounter blech house and aren't expecting it, personally, since that means we might actually get reports of the issue instead of it going unnoticed.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

So add back in "sl_aggressiveBlechHouse" or make it always stop regardless of mode? I'd vote for the former personally?

Copy link
Owner

Choose a reason for hiding this comment

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

Eh I guess I'm fine with either of those, although I'd kind of prefer to avoid cluttering the preferences. But it's probably worth having a preference in this case, I guess?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants