Skip to content

TFS Predefined Spell Shapes

soul4soul edited this page Jan 2, 2022 · 1 revision

Ball/Radius Shapes. Taken directly from source in combat.cpp in function void AreaCombat::setupArea(int32_t radius)

	int32_t area[13][13] = {
		{0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0},
		{0, 0, 0, 0, 8, 8, 7, 8, 8, 0, 0, 0, 0},
		{0, 0, 0, 8, 7, 6, 6, 6, 7, 8, 0, 0, 0},
		{0, 0, 8, 7, 6, 5, 5, 5, 6, 7, 8, 0, 0},
		{0, 8, 7, 6, 5, 4, 4, 4, 5, 6, 7, 8, 0},
		{0, 8, 6, 5, 4, 3, 2, 3, 4, 5, 6, 8, 0},
		{8, 7, 6, 5, 4, 2, 1, 2, 4, 5, 6, 7, 8},
		{0, 8, 6, 5, 4, 3, 2, 3, 4, 5, 6, 8, 0},
		{0, 8, 7, 6, 5, 4, 4, 4, 5, 6, 7, 8, 0},
		{0, 0, 8, 7, 6, 5, 5, 5, 6, 7, 8, 0, 0},
		{0, 0, 0, 8, 7, 6, 6, 6, 7, 8, 0, 0, 0},
		{0, 0, 0, 0, 8, 8, 7, 8, 8, 0, 0, 0, 0},
		{0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0}
	};

Ring Shapes. Taken directly from source in combat.cpp in function void AreaCombat::setupAreaRing(int32_t ring)

    int32_t area2[13][13] = {
        {0, 0, 0, 0, 0, 7, 7, 7, 0, 0, 0, 0, 0},
        {0, 0, 0, 0, 7, 6, 6, 6, 7, 0, 0, 0, 0},
        {0, 0, 0, 7, 6, 5, 5, 5, 6, 7, 0, 0, 0},
        {0, 0, 7, 6, 5, 4, 4, 4, 5, 6, 7, 0, 0},
        {0, 7, 6, 5, 4, 3, 3, 3, 4, 5, 6, 7, 0},
        {7, 6, 5, 4, 3, 2, 0, 2, 3, 4, 5, 6, 7},
        {7, 6, 5, 4, 3, 0, 1, 0, 3, 4, 5, 6, 7},
        {7, 6, 5, 4, 3, 2, 0, 2, 3, 4, 5, 6, 7},
        {0, 7, 6, 5, 4, 3, 3, 3, 4, 5, 6, 7, 0},
        {0, 0, 7, 6, 5, 4, 4, 4, 5, 6, 7, 0, 0},
        {0, 0, 0, 7, 6, 5, 5, 5, 6, 7, 0, 0, 0},
        {0, 0, 0, 0, 7, 6, 6, 6, 7, 0, 0, 0, 0},
        {0, 0, 0, 0, 0, 7, 7, 7, 0, 0, 0, 0, 0}
    };

Generated print outs of TFS wave shapes facing north. The X represents the spot directly in front of the caster which is a hit field, 1's are hit fields, and 0's are misses.

LENGTH 1    SPREAD 0
X,

LENGTH 1    SPREAD 1
1, X, 1,

LENGTH 1    SPREAD 2
X,

LENGTH 1    SPREAD 3
X,

LENGTH 1    SPREAD 4
X,

LENGTH 1    SPREAD 5
X,

LENGTH 1    SPREAD 6
X,

LENGTH 1    SPREAD 7
X,

LENGTH 1    SPREAD 8
X,

LENGTH 2    SPREAD 0
1,
X,

LENGTH 2    SPREAD 1
1, 1, 1, 1, 1,
0, 1, X, 1, 0,

LENGTH 2    SPREAD 2
1, 1, 1,
1, X, 1,

LENGTH 2    SPREAD 3
1,
X,

LENGTH 2    SPREAD 4
1,
X,

LENGTH 2    SPREAD 5
1, 
X,

LENGTH 2    SPREAD 6
1,
X,

LENGTH 2    SPREAD 7
1,
X,

LENGTH 2    SPREAD 8
1,
X,

LENGTH 3    SPREAD 0
1,
1,
X,

LENGTH 3    SPREAD 1
1, 1, 1, 1, 1, 1, 1,
0, 1, 1, 1, 1, 1, 0,
0, 0, 1, X, 1, 0, 0,

LENGTH 3    SPREAD 2
1, 1, 1,
1, 1, 1, 
0, X, 0,

LENGTH 3    SPREAD 3
1, 1, 1,
1, 1, 1,
1, X, 1,

LENGTH 3    SPREAD 4
1,
1,
X,

LENGTH 3    SPREAD 5
1,
1,
X,

LENGTH 3    SPREAD 6
1,
1,
X,

LENGTH 3    SPREAD 7
1,
1,
X,

LENGTH 3    SPREAD 8
1,
1,
X,

LENGTH 4    SPREAD 0
1,
1,
1,
X,

LENGTH 4    SPREAD 1
1, 1, 1, 1, 1, 1, 1, 1, 1,
0, 1, 1, 1, 1, 1, 1, 1, 0,
0, 0, 1, 1, 1, 1, 1, 0, 0,
0, 0, 0, 1, X, 1, 0, 0, 0,

LENGTH 4    SPREAD 2
1, 1, 1, 1, 1,
1, 1, 1, 1, 1,
0, 1, 1, 1, 0,
0, 1, X, 1, 0,

LENGTH 4    SPREAD 3
1, 1, 1,
1, 1, 1,
1, 1, 1,
0, X, 0,

LENGTH 4    SPREAD 4
1, 1, 1,
1, 1, 1, 
1, 1, 1,
1, X, 1,

LENGTH 4    SPREAD 5
1,
1,
1,
X,

LENGTH 4    SPREAD 6
1,
1,
1,
X,

LENGTH 4    SPREAD 7
1,
1,
1,
X,

LENGTH 4    SPREAD 8
1,
1,
1,
X,

LENGTH 5    SPREAD 0
1,
1,
1,
1,
X, 

LENGTH 5    SPREAD 1
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0,
0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0,
0, 0, 0, 0, 1, X, 1, 0, 0, 0, 0,

LENGTH 5    SPREAD 2
1, 1, 1, 1, 1,
1, 1, 1, 1, 1,
0, 1, 1, 1, 0,
0, 1, 1, 1, 0,
0, 0, X, 0, 0,

LENGTH 5    SPREAD 3
1, 1, 1,
1, 1, 1,
1, 1, 1,
0, 1, 0,
0, X, 0,

LENGTH 5    SPREAD 4
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
0, X, 0,

LENGTH 5    SPREAD 5
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, X, 1,

LENGTH 5    SPREAD 6
1,
1,
1,
1,
X,

LENGTH 5    SPREAD 7
1,
1,
1,
1,
X,

LENGTH 5    SPREAD 8
1,
1,
1,
1,
X,

LENGTH 6    SPREAD 0
1,
1,
1,
1, 
1,
X,

LENGTH 6    SPREAD 1
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, X, 1, 0, 0, 0, 0, 0,

LENGTH 6    SPREAD 2
1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1,
0, 1, 1, 1, 1, 1, 0,
0, 1, 1, 1, 1, 1, 0,
0, 0, 1, 1, 1, 0, 0,
0, 0, 1, X, 1, 0, 0,

LENGTH 6    SPREAD 3
1, 1, 1, 1, 1,
1, 1, 1, 1, 1,
1, 1, 1, 1, 1,
0, 1, 1, 1, 0,
0, 1, 1, 1, 0,
0, 1, X, 1, 0,

LENGTH 6    SPREAD 4
1, 1, 1, 
1, 1, 1,
1, 1, 1,
1, 1, 1,
0, 1, 0,
0, X, 0,

LENGTH 6    SPREAD 5
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
0, X, 0,

LENGTH 6    SPREAD 6
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, X, 1,

LENGTH 6    SPREAD 7
1,
1,
1, 
1,
1,
X,

LENGTH 6    SPREAD 8
1,
1,
1,
1,
1,
X,

LENGTH 7    SPREAD 0
1,
1,
1,
1,
1,
1,
X,

LENGTH 7    SPREAD 1
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 
0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, X, 1, 0, 0, 0, 0, 0, 0,

LENGTH 7    SPREAD 2
1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1,
0, 1, 1, 1, 1, 1, 0,
0, 1, 1, 1, 1, 1, 0,
0, 0, 1, 1, 1, 0, 0,
0, 0, 1, 1, 1, 0, 0,
0, 0, 0, X, 0, 0, 0,

LENGTH 7    SPREAD 3
1, 1, 1, 1, 1,
1, 1, 1, 1, 1,
1, 1, 1, 1, 1,
0, 1, 1, 1, 0,
0, 1, 1, 1, 0,
0, 1, 1, 1, 0,
0, 0, X, 0, 0,

LENGTH 7    SPREAD 4
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
0, 1, 0, 
0, 1, 0,
0, X, 0,

LENGTH 7    SPREAD 5
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
0, 1, 0,
0, X, 0,

LENGTH 7    SPREAD 6
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
0, X, 0, 

LENGTH 7    SPREAD 7
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, X, 1,

LENGTH 7    SPREAD 8
1,
1,
1,
1,
1,
1,
X,

LENGTH 8    SPREAD 0
1,
1,
1,
1,
1,
1,
1,
X,

LENGTH 8    SPREAD 1
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1, X, 1, 0, 0, 0, 0, 0, 0, 0,

LENGTH 8    SPREAD 2
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1,
0, 1, 1, 1, 1, 1, 1, 1, 0,
0, 1, 1, 1, 1, 1, 1, 1, 0,
0, 0, 1, 1, 1, 1, 1, 0, 0,
0, 0, 1, 1, 1, 1, 1, 0, 0,
0, 0, 0, 1, 1, 1, 0, 0, 0,
0, 0, 0, 1, X, 1, 0, 0, 0,

LENGTH 8    SPREAD 3
1, 1, 1, 1, 1,
1, 1, 1, 1, 1,
1, 1, 1, 1, 1,
0, 1, 1, 1, 0,
0, 1, 1, 1, 0,
0, 1, 1, 1, 0,
0, 0, 1, 0, 0,
0, 0, X, 0, 0,

LENGTH 8    SPREAD 4
1, 1, 1, 1, 1,
1, 1, 1, 1, 1,
1, 1, 1, 1, 1,
1, 1, 1, 1, 1,
0, 1, 1, 1, 0,
0, 1, 1, 1, 0,
0, 1, 1, 1, 0,
0, 1, X, 1, 0,

LENGTH 8    SPREAD 5
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
0, 1, 0,
0, 1, 0,
0, X, 0,

LENGTH 8    SPREAD 6
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
0, 1, 0,
0, X, 0,

LENGTH 8    SPREAD 7
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
0, X, 0,

LENGTH 8    SPREAD 8
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, X, 1,

LENGTH 9    SPREAD 0
1,
1,
1,
1, 
1,
1,
1,
1,
X,

LENGTH 9    SPREAD 1
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1, X, 1, 0, 0, 0, 0, 0, 0, 0, 0,

LENGTH 9    SPREAD 2
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1,
0, 1, 1, 1, 1, 1, 1, 1, 0,
0, 1, 1, 1, 1, 1, 1, 1, 0,
0, 0, 1, 1, 1, 1, 1, 0, 0,
0, 0, 1, 1, 1, 1, 1, 0, 0,
0, 0, 0, 1, 1, 1, 0, 0, 0,
0, 0, 0, 1, 1, 1, 0, 0, 0, 
0, 0, 0, 0, X, 0, 0, 0, 0, 

LENGTH 9    SPREAD 3
1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 
0, 1, 1, 1, 1, 1, 0,
0, 1, 1, 1, 1, 1, 0,
0, 1, 1, 1, 1, 1, 0,
0, 0, 1, 1, 1, 0, 0,
0, 0, 1, 1, 1, 0, 0,
0, 0, 1, X, 1, 0, 0,

LENGTH 9    SPREAD 4
1, 1, 1, 1, 1,
1, 1, 1, 1, 1,
1, 1, 1, 1, 1,
1, 1, 1, 1, 1,
0, 1, 1, 1, 0, 
0, 1, 1, 1, 0,
0, 1, 1, 1, 0,
0, 1, 1, 1, 0,
0, 0, X, 0, 0,

LENGTH 9    SPREAD 5
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
0, 1, 0,
0, 1, 0,
0, 1, 0,
0, X, 0,

LENGTH 9    SPREAD 6
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
0, 1, 0,
0, 1, 0,
0, X, 0, 

LENGTH 9    SPREAD 7
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1, 
1, 1, 1,
1, 1, 1,
0, 1, 0,
0, X, 0,

LENGTH 9    SPREAD 8
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
0, X, 0,

LENGTH 10    SPREAD 0
1,
1,
1,
1,
1, 
1,
1,
1,
1,
X,

LENGTH 10    SPREAD 1
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, X, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,

LENGTH 10    SPREAD 2
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0,
0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0,
0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0,
0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0,
0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0,
0, 0, 0, 0, 1, X, 1, 0, 0, 0, 0,

LENGTH 10    SPREAD 3
1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1,
0, 1, 1, 1, 1, 1, 0,
0, 1, 1, 1, 1, 1, 0,
0, 1, 1, 1, 1, 1, 0,
0, 0, 1, 1, 1, 0, 0,
0, 0, 1, 1, 1, 0, 0,
0, 0, 1, 1, 1, 0, 0,
0, 0, 0, X, 0, 0, 0,

LENGTH 10    SPREAD 4
1, 1, 1, 1, 1,
1, 1, 1, 1, 1,
1, 1, 1, 1, 1,
1, 1, 1, 1, 1,
0, 1, 1, 1, 0,
0, 1, 1, 1, 0,
0, 1, 1, 1, 0,
0, 1, 1, 1, 0,
0, 0, 1, 0, 0,
0, 0, X, 0, 0,

LENGTH 10    SPREAD 5
1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 
1, 1, 1, 1, 1,
1, 1, 1, 1, 1,
1, 1, 1, 1, 1,
0, 1, 1, 1, 0,
0, 1, 1, 1, 0,
0, 1, 1, 1, 0,
0, 1, 1, 1, 0,
0, 1, X, 1, 0,

LENGTH 10    SPREAD 6
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
0, 1, 0,
0, 1, 0,
0, 1, 0,
0, X, 0, 

LENGTH 10    SPREAD 7
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
0, 1, 0,
0, 1, 0,
0, X, 0,

LENGTH 10    SPREAD 8
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1,
0, 1, 0,
0, X, 0,