FORUM ARCHIVED

Help with Spell that requiers being drunk.

Discussion in 'Modding' started by Zylo, Jun 19, 2012.

  1. Zylo

    Zylo Member

    Alright so I recently released my Monster Shouter Mod on steam. The number one feedback I'm getting is that one of my skills needs to have the player drunk before they can use it. This seem simple at first, for I thought all I had to do was add a mana cost to the spell, rather than a cooldown; but that's not what the people want.


    They either want...

    A: Spell consumes a set amount of booze from the players inventory + a cooldown.

    or

    B: Spell consumes the mana regen buff given by all booze in the game + a cooldown.


    I'm having trouble with both. The first because I don't know of any way of forcing the spell to consume an item other than the consumebooze command, but that just makes the spell consume all of the players booze, and it doesn't stop them from using the spell even if they have any.

    As for B I can't find the spell used for generic mana regen used by all drinks in the game. If there is even a spell for it..

    If you know of a spell already in the game that does either, please tell me.

    So any suggestions? Is this even possible with the current game?
     
  2. Aquaman

    Aquaman Member

    it looks like the expansion is going to be adding a drunken aspect to the game. It may be better to simply wait until it is released and spend the ~$3.00 for it.

    or I guess the alternative to provide the drunken aspect could be a buff that consumes mana over time. Viking wizardry has skills that do this and it would require constant booze to maintain the buff(or u run out of mana).

    I cant think of a skill off the top of my head but i know there is a <consume item> type of tag...not sure on the exact formatting though.
     
  3. Kaidelong

    Kaidelong Member

    requirebuffontrigger="1" requirebuffontriggername="Fueled by Booze"

    No need to REMOVE the buff. You can just have it be usable so long as the player is fueled by booze.

    If you do want to remove it though, you need an additional removebuffbyname="Fueled by Booze".
     
  4. Kaidelong

    Kaidelong Member

    Also Thirsty Diggles use a spell effect that consumes booze from the player inventory, if you'd like that. But then it could be circumvented in an annoying way by just removing all booze before casting
     
  5. Zylo

    Zylo Member

    Thanks that seemed to work. I just need to figure out how to not let them cast the spell if the buff is not on. As Is: The player can cast the spell, have it do nothing, then sit through the cooldown before they finaly remember to drink something, before casting. (Though could just leave it like this to punish forgetful players.)

    also something weird has occurred. The animation now plays for twice as long, and twice as fast. (almost as if it is looping.) But I never touched the animation code. Any idea whats causing this?

    Code:
    <spell name="yol" type="template" templateID="7006" anchored="1" icon="sprites/shouter/shouter3.5s.png" downtime="25" wand="1">
    <effect type="trigger" spell="yol2" amount="0" requirebuffontrigger="1" requirebuffontriggername="Fuelled by Booze"/>
          </spell>
     
    <spell name="yol2" type="template" templateID="7006" anchored="1" icon="sprites/shouter/shouter3.5s.png" downtime="25" wand="1">
    <effect burn="1" type="damage" conflagratory ="3" conflagratoryF="0.3"/>
        <anim sprite="sprites/shouter/yol/yol" frames="5" firstframe="0" framerate="40" sfx="flame" centerEffect="1"/>
          </spell>
     
  6. Aegho

    Aegho Member

    Maybe the double wand="1" causes it.
    I can point out some things that you can straight out delete from the code safely:
    The amount on the trigger.
    The icon and downtime on the triggered spell.
     
  7. Kaidelong

    Kaidelong Member

    You can't prevent them from casting, however you could do a "requirebuffonnottrigger" to play a simple sound effect or something to signal the failure to cast. Actually, that's something I should put in barrier maiden.
     
  8. Zylo

    Zylo Member

    Thanks for that, now my code looks nicer. But deleting the two wand="1"s did not fix the animation. After some random guess work though I discovered that by changing yol's type to a target, while keeping yol2's type a template, it seemed to fix the animation, but I still don't hear the sfx. (BTW I forgot to mention before, but besides the animation bugging out the sfx for it never played too.)

    Other than the sfx not playing though, the spell seems to be working fine now.

    Also Kaidelong that's a good idea. I'll try and figure out how to make the spell play two different sound sfx. I tried the command you gave me, but without my sfx \ working it was hard to know if it worked or not. XD
     
  9. Daynab

    Daynab Community Moderator Staff Member

    Is the sfx one included in your mod files? because modded sounds aren't really working at this point.
     
  10. Null

    Null Will Mod for Digglebucks

    yol1 should be type self, or alternatively the better option is yol1 should be a template and yol2 targetfloor so that the player can see the area when casting.
     
  11. FaxCelestis

    FaxCelestis Will Mod for Digglebucks

    Your spell is calling a template in every square of the template. You want one or the other to be type="target".
     
  12. Zylo

    Zylo Member

    Nope their generic in game sounds. They worked until I changed the code so the spell requires booze. Effects, and animation's do though.

    This codes sounds dont work for some reason.
    Code:
    <spell name="yol" type="template" templateID="7006" anchored="1" icon="sprites/shouter/shouter3.5s.png" downtime="25">
    <effect type="trigger" spell="yol2" requirebuffontrigger="1" requirebuffontriggername="Fuelled by Booze"/>
    <effect type="trigger" spell="yol3" requirebuffonnottrigger="1" requirebuffonnottriggername="Fuelled by Booze"/>
          </spell>
     
    <spell name="yol2" type="target" >
    <effect burn="1" type="damage" conflagratory ="3" conflagratoryF="0.3"/>
        <anim sprite="sprites/shouter/yol/yol" frames="5" firstframe="0" framerate="40" sfx="flame" centerEffect="1"/>
          </spell>
     
    <spell name="yol3" type="target" >
        <anim  sfx="falling" />
          </spell>