Skip to content

Autocuring - a basic healing system

13»

Comments

  • that's honestly the best sort of forum post

    State problem.
    State why you don't like it.
    Actually explain that it's not a problem at all.
    Evidence to why it's a solution, not a problem.
    Not realize accidental victory.

    boom.
  • As a person who has coded several complete healing systems over the years and one whom was originally wary of a standardized healing system I just want to say:

    Autocuring is wonderful and one of the best things to ever happen to this game.

  • edited August 2013
    A defup system is a perfectly good thing to have as long as you don't set it up to run automatically in a way that will steal your balance during a fight. I've got one. It's awfully crude by modern standards, but it doesn't need to be complex since it's not running in combat, and anybody who knows how variables and if statements work can do it.

    This is how mine works: I


    Your DEF display looks like:
    Current Defences:
    You are surrounded by a cloak of protection.
    <snip>
    Your sense of time is heightened, and your reactions are speeded.
    You are protected by 16 defences.

    My defup alias(which is NOT in the autodef class) activates the autodef class and checks DEF. The autodef class consists of defense message triggers(both the DEF message and the one for the defense going up), a balance trigger, an eq trigger, and triggers on the "Current Defences:" and "You are protected... " lines.

    The "Current Defences:" line clears my defense list, and each individual defense message is triggered to add that defense back into the defense list. This means that all the defenses I DO have are back in the list when it hits the  "You are protected by..." line, which runs my fulldef alias, which does something like this:

    sets defrun  to 0

    if {defenseThatDoesn'tUseBalanceOrEq is not in DefenseList} {put up defense};
    repeat until out of defenses that do not take balance/eq

    if {defenseThatDoesTakeBalance is not in DefenseList AND defrun == 0} {put up defense; set defrun to 1}
    repeat until out of defenses that do take balance/eq

    if {defrun == 0} {disables the autodef group}

    The eq and balance triggers simply run the fulldef alias again. When all my defenses are back up, the entire alias runs clean through without changing defrun away from 0, and that disables the autodef group, which disables the balance/eq triggers and prevents the system from firing until I manually activate it again.

    Of course, for this to work, you need to keep your triggers up to date and change them as messages change. 

    As I said, this is an awfully crude system, and, client depending, this can be handled much more efficiently. The main strength of this style is that you don't need to understand anything other than variables and if statements to implement it, so damn near anybody can get it up and running.

    I've also got a variant which runs "quickdef" instead of "fulldef", which only throws up the balance/eq-less defs and cloak. 

    "On the battlefield I am a god. I love war. The steel, the smell, the corpses. I wish there were more. On the first day I drove the Northmen back alone at the ford. Alone! On the second I carried the bridge! Me! Yesterday I climbed the Heroes! I love war! I… I wish it wasn’t over."

  • Can someone give me the lowdown on this 'garrynbot'? Based on comments in this and other threads, it sounds like it's server-side (a built-in?), configurable (can set queue priorities / alt cures / etc?), and efficient ("combat's become a zero-down-payment affair for newbs these days", etc).

    Also, sounds like ACTP may be gone? I dearly loved having room nums, exits, etc available to me quickly =( Does this GCMP (GMCP?) replace it fully? Beyond fully? Is there a spec on it available?

    Is g-bot full-featured enough to handle logic? If in state 'a', and get alias 'foo', do 'b', otherwise do 'c'? Is there a storage limit (say I wanted to store every mob's attack message, etc)? What are its limits? In other words: should I still even bother with a client for anything more than logging?
  • Autocuring is pretty smart(handles stupidity and recklessness well). Customization = setting priorities for afflictions(and defenses(blind and deaf)) and manually adding cures(not affliction to cure next, but cures like galingale or focus) to a queue. Never played around with the queue too much myself, so I don't know how much use you could get out of it besides injecting really important cures like ginger out of their normal priority and handling purge/focus/tree clientside. No logic, as there is nothing you can set apart from priorities, settings (tree curing on/off, etc), and adding/removing from queue. No tracking messages required, since generic aff/cure messages, generic def gain/loss messages, and generic hp/mana gain/loss messages around here now. 

    GMCP -> http://www.ironrealms.com/gmcp-doc

    Haven't seen an ACTP function yet that isn't handled in GMCP.
    image
  • The g-bot is basically a pre-configured healing system. You can choose the priority it places on certain afflictions. You can choose whether or not it uses alternate cures like focus/purge/tree. You can choose whether or not it puts certain defenses back up, and the priority it places on those. What you cannot do is touch the logic in any real way. You can tell it "cure stupidity first", but you cannot tell it how to cure it, or not to cure it at all.

    It's a server-side universal healing system, and only a healing system. It's a pretty good one, though; I use the g-bot with modified priorities, as does almost everybody else. If you've got a good ping and you're good at coding, you can, in theory,make a system that's better than the g-bot. In practice, lag makes this a marginal gain at best over a good g-bot adjunct system that shifts priorities and such.

    And so, there's totally a point in having a client, because the g-bot is healing only; it doesn't cover offense, bashing, crafting, utility, or anything else that's not healing. 

    Other clienty/systemy things that I think are new since you played:

    • Imperian does have a built-in pathfinding(HELP PATHFINDING) system similar to the old Whytebot mapper, but the mudbot mapper is still better because it moves faster.
    • CONFIG AFFMESSAGES ON will give you universal affliction messages like "You are afflicted with paralysis.' DEFMESSAGES will do the same for defenses.
    • CONFIG MOBDAMAGE ON will show how much damage you do to mobiles.
    • CONFIG SHOWBALANCE will give you exact balance times on  your skills.


    "On the battlefield I am a god. I love war. The steel, the smell, the corpses. I wish there were more. On the first day I drove the Northmen back alone at the ford. Alone! On the second I carried the bridge! Me! Yesterday I climbed the Heroes! I love war! I… I wish it wasn’t over."

  • edited September 2013
    Khizan, thanks. The showbalance was there when I left, the rest is new as heck. AFFMESSAGES and DEFMESSAGES practically makes it newb-mode =( Ah, well.

    This is also an excuse to re-do my own pathfinding algo, which I liked better than whyte's back when.

    Is there still a user-gettable map file?

    Is mudlet still the standard (at least for lua-based clients which run on linux)?

    -- Can gbot be configed to echo what it's doing, about to do, etc? Some representation that it has observed a condition and reacted appropriately?

    Is there a helpfile for using gbot?

    EDIT: toxin 'avidya' is new, whuzzat?

    Extra edit, toxins are now general? Funky. Also, wyrmriding? I miss bonding =P
  • There are no great alternatives for linux still =(

  • help autocuring

    affliction show ignorance (avidya)


  • Patek said:

    Extra edit, toxins are now general? Funky. Also, wyrmriding? I miss bonding =P
    It's pretty cliche, but the Outrider class is a lot of fun and fairly unique in its play style. (at least from what I understand, I'm still pretty new)
  • Bonding was terrible anyways.
    <div>Message #2062&nbsp; Sent By: (imperian)&nbsp; &nbsp; &nbsp; Received On: 1/20/2018/2:59</div><div>"Antioch has filed a bounty against you. Reason: Raiding Antioch and stealing Bina, being a right</div><div>ass, and not belonging anywhere near Antioch till he grows up."</div>
Sign In or Register to comment.