Chars Folder - The CNS File
Note: Open .cns files with Notepad
The CNS file defines the character's many different traits. Depending on who the author is, a character can have one or multiple CNS files. When there are multiple cns files it is usually done to better organize a character's many different traits. Sometimes an author will opt to write separate cns files for basic, special, and hyper moves. The cns items you can easily modify are listed below:
life - the bigger this number the more life your character have
power - the maximum amount of supermeter your character have. Most charactershave power = 3000 (3 levels)
attack - how much damage your character inflicts. The higher the number the more damage they deal out
defense - how much damage your character takes. Higher number means more stamina for your character or they take less damage
xscale - How wide is your character (adjust to scale character's size compared to other characters)
yscale - how tall is your character (adjust to scale character's size compared to other characters)
walk.fwd - how fast does your character walk
walk.back - how fast does your character walk back
run.fwd - how fast your character runs forward
run.back - how fast your character runs backward
Some other things to look for / edit in a CNS file:
poweradd - how fast your character builds power meter for a certain move, how much power meter is depleted when doing supermoves
velset = x,y - how fast something travels whether its a projectile or the character's body movement
velocity - same as above
damage = 20,10 - how much damage a certain move causes. First number determines damage if attack isn't blocked, 2nd number is damage when blocked (chip damage)
pausetime = 5,5 - how long your character pauses after a certain move. 1st number if your attack connects, 2nd number when it's blocked
lifeadd - life will be added to your character when certain things happen
targetlifeadd - your opponents life gets regenerated or depleted when certain things happen
animtype - light, medium, heavy - how much lag a certain move has
The CNS file defines the character's many different traits. Depending on who the author is, a character can have one or multiple CNS files. When there are multiple cns files it is usually done to better organize a character's many different traits. Sometimes an author will opt to write separate cns files for basic, special, and hyper moves. The cns items you can easily modify are listed below:
life - the bigger this number the more life your character have
power - the maximum amount of supermeter your character have. Most charactershave power = 3000 (3 levels)
attack - how much damage your character inflicts. The higher the number the more damage they deal out
defense - how much damage your character takes. Higher number means more stamina for your character or they take less damage
xscale - How wide is your character (adjust to scale character's size compared to other characters)
yscale - how tall is your character (adjust to scale character's size compared to other characters)
walk.fwd - how fast does your character walk
walk.back - how fast does your character walk back
run.fwd - how fast your character runs forward
run.back - how fast your character runs backward
Some other things to look for / edit in a CNS file:
poweradd - how fast your character builds power meter for a certain move, how much power meter is depleted when doing supermoves
velset = x,y - how fast something travels whether its a projectile or the character's body movement
velocity - same as above
damage = 20,10 - how much damage a certain move causes. First number determines damage if attack isn't blocked, 2nd number is damage when blocked (chip damage)
pausetime = 5,5 - how long your character pauses after a certain move. 1st number if your attack connects, 2nd number when it's blocked
lifeadd - life will be added to your character when certain things happen
targetlifeadd - your opponents life gets regenerated or depleted when certain things happen
animtype - light, medium, heavy - how much lag a certain move has
You can customize a combination of the above elements to balance out your character with the rest of the cast. For example, making a projectile travel quickly through the screen (using velset) might be advantageous for the character depending on their fighting style. Using "lifeadd" for certain situations like Wolverine's "health recover" supermove and adjusting it so that he just gets the right amount of health back can be something you might want to look at. Another way to balance out your character is decrease the "attack" level of a character that has huge combo abilities since they can make up the decreased attack level by making multiple hits. You can increase the "defense" level of a slow character to make up for the lack of speed. Another way to balance a specific attack is increasing the required power level of a supermove if the move has a very high priority or does mega damage or is very hard to avoid. Just keep in mind that each of the elements described above can be used in some form to create a balanced character.
Helpful Hint: Do ctrl+f and type in whatever it is that you're looking for in the file. For example, if you're looking for all the "poweradd" to edit it, just use the ctrl+f search function.
Sample .CNS file:
; Guile's constants.
; Format (case insensitive):
; [groupname]
; constname = value
;----------------------------------------
[Data]
life = 1000 ;Amount of life to start with
power = 3000 ;Supermeter
attack = 102 ;attack power (more is stronger)
defence = 103 ;defensive power (more is stronger)
fall.defence_up = 50 ;Percentage to increase defense everytime player is knocked down
liedown.time = 50 ;Time which player lies down for, before getting up
airjuggle = 20 ;Number of points for juggling
sparkno = 2 ;Default hit spark number for HitDefs
guard.sparkno = 40 ;Default guard spark number
KO.echo = 0 ;1 to enable echo on KO
volume = 200 ;Volume offset (negative for softer)
IntPersistIndex = 60 ;Variables with this index and above will not have their values
FloatPersistIndex = 40 ;reset to 0 between rounds or matches. There are 60 int variables,
;indexed from 0 to 59, and 40 float variables, indexed from 0 to 39.
;If omitted, then it defaults to 60 and 40 for integer and float
;variables repectively, meaning that none are persistent, i.e. all
;are reset. If you want your variables to persist between matches,
;you need to override state 5900 from common1.cns.
[Size]
xscale = 1 ;Horizontal scaling factor.
yscale = 1.06 ;Vertical scaling factor.
ground.back = 15 ;Player width (back, ground)
ground.front = 16 ;Player width (front, ground)
air.back = 12 ;Player width (back, air)
air.front = 12 ;Player width (front, air)
height = 60 ;Height of player (for opponent to jump over)
attack.dist = 160 ;Default attack distance
proj.attack.dist = 90 ;Default attack distance for projectiles
proj.doscale = 0 ;Set to 1 to scale projectiles too
head.pos = -5, -90 ;Approximate position of head
mid.pos = -5, -60 ;Approximate position of midsection
shadowoffset = 0 ;Number of pixels to vertically offset the shadow
draw.offset = 0,0 ;Player drawing offset in pixels (x, y)
[Velocity]
walk.fwd = 3 ;Walk forward
walk.back = -3 ;Walk backward
run.fwd = 6, 0 ;Run forward (x, y)
run.back = -4,-3 ;Hop backward (x, y)
jump.neu = 0,-9 ;Neutral jumping velocity (x, y)
jump.back = -3 ;Jump back Speed (x, y)
jump.fwd = 3 ;Jump forward Speed (x, y)
runjump.back = -4,-8 ;Running jump speeds (opt)
runjump.fwd = 4,-8 ;.
....
..
.
Sample .CNS file:
; Guile's constants.
; Format (case insensitive):
; [groupname]
; constname = value
;----------------------------------------
[Data]
life = 1000 ;Amount of life to start with
power = 3000 ;Supermeter
attack = 102 ;attack power (more is stronger)
defence = 103 ;defensive power (more is stronger)
fall.defence_up = 50 ;Percentage to increase defense everytime player is knocked down
liedown.time = 50 ;Time which player lies down for, before getting up
airjuggle = 20 ;Number of points for juggling
sparkno = 2 ;Default hit spark number for HitDefs
guard.sparkno = 40 ;Default guard spark number
KO.echo = 0 ;1 to enable echo on KO
volume = 200 ;Volume offset (negative for softer)
IntPersistIndex = 60 ;Variables with this index and above will not have their values
FloatPersistIndex = 40 ;reset to 0 between rounds or matches. There are 60 int variables,
;indexed from 0 to 59, and 40 float variables, indexed from 0 to 39.
;If omitted, then it defaults to 60 and 40 for integer and float
;variables repectively, meaning that none are persistent, i.e. all
;are reset. If you want your variables to persist between matches,
;you need to override state 5900 from common1.cns.
[Size]
xscale = 1 ;Horizontal scaling factor.
yscale = 1.06 ;Vertical scaling factor.
ground.back = 15 ;Player width (back, ground)
ground.front = 16 ;Player width (front, ground)
air.back = 12 ;Player width (back, air)
air.front = 12 ;Player width (front, air)
height = 60 ;Height of player (for opponent to jump over)
attack.dist = 160 ;Default attack distance
proj.attack.dist = 90 ;Default attack distance for projectiles
proj.doscale = 0 ;Set to 1 to scale projectiles too
head.pos = -5, -90 ;Approximate position of head
mid.pos = -5, -60 ;Approximate position of midsection
shadowoffset = 0 ;Number of pixels to vertically offset the shadow
draw.offset = 0,0 ;Player drawing offset in pixels (x, y)
[Velocity]
walk.fwd = 3 ;Walk forward
walk.back = -3 ;Walk backward
run.fwd = 6, 0 ;Run forward (x, y)
run.back = -4,-3 ;Hop backward (x, y)
jump.neu = 0,-9 ;Neutral jumping velocity (x, y)
jump.back = -3 ;Jump back Speed (x, y)
jump.fwd = 3 ;Jump forward Speed (x, y)
runjump.back = -4,-8 ;Running jump speeds (opt)
runjump.fwd = 4,-8 ;.
....
..
.