Welcome to the Achaea Forums! Please be sure to read the Forum Rules.

[HTML5] Curing System development

RenoirRenoir Posts: 30 ✭✭ - Stalwart
Hello All.
While I currently use Mudlet, and Tintin++, I really like the HTML5 client.
Since I do development for a living, I'd like to support the game by writing a curing system for the client. Not having one is honestly one of the few things keeping me in Mudlet.

Onto my question,
Is there a list somewhere of what I should be matching to confirm afflictions? Otherwise, I'll have to run off and get myself very afflicted before I can start working on it.

Comments

  • XliXli Posts: 354 ✭✭✭ - Distinguished
    Most of them will be in Omni
    Hiroma tells you, "I just got to listen to someone complain about your deadly axekick being the bane of their existence."
    Archdragon Mizik Corten, Herald of Ruin says, "Man, that was a big axk."
    Hellrazor Cain de Soulis, Sartan's Hammer says, "Your [sic] a beast."
    Renoir
  • MishgulMishgul Sør-TrøndelagPosts: 5,302 @@ - Legendary Achaean
    I can also help with specifications and programming in development along with give you the basic affliction lines

    -

    One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important

    As drawn by Shayde
    hic locus est ubi mors gaudet succurrere vitae
  • RenoirRenoir Posts: 30 ✭✭ - Stalwart
    Xli said:
    Most of them will be in Omni
    Thanks for the Tip!
    Mishgul said:
    I can also help with specifications and programming in development along with give you the basic affliction lines
    Thanks, When I start working on it, it will be available via git, licensed under the GPLv3 or later. May I contact you in-game, or over PM?
  • MishgulMishgul Sør-TrøndelagPosts: 5,302 @@ - Legendary Achaean
    I am Carmain IG, but you can contact me on my e-mail which is sheepdog.mcfry@gmail.com

    -

    One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important

    As drawn by Shayde
    hic locus est ubi mors gaudet succurrere vitae
  • TeghaineTeghaine Cape Town - South Africa - Africa (thatcontinentthatlookslikesouthamerica)Posts: 116 ✭✭✭ - Distinguished
    This is interesting, because I've set up a curing system manually IG, having my character get hit with patient Trans people in the area. Please keep me up to date.
    Yae
  • RenoirRenoir Posts: 30 ✭✭ - Stalwart
    Welp, from Tecton's work on a curing system in the previous version of the HTML5 client, I have triggers and curelist for curing. Hopefully tonight I can make some more progress on this.

    For reference, the system is located here: https://github.com/Rixius/AchaeaHTML5System. GPLv3+, and I made a small library for making Reflex Groups. Node.js can be used to compile it into a single .js file that Achaea's Client can import.
  • ValariaValaria Posts: 369 ✭✭✭ - Distinguished
    I don't know why but this code(is it used in javascript?) that make me puzzling over it

      var onBlock = new Code(++id, 'onBlock', ReflexHelpers.codeCompile(
     'var rixsystem = client.rixsystem',
      //Check for herbqueue
      'if (rixsystem.balances.herb && rixsystem.queue.herb.length > 0) nextHerb()',
      //Check for sipqueue
      'if (rixsystem.balances.sip && rixsystem.queue.sip.length > 0) nextSip()',
       //Check for applyqueue
       'if (rixsystem.balances.apply && rixsystem.queue.apply.length > 0) nextApply()',
       //check for doqueue
       'if (rixsystem.balances.bal && rixsystem.balances.eq && rixsystem.queue.do.length > 0) nextDo()',
        ), true)
    	
    	system
        .add(onGMCP)
        .add(onLoad)
        .add(onBlock)
    }(system)

    2015/01/12 Tecton, the Terraformer has bestowed His divine favour upon you. It will last for approximately 1 Achaean month.
  • CynlaelCynlael Posts: 3,257 @@ - Legendary Achaean
    edited October 2014
    Pretty sure that is JavaScript. Could be wrong, though. Been a while since I've coded in that.

  • EldEld Posts: 3,946 @@ - Legendary Achaean
    Nah, it's JavaScript. That's what the HTML5 client uses for scripting.
  • OrzaansynOrzaansyn Posts: 662 @@ - Legendary Achaean
    What's wrong with this code?
    image
  • KlendathuKlendathu Eye of the StormPosts: 2,266 @@ - Legendary Achaean
    Orzaansyn said:
    What's wrong with this code?
    It doesn't exist?

    Tharos, the Announcer of Delos shouts, "It's near the end of the egghunt and I still haven't figured out how to pronounce Clean-dat-hoo."

  • OrzaansynOrzaansyn Posts: 662 @@ - Legendary Achaean
    image
    image
    ValariaPraxides
  • ValariaValaria Posts: 369 ✭✭✭ - Distinguished
    Orzaansyn said:
    heh!

    actually Im am probably relative new to Javascript than c++ and lua and other things... it just that I'm looking at

    system
        .add(onGMCP)
        .add(onLoad)
        .add(onBlock)

    which i assume it to be:

    system.add(onGMCP).add(onLoad).add(onBlock)

    or something like that...  :(


    2015/01/12 Tecton, the Terraformer has bestowed His divine favour upon you. It will last for approximately 1 Achaean month.
    Orzaansyn
  • EldEld Posts: 3,946 @@ - Legendary Achaean
    Well, part of the confusion is likely that you're looking at one part of a larger function. Looking at a slightly larger section:

    function coreFunctions(system) {
        console.log(system)
        var onGMCP = new Code(++id, 'onGMCP', ReflexHelpers.codeCompile(
            'switch (args.gmcp_method) {',
                'case "Char.Vitals":',
                    'console.log(args)',
                    'client.rixsystem.balances.bal = !!+args.gmcp_args.bal',
                    'client.rixsystem.balances.eq = !!+args.gmcp_args.eq',
                    'break',
            '}'
        ), true)
    
        var onLoad = new Code(++id, 'onLoad', ReflexHelpers.codeCompile(
            'if (!client.rixsystem) {',
                'client.rixsystem = {',
                    'queue: {',
                        'do: [],',
                        'herb: [],',
                        'apply: [],',
                        'sip: [],',
                        'lastdo: null,',
                        'lastherb: null,',
                        'lastapply: null,',
                        'lastsip: null',
                    '},'
                    'balances: {',
                        'bal: true,',
                        'eq: true,',
                        'herb: true,',
                        'apply: true,',
                        'sip: true',
                    '}',
                '}',
            '}'
        ), true)
    
        var onBlock = new Code(++id, 'onBlock', ReflexHelpers.codeCompile(
            'var rixsystem = client.rixsystem',
            //Check for herbqueue
            'if (rixsystem.balances.herb && rixsystem.queue.herb.length > 0) nextHerb()',
            //Check for sipqueue
            'if (rixsystem.balances.sip && rixsystem.queue.sip.length > 0) nextSip()',
            //Check for applyqueue
            'if (rixsystem.balances.apply && rixsystem.queue.apply.length > 0) nextApply()',
            //check for doqueue
            'if (rixsystem.balances.bal && rixsystem.balances.eq && rixsystem.queue.do.length > 0) nextDo()',
        ), true)
    
        system
        .add(onGMCP)
        .add(onLoad)
        .add(onBlock)
    }(system)
    
    

    You have a function called coreFunctions which takes the system as an argument, defines three Code objects (onGMCP, onLoad, onBlock), and then adds each of them to the system. That adding is what the system.add(onGMCP).add(onLoad).add(onBlock) is doing. I haven't checked, but I assume that system.add() adds the thing and returns the system, so that chaining the calls together like that is the same as doing system.add(onGMCP); system.add(onLoad);system.add(onBlock).
    Orzaansyn
  • OrzaansynOrzaansyn Posts: 662 @@ - Legendary Achaean
    the add() method is usually to create a JQuery object where you add elements to the set of matched elements.

    Unsure why the add() method is used in that piece of code.
    image
  • EldEld Posts: 3,946 @@ - Legendary Achaean
    Orzaansyn said:
    the add() method is usually to create a JQuery object where you add elements to the set of matched elements.

    Unsure why the add() method is used in that piece of code.
    Is that code actually using JQuery? I don't see any reference to it. The add() method of system (an instance of ReflexGroup) just adds something to system.items.
    Orzaansyn
  • OrzaansynOrzaansyn Posts: 662 @@ - Legendary Achaean
    edited October 2014
    No, hence why I said I do not understand its use.

    In which reference documentation do you see that about the add() method?
    image
  • EldEld Posts: 3,946 @@ - Legendary Achaean
    It's defined in the Group class in reflexGroup.js.
    Orzaansyn
Sign In to Comment.