Hi, if I didn't misunderstand, you are experiencing the fact that you can use your mount skills while you are riding certains mounts, which is a normal thing as you can see.
Could you explain what would like to happen, instead?
In English ofc!
What is this by the way?
I'll leave here my CanUseSkill:
C
- bool CHARACTER::CanUseSkill(DWORD dwSkillVnum) const
- {
- if (dwSkillVnum == 0)
- {
- return false;
- }
- if (GetSkillGroup() > 0)
- {
- const int SKILL_COUNT = 6;
- static const DWORD SkillList[JOB_MAX_NUM][SKILL_GROUP_MAX_NUM][SKILL_COUNT] =
- {
- {
- {1, 2, 3, 4, 5, 6},
- {16, 17, 18, 19, 20, 21}
- },
- {
- {31, 32, 33, 34, 35, 36},
- {46, 47, 48, 49, 50, 51}
- },
- {
- {61, 62, 63, 64, 65, 66},
- {76, 77, 78, 79, 80, 81}
- },
- {
- {91, 92, 93, 94, 95, 96},
- {106, 107, 108, 109, 110, 111}
- },
- {
- {170, 171, 172, 173, 174, 175}
- }
- };
- const DWORD* pSkill = SkillList[GetJob()][GetSkillGroup()-1];
- for (int i = 0; i < SKILL_COUNT; ++i)
- {
- if (pSkill[i] == dwSkillVnum)
- {
- return true;
- }
- }
- }
- if (IsRiding())
- {
- switch (dwSkillVnum)
- {
- case SKILL_HORSE_WILDATTACK:
- case SKILL_HORSE_CHARGE:
- case SKILL_HORSE_ESCAPE:
- return true;
- case SKILL_HORSE_WILDATTACK_RANGE:
- return GetJob() == 2;
- }
- }
- switch (dwSkillVnum)
- {
- case 121:
- case 122:
- case 124:
- case 126:
- case 127:
- case 128:
- case 129:
- case 130:
- case 131:
- case 151:
- case 152:
- case 153:
- case 154:
- case 155:
- case 156:
- case 157:
- case 158:
- case 159:
- return true;
- }
- return false;
- }
And my CanUseHorseSkill: