Autoautofight


Although the central place for design discussion is ##crawl-dev on freenode, some may find it helpful to discuss requests and suggestions here first.

Vestibule Violator

Posts: 1601

Joined: Sunday, 14th July 2013, 16:36

Post Thursday, 25th September 2014, 22:50

Autoautofight

Problem: sometimes, it takes longer to conclude a fight than it really should.

Examples:
  • Your high level MiBe gets unlucky and has to tab three times to kill that popcorn.
  • The monster is otherwise unthreatening to you, but has high EV/SH
  • Your well-defended short blades user is meleeing a monster with good AC/HP/resistances, but is not capable of damaging you at a significant rate, so the outcome of the fight is clear, it just takes a long time

The most obvious workaround is to simply hold tab down. This has problems, such as
  • This doesn't work all that well in webtiles
  • A new monster could wander into battle and kill you before you have time to react

Note that the second bullet point cannot be fully fixed with force_more: you only get a message the first time a particular monster enters view, so if there are any monsters you have seen but not killed (e.g. because you retreated), force_more cannot protect you from having them wander into battle to kill you.

Therefore, I suggest an extension to autofight that does more than one round of combat.

Specifics for the initial proposal are that autoautofight would autofight until one of the following conditions are met:
  • Your HP drops below some threshold
  • Any monster changes position in your LOS. (this includes entering LOS, leaving LOS, or dying)
  • Any monster casts a spell
  • You gain or lose a status effect, or its status light changes color
(these conditions are probably too conservative)

For this message the author Hurkyl has received thanks: 2
artinuis, tedric

Tomb Titivator

Posts: 909

Joined: Thursday, 3rd January 2013, 20:32

Post Friday, 26th September 2014, 00:52

Re: Autoautofight

I would enjoy an option like this. Actually there should be three versions: current autofight (single attack), auto-autofight (stops whenever the foo you're hitting dies or moves away, or conditions above), and multi-auto-autofight (keeps plowing through foos until none can be reached, or conditions above).

Also: Monsters change position in LOS all the time without it mattering at all to the tab-fest, i.e. when you're fighting 1-on-1 just inside a 1-tile corridor and the rest of the mob is milling about in the room beyond. You'd probably have to special-case this to account for smite attacks, blinking foos, etc.

I wonder if this is the sort of thing someone can script up for insertion in rc files?
Wins (Does not include my GrEE^Veh 15-runer...stupid experimental branch)

Dungeon Master

Posts: 1051

Joined: Thursday, 12th June 2014, 05:19

Post Friday, 26th September 2014, 15:15

Re: Autoautofight

imho skip the intervening steps and go straight to parabolic

parabolic[1/1]: Lua bot that autoplays HOBe, returning control to a human pilot when it is scared of something. Written by elliptic and elliott. Piloted to a 32-minute win by elliptic.

For this message the author PleasingFungus has received thanks:
partial

Abyss Ambulator

Posts: 1205

Joined: Friday, 8th November 2013, 17:02

Post Friday, 26th September 2014, 17:14

Re: Autoautofight

A "shift+tab" autofight that just keeps tabbing until the situation changes would be cool. I'd say if such a thing were to be added, let it be simple, without the special casing tendric mentioned, just keep tabbing until a monster dies, a new monster shows up, or HP goes low (or if you hit a key)

Crypt Cleanser

Posts: 720

Joined: Friday, 6th September 2013, 09:17

Post Friday, 26th September 2014, 19:52

Re: Autoautofight

Shift+tab is already in use, it attacks in melee if possible, otherwise uses quivered throwing ammo.

Return to Game Design Discussion

Who is online

Users browsing this forum: No registered users and 36 guests

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.