[Mudlet] Blademaster Combo Scripting

I'm at a loss for how to handle BM strike/slash combos. If I make aliases for every possible combination, frankly, I don't think I'll never be able to remember them all. I was thinking of somehow setting variables for strike modes and adding them to what I already have coded for slashing, though I'm not entirely sure how to go about doing that cleanly.

It would be great if you who play blademasters would give me an idea of how you handle combos. 



Comments

  • Check out http://forums.achaea.com/discussion/780/mudlet-blademaster-coding/p1 for a few people's takes. I've changed my system of aliases a little since what I posted there, but the idea is the same; I can elaborate at some point if it would be helpful.
  • Well, this is what I've finally come up with. The functions, strikes, and infusions were posted in the thread Eld mentioned. I'm sure there are better ways of doing this, but maybe it'll help someone else. 


    Script:

    function changeInfuse(infuse_arg)
    infuse = infuse_arg
    end

    function changeStrike(strike_arg)
    strike = strike_arg 
    end



    Keys to change strikes (one for each strike):

    changeStrike("STERNUM")

    cecho("\n<brown>STRIKE CHANGED TO STERNUM - DMG")




    Keys to change infusions (one for each infusion):

    changeInfuse("FIRE")

    cecho("\n<SeaGreen>INFUSION CHANGED TO FIRE - ABLAZE")



    Alias to toggle between arm|leg|centre slashes and compassslashes:

    if slash == false then
    cecho("\n<medium_violet_red>SLASH MODE ON!")
    slash = true

    elseif slash == true then
    cecho("\n<orange_red>COMPASS MODE ON!")
    slash = false
    end



    Main Keys (6 of these total, one for each limb):


    if gmcp.Char.Status.race == "Dragon" then
    send("rend " .. target .. " left arm")
    if not svo.inslowcuringmode() then
    send("breathgust " .. target)
    end

    elseif slash == true then
    if not svo.inslowcuringmode() then
    send("INFUSE " .. infuse)
    end
    send("armslash " .. target .. " left")
    if not svo.inslowcuringmode() then
    send("STRIKE " .. target.." " .. strike)
    end

    else

    if not svo.inslowcuringmode() then
    send("INFUSE " .. infuse)
    end
    send("compassslash " .. target .. " east")
    if not svo.inslowcuringmode() then
    send("STRIKE " .. target.." " .. strike)
    end
    end


    I've tested in aeon and it seems to work as intended, even if it isn't the cleanest.

Sign In or Register to comment.