MantisBT - VCMI
View Issue Details
0002975VCMIGUI - Battlespublic2018-07-19 16:012023-01-09 20:15
Andruids 
Ivan 
normalminoralways
resolvedfixed 
PCWindows8.1
0.99 
 
0002975: Cyclops Kings don't use their 2-hex attack animation
After being given "TWO_HEX_ATTACK_BREATH" bonus, Cyclops Kings still use their normal attacking animation when they attack in melee, despite having unused 2-hex attacking animation in their original def file.
1. Unpack my attached mod,
2. Start any single player with Stronghold,
3. vcmiarmenelos,
4. Take some Cyclops Kings to battle, wait until enemy stacks align and attack.
I attach an example test mod that makes Cyclops Kings attack with 2-hex attack BONUS and makes them unable to shoot, to help reproduce the issue.
No tags attached.
zip cyclopTEST.zip (1,073) 2018-07-19 16:01
https://bugs.vcmi.eu/file_download.php?file_id=2919&type=bug
Issue History
2018-07-19 16:01AndruidsNew Issue
2018-07-19 16:01AndruidsFile Added: cyclopTEST.zip
2018-07-19 16:15AVSNote Added: 0007600
2018-07-20 13:01AndruidsNote Added: 0007601
2018-07-20 13:21AVSNote Added: 0007602
2022-12-17 14:14IvanAssigned To => Ivan
2022-12-17 14:14IvanStatusnew => assigned
2022-12-17 14:31IvanStatusassigned => confirmed
2023-01-09 20:15IvanNote Added: 0008438
2023-01-09 20:15IvanStatusconfirmed => resolved
2023-01-09 20:15IvanResolutionopen => fixed

Notes
(0007600)
AVS   
2018-07-19 16:15   
VCMI use different frame groups for 2-HEX attack.
        VCMI_2HEX_UP = 40,
        VCMI_2HEX_FRONT = 41,
        VCMI_2HEX_DOWN = 42

It is recommended to alter animation to use these indexes.

However, fallback option for 2-HEX attack should be done in a way similar to cast animation.
(0007601)
Andruids   
2018-07-20 13:01   
Wow, it worked : D

However there's a new issue, now cyclopes use this animation every time when they attack, not only when they hit 2 units.

By the way, are there other frame groups used by VCMI?
(0007602)
AVS   
2018-07-20 13:21   
Here is complete list:
    enum EAnimType // list of creature animations, numbers were taken from def files
    {
        MOVING=0,
        MOUSEON=1,
        HOLDING=2,
        HITTED=3,
        DEFENCE=4,
        DEATH=5,
        DEATH_RANGED=6,
        TURN_L=7,
        TURN_R=8, //same
        //TURN_L2=9, //identical to previous?
        //TURN_R2=10,
        ATTACK_UP=11,
        ATTACK_FRONT=12,
        ATTACK_DOWN=13,
        SHOOT_UP=14,
        SHOOT_FRONT=15,
        SHOOT_DOWN=16,
        CAST_UP=17,
        CAST_FRONT=18,
        CAST_DOWN=19,
        MOVE_START=20,
        MOVE_END=21,

        DEAD = 22, // new group, used to show dead stacks. If empty - last frame from "DEATH" will be copied here
        DEAD_RANGED = 23, // new group, used to show dead stacks (if DEATH_RANGED was used). If empty - last frame from "DEATH_RANGED" will be copied here

        VCMI_CAST_UP = 30,
        VCMI_CAST_FRONT = 31,
        VCMI_CAST_DOWN = 32,
        VCMI_2HEX_UP = 40,
        VCMI_2HEX_FRONT = 41,
        VCMI_2HEX_DOWN = 42
    };
(0008438)
Ivan   
2023-01-09 20:15   
Resolved in PR 1229. Will be released as 1.2