Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

anicode cabal.enc and ech files

Newbie Spellweaver
Joined
Aug 11, 2008
Messages
58
Reaction score
2
I'm trying to find a connection between the 'anicode' in cabal.enc and the actual animation in the .ech files.

Let's take skillid 40 which uses anicode 1120 but going to the man.ech you'll find the animation for that skill as the second animation in the file if I'm correct. So that's not it.

Can't be linking through the efx files, I think.


I'm having problems with some animations of new skills i'm trying to add.
someone tell me how to calculate this "anicode"? :?:

the ".ech files" have the animations, but tried to find a logical relationship between the "cabal.enc" and the *.ech files, but could not. :thumbdown:

below is an example of skill0040 (already mentioned by SpeedDevil), which contains the anicode 1120.

Code:
<skill	id="40"	name="skill0040"	type="1"	group="3"	intensity="1"	element="0"	desc="skill_desc0040"	stance="0"	icon_id="J_icn_skill040"	>
     <attribute	target="1"	max_target="1"	reach="0"	mreach="1"	range="2"	range_type="0"	>
     <code	grip_calc="1"	[B][COLOR="Red"]anicode="1120"[/COLOR][/B]	fxcode_on="675"	fxcode_keep=""	/>


this animation the skill0040 is located in Object\Character\man.ech in "animations [1] - SKILDU_040"...




Does anyone know of something that might help? any idea how to calculate this "anicode"? :?:

@SpeedDevil you could find the relationship with the "anicode"?


See you soon :thumbup1:
 
Newbie Spellweaver
Joined
Oct 5, 2010
Messages
84
Reaction score
64
anicode = code animation

example:
anicode: 8000
char - raises the sword and it glows
is not clear that the true value, the skill Data.enc contains infos check it too =]

:thumbup1:
 
Last edited:
Upvote 0
Newbie Spellweaver
Joined
Aug 11, 2008
Messages
58
Reaction score
2
anicode = code animation

example:
anicode: 8000
char - raises the sword and it glows
is not clear that the true value, the skill Data.enc contains infos check it too =]

:thumbup1:

could y elaborate further on that?

the data.enc contains which information that can be checked? :?:


grateful. :thumbup1:
 
Upvote 0
Elite Diviner
Joined
Jul 27, 2009
Messages
478
Reaction score
411
The anicode does not relate to data.enc.

Animation codes for skills that use swords start at 1003 and I'll break down how they work.

The 3 is the skill id multiplied by 3 so 1003 is the animation code for skill id="1" being "Flash Draw". (This does NOT have to be the skill id) Now Flash Draw is a skill every class that uses a sword can use (WA/BL/FS/FB) and that divides up into three different animations and effects being 2-handed (2H), 1-handed (1H) and Dual Wielding (DU).

So how does the client know this skill has to change it's animation and effect based on the equipped weapons? The data in cabal.enc has the info on that. Let's list the data that has a say in this.

  • anicode: This tells the client which animatio to look up based on it's name in the ech's, not it's position
  • grip_calc: This, if I'm correct, tells the client if the skill is used by 1 class or more resulting in the need to read different efx files depending on the equipped weapons.
  • fxcode_on: This sets the link to data.enc where the correct efx is stated and is also the base of the grip calculation
  • <condition .../>: This whole line defines which class can use it and what grip type is allowed.

So the anicode being 1003 tells the client it needs to look for SKIL(grip)_001 in the animations list of all ech files. As I said before if you set your anicode to 1300 it should technically look for SKIL(grip)_100 so it does not have to be the skill ID x3.
Now the client will fill in the (grip) based on what your character is equipped with the moment it wants to fire of the skill and the possibilities are 2H, 1H and DU.
If you perform a search for SKIL2H_001/SKIL1H_001/SKILDU_001 you'll see they're all there.

The grip_calc is set to 3 so that depending on your equip you'll load 628/629/630 from data.enc. If you go to your data.enc you'll see 628 is the link to skil_1h_001.efx, 629 to 2h and 630 to du. So you could say the loaded efx is fxcode_on + 0 for 1H + 1 for 2H and + 2 for DU.

The <condition twohand="1" dual="1" onehand="1" bracer="0" exclusive="0" ...
defines the skill can be used by any class since it's not exclusive to a set class and the skill is also available for 1H 2H and DU. These disable or enable the skill for use in-game on set conditions.

So after all this let's look at skill 40 which is a Blader only skill and only usable with 2 blades/katanas equipped.

Code:
		<skill	id="40"	name="skill0040"	type="1"	group="3"	intensity="1"	element="0"	desc="skill_desc0040"	stance="0"	icon_id="J_icn_skill040"	>
			<attribute	target="1"	max_target="1"	reach="0"	mreach="1"	range="2"	range_type="0"	>
				<code	grip_calc="1"	anicode="1120"	fxcode_on="675"	fxcode_keep=""	/>
				<frame	term="114"	blend_limit="90"	hit_frame="65"	firing_frame="65"	/>
				<effect	multi_sequence="0"	visual_type=""	movemethod="0"	/>
				<condition	twohand="0"	dual="1"	onehand="0"	bracer="0"	exclusive="2"	usecase="4100"	/>
			</attribute>
			<param	exp1="57"	exp2="60"	>
				<power	atk="15,0,45,3579"	ar="10,100"	def=""	dr=""	matk=""	dur=""	hpmax=""	mpmax=""	hpregen=""	mpregen=""	critrate="0,5"	critdmg="0,20"	critrate2=""	critdmg2=""	/>
				<cost	ctime="-380,7220"	mp="26,234"	mpadd=""	sp=""	/>
			</param>
		</skill>

anicode=1120 -> it's SKIL(grip)_040 that's being searched in the ech files
grip_calc=1 and fxcode_on=675 -> only 675 will be loaded even if you change the skill to allow use of other equips.
conditions dual=1 exclusive=2 -> only a blader can use it with 2 1handed weapons.
=> SKILDU_040 is the only one in the ech

If you rename it to SKIL2H_040 you won't see an animation. If you then set conditions to "twohand=1" you can equip a greatsword on your blader and the animation will be shown again but so will the efx since grip_calc=1

I hope this is clear enough?

Greetz,
Speedy
 
Upvote 0
Newbie Spellweaver
Joined
Aug 11, 2008
Messages
58
Reaction score
2
Thank SpeedDevil. Thank you!

building on the topic, what exactly is "usecase" the condition of the skills?

because depending on skills, it varies from 2 to 4099 to 8199 and so on rsrs
 
Last edited by a moderator:
Upvote 0
Elite Diviner
Joined
Jul 27, 2009
Messages
478
Reaction score
411
Thank SpeedDevil. Thank you!

building on the topic, what exactly is "usecase" the condition of the skills?

because depending on skills, it varies from 2 to 4099 to 8199 and so on rsrs

I haven't looked at "usecase" much yet. It defines extra limits like preventing use of the skill unless the character is in a battle mode. There are loads of extra values for usecase.
 
Upvote 0
Newbie Spellweaver
Joined
Aug 11, 2008
Messages
58
Reaction score
2
So SpeedDevil

for example,
you said that the skill of the "sword" start in 1000 (anicode) and the others?

regarding the skills of the type "buffs" and skills of the type "battle mode", among others ...
As this attribute "anicode" and "grip_calc" would be calculated? :?:

grateful.
:thumbup1:
 
Upvote 0
Back
Top