skills considered as normal attacks

● ARCHIVED · READ-ONLY
Started by Adorian 11 posts View original ↗
  1. Hello everybody,

    I've been searching how to create skills considered as normal attacks and thus affected by parameters such as Atk times +X or Atk Speed gained with equipments.

    I've already tried to set "Element : Normal Attack" or "Add State : Normal Attack 100%" but without success. It only works if I set the skill #1 in the skill list. I have looked the scripts of the software a bit and found this (line 710 Game BattlerBase) :

              def attack_skill_id

                  return 1

                end

    I guess that explains the whole thing but I've been wandering how I could change the script so that all skills are considered as normal attacks.

    Do you know guys how to do it and if it's possible ?

    Thank you :)
  2. If you want to replace the default attack with a skill, there are many scripts that do that, one by Yanfly.

    If you want ALL skills to be considered default attacks IDK... maybe typing 

    return 1...999

    would work, but I have no idea what that will cause.
  3. Thank you for answering that fast.

    So I tried to put :

       return 1...999

    The skills are still not affected by Atk Times + and Atk Speed :(

    The only thing that changed is that I can't select the option Attack in combat anymore :p
  4. Yeah I didn't think that would work out too well. It probably required you to have skills 1-999 to use attack.
  5. you're both being wrong, in a lot of ways.


    1) attack_skill_id just defines which skill is being used when the attack button is being pressed - and that has to be a single skill ID (by default, it's 1) or a specific pointer, it can never have multiple answers.


    2) speed affects the turn order by default - higher speed means that the skill is executed sooner, it does NOT give additional attacks.


    3) attack times + affects ALL skills by default - there is no need to have the skills something special in order to affect this.


    If you actor has attacktimes +1 and uses ANY skill, that skill will be executed twice on the target.


    If attack times does not work for you, then that means that you have added a script or made some script changes that disabled the default attack times for you. And then you need to find the cause that disabled them, because nothing you add will enable them again.
  6. I created a new project to test what you just said and put "Atk times +2" on Eric's Hand Axe and when I used a skill it still didn't execute 3 times.

    This new project has no script implemented in whatsoever.

    When you leave the mouse over Atk Times+, the description says : "Increases the number of times a normal attack hits a target." so that's why it doesn't work with skills.
  7. OK, I stand corrected - the feature attack times is indeed only intended for use on the default attack, not on any skill.


    The definition for "normal attack" is in Game_Action, Line 90 following - if that function returns true, then the attack times will count.


    Currently that can only be true for the base attack skill, but to solve that you cannot change the base attack ID (as you've seen above, that ID has other purposes as well).


    Depending on what exactly you want to do you have to rewrite that function, perhaps to always return true or to check the current skill on a case function or whatever.
  8. I've set the definition for normal attack to always true as you advised me and it works with all the skills now, thanks a lot ! :)

    Now I will have to check if it doesn't change anything else that I don't want to. Otherwise I will have to rewrite the function.

    Thank you again Andar.
  9. open the script editor, right-click into the script list (NOT the scripts themselves, the list with the script names) and select "find" in that context menu.


    That find-function works for the entire script list, not only for the current script as with a right-click into the script area itself.


    Search for attack? and you'll see whereever that function is used or defined - if attack? always returns true, then the attack speed will also always be added.
  10. I've searched in the "Game Object" scripts and the function "attack?" only appears for attack speed and attack times so that's exactly what I wanted.

    Thanks a lot, I think you can close this thread as my initial question has been answered. :)
  11. This thread is being closed, due to being solved. If for some reason you would like this thread re-opened, please report this post and leave a message why. Thank you.