Page 2 of 24 FirstFirst 1 2 3 4 12 ... LastLast
Results 11 to 20 of 236

Thread: Destroy All Monsters

  1. #11
    Senior Member Theraze's Avatar
    Join Date
    Mar 2010
    Posts
    8,741

    Default

    Any chance DAM can aim to finish fights in 25 rounds instead of 30? It's really depressing when it calculates out that, if their HP is exactly the right one, it can finish off the fight using spaghetti spear in 30 rounds. Problem is, with the 5% HP variance, it feels like more of these end in failure than success.
    Run SmartStasis! (0 profit to stasis with spectre scepter -- low)
    Monster: Procrastination Giant, ATT: 200, DEF: 180, HP: 225, Value: 931.1
    You will die in 69 rounds.
    Your attack will kill the monster in 3 rounds.
    DestroyAllMonsters starts now! (using Spaghetti Spear -- killrounds: 30, dierounds: 69)
    Fully brimstoned pastamancer is apparently just enough to barely kill procrastination giants.

    Suppose that may actually be a BatBrain request, since DAM is just using maxround from BB. I'll think through how I can best request it in a way that's more modular. But since HP always has that 5% variance, if you ever calculate out that you'll have exactly enough to kill them, that's almost a 50% chance for failure.
    Last edited by Theraze; 11-15-2011 at 03:46 PM.

  2. #12
    Developer
    Join Date
    Apr 2006
    Posts
    909

    Default

    I'd rather it always just assume the monster has that extra 5% hp.
    Better Basement Automation - Version 1.??? Someone else is maintaining this
    Get an effect from a buffbot
    - Version 1.4

  3. #13
    Senior Member Theraze's Avatar
    Join Date
    Mar 2010
    Posts
    8,741

    Default

    True... if BB just put the extra 5% on the monster when it was initializing, that would take care of it. But if it's reading the current HP, how does it track that there's always the extra 5% over what mafia is reporting?

  4. #14
    Senior Member
    Join Date
    Jul 2007
    Posts
    1,193

    Default

    True... if BB just put the extra 5% on the monster when it was initializing, that would take care of it. But if it's reading the current HP, how does it track that there's always the extra 5% over what mafia is reporting?
    Originally Posted by Theraze View Post
    I guess on round 1 you'd do something like:
    PHP Code:
    extra_hp monster_hp(last_monster())*0.05
    then add extra_hp to each calculation involving HP.

  5. #15
    Minion Bale's Avatar
    Join Date
    Jun 2008
    Posts
    13,287

    Default

    Any chance DAM can aim to finish fights in 25 rounds instead of 30? It's really depressing when it calculates out that, if their HP is exactly the right one, it can finish off the fight using spaghetti spear in 30 rounds.
    Originally Posted by Theraze View Post
    That sounds like a very good idea and not terribly hard to implement.

    I guess on round 1 you'd do something like:
    PHP Code:
    extra_hp monster_hp(last_monster())*0.05
    then add extra_hp to each calculation involving HP.
    Originally Posted by Catch-22 View Post
    That has definitely turned into a BatBrain discussion. That has little do with DAM, other than to discuss how to work around BatBrain's possible flaws. DAM does no HP calculation.


    New Version!
    Download 0.2.3 from the first post.

    • If a monster cannot be killed by round 25, abort and let the player deal with it.
    If people like my scripts, please send me stuffed Hodgmen.
    Universal Recovery, OCD Inventory Control, CounterChecker, newLife, ChIT.


  6. #16
    Senior Member
    Join Date
    Jul 2007
    Posts
    1,193

    Default

    I'd say it's more of a discussion as to the way KoLmafia represents a monsters known HP than a discussion on shortcomings of BatBrain.

    I've created a pessimistic monsters.txt file, which multiplies all known HP values by 1.05, see the attached file.

    Bale, any chance we can get the maxround abort as a variable at the top of the script, instead of a hard-coded "maxround - 5"?

    I'm going to be experimenting with my pessimistic monsters.txt and skip the current fix. We'll see how things go

    Edit: So parts of this monsters.txt aren't formatted correctly on monsters lacking a Defense stat (due to my laziness), KoLmafia seems smart enough to get around the formatting mistakes. I'll update this when I figure out a better way to edit the file en masse and post it again if anyone's interested.
    Attached Files
    Last edited by Catch-22; 11-16-2011 at 02:34 AM.

  7. #17

    Default

    The 1.05 variance is capped at 5 HP I think. Can't really check from my phone.

  8. #18
    Minion Bale's Avatar
    Join Date
    Jun 2008
    Posts
    13,287

    Default

    Bale, any chance we can get the maxround abort as a variable at the top of the script, instead of a hard-coded "maxround - 5"?
    Originally Posted by Catch-22 View Post
    How would you want that expressed, considering that not every fight is limited to 30 rounds? Several monsters let you go 50 rounds. Should the variable be failsafeRounds?
    If people like my scripts, please send me stuffed Hodgmen.
    Universal Recovery, OCD Inventory Control, CounterChecker, newLife, ChIT.


  9. #19
    Minion Bale's Avatar
    Join Date
    Jun 2008
    Posts
    13,287

    Default

    New Version!
    Download 0.3.0 from the first post.


    I only changed a few lines of code, but I believe it is a fundamental improvement in DAM's effectiveness. I hope that I'm not wrong.

    First of all, I discarded use of the enqueueSafe() function. I no longer use the safeKill item, although it is still being reported. Now all monsters are killed with the enqueueDanger() function.

    Next, I changed the sorting algorithm for opts. All attack skills are sorted according to this shockingly obvious algorithm:


    PHP Code:
    int meatval(advevent aint stunfloat mdpr) {
        
    int rnd kill_rounds(a);
        
    int cost rnd * (a.mp meatpermp a.meat);
        if(
    rndstun)
            
    cost+= (rnd stun) * mdpr meatperhp;
        return 
    cost;

    Honestly I don't know why I didn't just do that in the first place! It's so bloody obvious! It simply figures out how much mp an attack will cost you and how much damage you will receive. It then multiplies that number by the rounds that it will take to kill the monster with that attack. What could be simpler?
    Last edited by Bale; 11-16-2011 at 07:45 AM.
    If people like my scripts, please send me stuffed Hodgmen.
    Universal Recovery, OCD Inventory Control, CounterChecker, newLife, ChIT.


  10. #20
    Senior Member Theraze's Avatar
    Join Date
    Mar 2010
    Posts
    8,741

    Default

    Unfortunately, DAM 0.3 is failing to attack Procrastination Giants at all now...
    Run SmartStasis! (0 profit to stasis with spectre scepter -- low)
    Monster: Procrastination Giant, ATT: 140, DEF: 126, HP: 165, Value: 645.87
    You will die in 273 rounds.
    Your attack will kill the monster in 1 rounds.
    DestroyAllMonsters starts now! (using Spaghetti Spear -- killrounds: 22, dierounds: 273)
    DestroyAllMonsters is unable to figure out a useful combat strategy
    I end up just one-hitting it with a fearful fettucini or physical attack or weapon, or... well, I have a lot of things that work properly. But DAM wants to slowly use SS even though it's decided to consider it to be too dangerous.

    Attacked, and killed in one hit:
    You swat him on the knee, doing 240 (+10) damage. KERBLAM! WHAM! BAM! KAPOW! SMACK! ZAP! BARF! BONK! POW! SPLAT!

Similar Threads

  1. Replies: 0
    Last Post: 06-10-2015, 04:00 AM
  2. Feature Destroy Thinknerd T-shirt before ascending
    By psly4mne in forum Bug Reports
    Replies: 9
    Last Post: 02-03-2015, 05:15 AM
  3. Replies: 0
    Last Post: 05-29-2014, 03:22 PM
  4. Replies: 0
    Last Post: 12-10-2013, 01:22 AM
  5. New Content (Some) Bosses that block items no longer destroy them.
    By Veracity in forum Bug Reports
    Replies: 1
    Last Post: 02-20-2012, 01:28 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •