loathers / autoscend

An ascension script for KoLMafia
Other
45 stars 70 forks source link

Angry Ghost (from I voted) is a ghost. accordion thieves are allowed to cast spells #230

Open taltamir opened 4 years ago

taltamir commented 4 years ago

Context

Expected/Desired Behavior

When accordion thief encounters Angry Ghost (from I voted sticker, from voting booth IOTM) they should cast spells at it to kill it instead of trying to hit it with their weapon. (which is ineffective because ghosts are immune to physical damage)

Current Behavior

Hits it a few times and then gives up.

Failure Logs

[8] The Spooky Forest
Encounter: angry ghost
Round 0: taltamir wins initiative!
Round 1: You lose 1 hit point
Round 1: Sluuuush dissolved some of your opponent's flesh, making it a bit weaker. Now you know what these cubes are for: making awesome skeletons.
Round 1: angry ghost drops 18 attack power.
Round 1: angry ghost drops 18 defense.
[INFO] - auto_combatHandler: 0
Round 1: taltamir tries to steal an item!
You acquire an item: ghostly ectoplasm
You gain 25 Meat.
Round 2: You lose 41 hit points
Round 2: taltamir attacks!
Round 3: angry ghost takes 3 damage.
Round 3: You lose 38 hit points
Round 3: taltamir attacks!
Round 4: angry ghost takes 5 damage.
Round 4: You lose 20 hit points
Round 4: taltamir attacks!
Round 5: angry ghost takes 4 damage.
Round 5: You lose 38 hit points
[WARNING] - Uh oh, I'm having trouble in combat.
Round 5: taltamir attacks!
Round 6: angry ghost takes 43 damage.
Round 6: You lose 39 hit points
Could not handle monster, sorry
Stack trace:
  at main (auto_combat.ash:2114)
  at adv1 (auto_util.ash:5945)
  at autoAdv (auto_adventure.ash:51)
  at auto_voteMonster (auto_mr2018.ash:1304)
  at LX_burnDelay (autoscend.ash:442)
  at doTasks (autoscend.ash:5937)
  at auto_begin (autoscend.ash:6217)
  at safe_preference_reset_wrapper (autoscend.ash:6286)
  at safe_preference_reset_wrapper (autoscend.ash:6293)
Round 6: taltamir executes a macro!
KoLmafia thinks it is round 7 but KoL thinks it is round 6
You're on your own, partner.
Click here to continue in the relay browser.
jeparo commented 4 years ago

Mafia bug, we choose whether to attack or use spells based on the monster's physical resistance, which (if it's indeed immune to physical damage) is set incorrectly:

> ash $monster[angry ghost].physical_resistance

Returned: 0

> ash $monster[chalkdust wraith].physical_resistance

Returned: 100
soolar commented 4 years ago

It also clearly isn't immune to physical damage, or it would be taking exactly 1 damage from each of those hits.

The combat script could use some work against scalers though, it struggles on non-myst classes because it doesn't use spells often enough. That or I guess the more likely problem is it not using weaksauce aggressively enough, because attacking scalers shouldn't be an issue in that case...

taltamir commented 4 years ago

It also clearly isn't immune to physical damage, or it would be taking exactly 1 damage from each of those hits.

Huh, you are right... actually doh, I think it was attacking with the lightsabre, which deals prismatic damage. and the instances of single digit damage is because it was simply missing. Not because ghosts are immune to physical damage (they are, its just not the issue in this case).

My bad there.

The combat script could use some work against scalers though, it struggles on non-myst classes because it doesn't use spells often enough. That or I guess the more likely problem is it not using weaksauce aggressively enough, because attacking scalers shouldn't be an issue in that case...

Weaksauce on scalers would be a great opening move. So good idea there. Actually this is basically issue #203