Announcement

Collapse
No announcement yet.

Taunt Ability

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Taunt Ability

    Is it possible to create a taunt ability, so a character can force enemies to target him/her? I couldn't find anything similar in the presets, and I imagine it'd be difficult to create.

    #2
    Re: Taunt Ability

    Well not too difficult, assuming you know how to use trait scripts, which I believe you need to do anyway to randomize targeting (i think).

    So basically you will need a variable or 4 flags. Let's use the variable idea.

    So this variable is called, TauntCharacter, and is set to -1 when no character has set up the taunt command. Now when the character calls this taunt command, set TauntChracter = InstiMember. So this would go in the success script for an ability.

    now in the trait script you want

    Data Set Battle Action(Attack) // this can be magic or defend or any other battle command plus you can set up percentages for all of them here using conditions
    Script Branch: Condition: Variable [TauntCharacter] > -1
    -Data: Variable: [63:Action:Enemy] = [TauntCharacter] + 0
    -Script: Force Script End
    Script: Condition End
    Data: Variable: [990:Temp Variable 0] = [18:Participate Member] - 1
    Data: Variable: [Action:Enemy] = 0 ? [990:Temp Variable 0] // picks random member

    Now this will do it for the whole battle so if you want it to be for one turn add

    Data: Variable: [TauntCharacter] = -1 + 0

    before the force script end. Also make sure to use this line in the battle exit script.

    Then put this trait script on every enemy you want affected by the taunt (it goes in Adv Trait in the enemy editor). Note if you set a trait the behavior set in the custom tab for the enemy is ignored and the trait script it used, but a trait script can do anything that can be done with the behavior tab.

    Now I'm not 100% sure this will work as I have not actually tested it, but I'm confident it is at least close.

    So if you have any more questions about how to use trait scripts, fire away.
    Last edited by thetruecoolness; 07-08-2005, 04:08 AM.
    はじめまして。真(しん)の冷静(れいせい)です。どうぞよろしく。
    http://www.thetruecoolness.com/

    5198-2124-7210 Smash

    Comment


      #3
      Re: Taunt Ability

      Yeah, I'm still dillydallying in Normal difficulty, so I didn't even know those existed. Is the behavior tab the only thing that's ignored when using trait scripts? If so, seems like it'd be easy enough to recreate myself by studying the preset scripts.

      Oh, and thanks for the help!

      Comment


        #4
        Re: Taunt Ability

        Yeah, traits just take the place of behavior, cause that is essentially what they do. Of course you can get as complicated as you want with these, but just looking at the default ones should give you a good heads up on how to use them. I am using them in my game to make a custom menu for my battles (though I am using traits on the characters and not enemies), so they are very versatile, and allow you to edit a lot of the battle system you wouldn't be able to normally.

        I would suggest starting a game on easy (which you probably already did), then going straight to hard, cause all the difficulty setting does is hide things, which only limits you and doesn't really make it any easier, as you can just ignore what you don't want to mess with, though starting on hard or normal is not recommended, unless you won't ever use any preset stuff. And you can actually look at the preset scripts and events (though with the FAQ on these boards you can too). So any problems you run into post them here, and I or someone else will be more than happy to lend assistance.
        Last edited by thetruecoolness; 07-08-2005, 04:37 AM.
        はじめまして。真(しん)の冷静(れいせい)です。どうぞよろしく。
        http://www.thetruecoolness.com/

        5198-2124-7210 Smash

        Comment


          #5
          Re: Taunt Ability

          I actually started on Normal, since the manual suggested it for people who've used RPG Maker before, and I've already spent a ton of time making dungeons, characters, animations. Oh well, I don't mind doing a little leg work.

          Thanks again!

          Everyone's so friendly here! You've definitely got an awesome board going!

          Comment


            #6
            Re: Taunt Ability

            Well by all means continue. I don't think they take out hardly anything between normal and easy. Plus all the scripts can be viewed in the turtorials section in Dungeon Wardens FAQ. And yes many of the people are more than willing to help, when they can.
            はじめまして。真(しん)の冷静(れいせい)です。どうぞよろしく。
            http://www.thetruecoolness.com/

            5198-2124-7210 Smash

            Comment


              #7
              Re: Taunt Ability

              Instead of making trait scripts, you could just add this to the Effect Start script of every enemy attack (listed as Enemy Only in the Direct Effects).

              You also might want to change random target to single target so that you can set the target. I haven't tested it, so I'm not sure which is better; but if the battle engine chooses a random target it might replace any target you select.

              Data: Variable: [990:Temp Variable 0] = [18:Participate Member] - 1
              Data: Variable: [Action:Enemy] = 0 ? [990:Temp Variable 0] // picks random member
              Variable 18: Participate Member is the number of party members at the begining of battle. Variable 63: Action : Enemy requires the database number of the character to be targeted. You need to rewrite it this way:

              Data: Variable: [990:Temp Variable 0] = [18:Participate Member] - 1
              Data: Variable: [53: Member Order] = 0 ? [990:Temp Variable 0] // picks random Member Order
              Data : Use Member Order (loads the database number of the member in the position listed in Member Order (i.e. 0 = leader, 3 = forth member) into Var 86: Member Number)
              Data: Variable: [Action:Enemy] = Var86: Member Number




              The Crown of Order demo is here.

              Comment


                #8
                Re: Taunt Ability

                I can't get it to work correctly just yet. I placed the scripts (thetruecoolness' Script Branch followed by Dungeon Warden's rewrite for the end) at the end of the preset script 45 "Attack Start" Used at the preset Slime's attack's direct effect. With random target they attack randomly (of course), and with single target they just beat up the first member. I deleted everything in the script expect for Dungeon Warden's rewrite (and also tried just using the un-rewritten versions) to see if I could get them to attack someone randomly, but no luck. They just hate the leader.

                Once I do figure this out, could these commands be used to create enemies that like to beat up on members with low HP or Defense?
                Last edited by LilSpriteX; 07-09-2005, 03:09 AM.

                Comment


                  #9
                  Re: Taunt Ability

                  Sort of to do that you will have to cycle through all of the members and load their information. So you can use the Use Member Order command and then use Member Info Load to get the members stats. Now I think since Use Member Order also sets insti member you might have to restore the correct order, but since they use it in the damage scripts to get the target and attackers name I don't think you have to worry about it, just something that might come up if you characters magically start going out of order.

                  As for it not working I'll have to play around with it a bit tonight when I work on my game some more, so hopefully I will figure it out by later tonight or tomorrow.
                  はじめまして。真(しん)の冷静(れいせい)です。どうぞよろしく。
                  http://www.thetruecoolness.com/

                  5198-2124-7210 Smash

                  Comment


                    #10
                    Re: Taunt Ability

                    Script 45: Attack Start occurs before the attack starts. You need to put the changes in Start Effect so that the direct effect will know what character to target, or put it in the trait script of the enemy. Actually the Action Variables are used for Trait scripts (this is what it says if you look at the help file) so they may not work anywhere else.




                    The Crown of Order demo is here.

                    Comment


                      #11
                      Re: Taunt Ability

                      I'll try making Trait Scripts then. They're intriguing me by the minute, because I'd love to make some smarter enemies. Now, by looking through your wonderful FAQ and some other forums, I believe I'm on the right track, but maybe you can correct me if I'm wrong.

                      Let's say I just want to recreate the Normal difficulty preset Slime's behavior (80% attack, 20% flee). I'd want to randomize a Temp Variable, then create script branches with conditions based on the result. Then I set [60: Action:Action] to a corresponding number (0 if it's an attack, 3 if it's a skill, etc), then set [61: Action:Itm/Abty] to the database number of the direct effect I want, then force script end.

                      Data: Variable [991: Temp Variable 1] = 0 ? 100
                      Script Branch: Condition: [Variable 991: Temp Variable] < or = 80
                      Data: Variable [60: Action:Action] = 0 + 0
                      Data: Variable [61: Action: Itm/Abty] = 156 + 0 // Hit (Enemy 0)
                      Script Control: Force Script End
                      Script: Condition End
                      Script Branch: Condition: Variable [991: Temp Variable 1] > or = 81
                      Data: Variable [60: Action:Action] = 3 + 0
                      Data: Variable [61: Itm/Abty] = 100 + 0 // Flee
                      Script Control: Force Script End
                      Script: Condition End

                      So then I create a Trait, and give it to my "custom" slime. It seems to be working so far, except instead of fleeing, they charge strength. Well, flee isn't really something I was planning to use anyway. Is that script correct, or am I missing something? I see in the presets they use comands like Data: Set Battle Action and Battle: Substitute Target Attribute for Variable. Are those preferable?

                      This doesn't seem nearly as daunting as I first thought. This game is good for your brain!

                      Comment


                        #12
                        Re: Taunt Ability

                        Yes it is as it is basically learning to program, and how to design the architecture of a game, and of course game design 101. So you are on the right track, of course he charges because charge is #100 in the ability DB, flee is 98 and does work correctly. There is a command called substitute database number for variable, which is useful if you move stuff around a lot using the sort database command in the file menu. This way you can store the number of a specfic item/ability/magic/skill to a variable and then use that variable to represent it, this way you don't have to worry what number a ability is as the game figures it out for you. Just as a side note on this, I believe you can't delete something that is used in the Sub DB Num for Var until you delete the command referencing it.

                        Usually it is prefered to use the Battle: Action command in Data->System as opposed to setting the variable yourself. Just makes it easier to read, and requires less remembering for you, though either way should work fine.
                        Last edited by thetruecoolness; 07-09-2005, 05:19 PM.
                        はじめまして。真(しん)の冷静(れいせい)です。どうぞよろしく。
                        http://www.thetruecoolness.com/

                        5198-2124-7210 Smash

                        Comment


                          #13
                          Re: Taunt Ability

                          Oh. I was referencing the Direct Effect Database. Heh. Good to know.

                          I love programming, I should really try actually learning a language one of these days...

                          Now, time to try out this taunt thing again.

                          Comment


                            #14
                            Re: Taunt Ability

                            Me too though I already knew C, Java and Basic before starting this so all of this is quite familiar territory to me, though with a lot more quirks than most languages have. Well if your going for being a game programmer then C++ is the one you should try to learn, though you may want to start off with Java to learn OOP (Object Oriented Programming) first.

                            Well technically you're accessing the Abilities Database for that one I believe. Or the item database if you want to make the enemy use an item (since it says itm/ability next to that variable ).
                            Last edited by thetruecoolness; 07-09-2005, 06:40 PM.
                            はじめまして。真(しん)の冷静(れいせい)です。どうぞよろしく。
                            http://www.thetruecoolness.com/

                            5198-2124-7210 Smash

                            Comment


                              #15
                              Re: Taunt Ability

                              It works! I have a taunt ability!

                              I ended up using two variables, one for who's using the taunt, and one for how "strong" the taunt was, called [Taunt Count]. I did this because I didn't want the taunt to last the whole battle, or just for one turn, and so I can have the character earn stronger taunt skills while levelling up (maybe just taunt one enemy, or the entire group). Then, anytime an enemy is affected by the taunt, it subtracts a value from [Taunt Count]. Once it reaches zero, [Taunt Character] is reverted to -1, and the enemy's regular AI resumes. I have the ability set [Taunt Count] to either 1 (for just one attack), or 19: [ParticipateEnem] (for the whole enemy party). Since the enemy trait gets called twice a turn (once before the members attack, and once for the enemy attack), though, it subtracts from [Taunt Count] twice as much during the subsequent turn. So, if I want a taunt to last two turns, I have to set [Taunt Count] to [ParticipateEnem] x 3. What fun! They beat on him for so long!

                              Thanks so much for all your help, guys! I learned a ton, and my game will be better for it!
                              Last edited by LilSpriteX; 07-09-2005, 09:03 PM. Reason: Grammar

                              Comment

                              Working...
                              X