{"R", "", 500, { X,0,X,0,X,0,X,0 }, 3 },\r
{"B", "", 320, { 0,X,0,X,0,X,0,X }, 1 },\r
{"N", "", 300, { N,N,N,N,N,N,N,N }, 1 },\r
- {"K", "", 280, { 1,1,1,1,1,1,1,1 } },\r
+ {"K", "", 280, { 1,1,1,1,1,1,1,1 }, 0, 4 },\r
{"P", "R", 80, { M,C,0,0,0,0,0,C } },\r
{ NULL } // sentinel\r
};\r
for(i=0; i<8; i++) { // scan all knight jumps to locate source\r
int x = sqr - nStep[i], attacker = board[x];\r
if(attacker == EMPTY || (attacker & TYPE) != stm) continue;\r
- if(p[attacker].range[i] <= L && p[attacker].range[i] >= S || p[attacker].range[i] == N) { // has Knight jump in our direction\r
+ if(p[attacker].range[i] == L || p[attacker].range[i] < W && p[attacker].range[i] >= S || p[attacker].range[i] == N) { // has Knight jump in our direction\r
NewCapture(x, sqr + victimValue, p[attacker].promoFlag); // plain jump (as in N)\r
if(p[attacker].range[i] < N) { // Lion power; generate double captures over two possible intermediates\r
int v = kStep[i]; // leftish path\r