221 lines
12 KiB
JavaScript
221 lines
12 KiB
JavaScript
const timing = {
|
||
player: {
|
||
value: {
|
||
punch_Right: {start: 0, end: 9},
|
||
punch_Left: {start: 10, end: 18},
|
||
punch_Right_Down: {start: 105, end: 112},
|
||
punch_Left_Down: {start: 113, end: 120},
|
||
block_Right: {start: 19, end: 27},
|
||
block_Left: {start: 28, end: 36},
|
||
block_Right_Up: {start: 37, end: 44},
|
||
block_Left_Up: {start: 45, end: 54},
|
||
block_Right_Down: {start: 126, end: 133},
|
||
block_Left_Down: {start: 134, end: 146},
|
||
stand_Left: {start: 55, end: 60},
|
||
stand_Right: {start: 61, end: 67},
|
||
jump_Right: {start: 68, end: 76 },
|
||
jump_Left: {start: 77, end: 84 },
|
||
crouch_Right_Down: {start: 85, end: 90},
|
||
crouch_Right_Up: {start: 91, end: 94},
|
||
crouch_Left_Down: {start: 95, end: 100},
|
||
crouch_Left_Up: {start: 101, end: 104},
|
||
walk_Right: {start: 146, end: 154},
|
||
walk_Left: {start: 155, end: 162},
|
||
kick_Right_Up: {start: 163, end: 167},
|
||
kick_Left_Up: {start: 168, end: 172},
|
||
},
|
||
size: {
|
||
w: 224,
|
||
h: 214
|
||
}
|
||
},
|
||
bar_enemy_timing:{
|
||
value: {
|
||
punch_Right: {start: 261, end: 276},
|
||
punch_Left: {start: 15, end: 30},
|
||
punch_Right_Down: {start: 181, end: 195, active: {start:192, end:195} },
|
||
punch_Left_Down: {start: 167, end: 180, active: {start:176, end:179} },
|
||
block_Right: {start: 254, end: 259, speed: 1},
|
||
block_Left: {start: 248, end: 253, speed: 1},
|
||
block_Right_Up: {start: 73, end: 85},
|
||
block_Left_Up: {start: 49, end: 57},
|
||
block_Right_Down: {start: 243, end: 247, speed: 1},
|
||
block_Left_Down: {start: 238, end: 242, speed: 1},
|
||
stand_Left: {start: 0, end: 6, speed: 1},
|
||
stand_Right: {start: 7, end: 13, speed: 1},
|
||
jump_Right: {start: 120, end: 131 },
|
||
jump_Left: {start: 97, end: 108 },
|
||
crouch_Right_Down: {start: 150, end: 165},
|
||
crouch_Right_Up: {start: 162, end: 155},
|
||
crouch_Left_Down: {start: 133, end: 148},
|
||
crouch_Left_Up: {start: 145, end: 140},
|
||
walk_Right: {start: 223, end: 237},
|
||
walk_Left: {start: 208, end: 222},
|
||
kick_Right_Up: {start: 203, end: 208},
|
||
kick_Left_Up: {start: 197, end: 202}
|
||
},
|
||
size: {
|
||
w: 148,
|
||
h: 214
|
||
},
|
||
speed: 2
|
||
},
|
||
car_salon_enemy_timing:{
|
||
value: {
|
||
punch_Right: {start: 159, end: 166},
|
||
punch_Left: {start: 8, end: 15},
|
||
punch_Right_Down: {start: 64, end: 70},
|
||
punch_Left_Down: {start: 134, end: 140},
|
||
block_Right: {start: 0, end: 7},
|
||
block_Left: {start: 39, end: 45},
|
||
block_Right_Up: {start: 18, end: 22},
|
||
block_Left_Up: {start: 26, end: 30},
|
||
block_Right_Down: {start: 125, end: 133},
|
||
block_Left_Down: {start: 149, end: 157},
|
||
stand_Left: {start: 56, end: 63},
|
||
stand_Right: {start: 47, end: 55},
|
||
jump_Right: {start: 80, end: 86 },
|
||
jump_Left: {start: 87, end: 93 },
|
||
crouch_Right_Down: {start: 101, end: 107},
|
||
crouch_Right_Up: {start: 106, end: 109},
|
||
crouch_Left_Down: {start: 169, end: 172},
|
||
crouch_Left_Up: {start: 173, end: 174},
|
||
walk_Right: {start: 117, end: 124},
|
||
walk_Left: {start: 141, end: 148},
|
||
kick_Right_Up: {start: 109, end: 116},
|
||
kick_Left_Up: {start: 93, end: 100},
|
||
},
|
||
size: {
|
||
// w: 224,
|
||
// h: 214
|
||
}
|
||
},
|
||
gg_cabinet_enemy_timing:{
|
||
value: {
|
||
punch_Right: {start: 9, end: 17},
|
||
punch_Left: {start: 0, end: 8},
|
||
punch_Right_Down: {start: 124, end: 129},
|
||
punch_Left_Down: {start: 118, end: 123},
|
||
block_Right: {start: 26, end: 33},
|
||
block_Left: {start: 18, end: 25},
|
||
block_Right_Up: {start: 42, end: 49},
|
||
block_Left_Up: {start: 34, end: 41},
|
||
block_Right_Down: {start: 154, end: 161},
|
||
block_Left_Down: {start: 130, end: 137},
|
||
stand_Left: {start: 50, end: 57},
|
||
stand_Right: {start: 58, end: 65},
|
||
jump_Right: {start: 74, end: 81 },
|
||
jump_Left: {start: 66, end: 73 },
|
||
crouch_Right_Down: {start: 110, end: 114},
|
||
crouch_Right_Up: {start: 115, end: 117},
|
||
crouch_Left_Down: {start: 98, end: 104},
|
||
crouch_Left_Up: {start: 105, end: 109},
|
||
walk_Right: {start: 146, end: 153},
|
||
walk_Left: {start: 138, end: 145},
|
||
kick_Right_Up: {start: 90, end: 97},
|
||
kick_Left_Up: {start: 82, end: 89},
|
||
},
|
||
size: {
|
||
// w: 224,
|
||
// h: 214
|
||
}
|
||
}
|
||
}
|
||
|
||
// reaction — ответная рекация бота на наши действия
|
||
// chance — вероятность того, что это действие будет выбрано ботом
|
||
// name — имя реакции, отсылающее к названию действия (метода классов Player и Enemy)
|
||
// damage — урон
|
||
// resist — уменьшение урона
|
||
// complex — сложное действие, состоящее из двух или более. У него нет параметров,
|
||
// оно просто отсылает к методу классов Player и Enemy
|
||
// start и end — номера кадров начала и конца анимации
|
||
// once — действие, выванное единожды за одно нажатие клавиши (если зажали кнопку и не отпускаем),
|
||
// например walk вызывается постоянно, пока зажата клавиша, а удар при зажатой клавише
|
||
// вызовется только один раз — чтобы вызвать его еще раз надо отпустить клавишу и снова нажать
|
||
// no_return — значит, мы не возвращаемся в стойку после действия once. Например, мы присели crouch
|
||
// active — активные кадры, когда персонаж способен наносить урон, если не указано,
|
||
// то активна середина анимации
|
||
// cool_down — число ударов, после которых наступит заморозка
|
||
|
||
class FrameData{
|
||
constructor(timing){
|
||
this.timing = timing;
|
||
this.punch_Right = {once: true, start: undefined, end: undefined,
|
||
damage: 0.5,
|
||
reaction: [{name: "block", chance: "0-50"}, {name: "punch", chance: "50-80"}, {name: "stand", chance: "80-100"}]
|
||
};
|
||
this.punch_Left = {once: true, start: undefined, end: undefined,
|
||
damage: 0.5,
|
||
reaction: [{name: "block", chance: "0-50"}, {name: "punch", chance: "50-80"}, {name: "stand", chance: "80-100"}]
|
||
};
|
||
this.punch_Right_Down = {once: true, no_return: true, start: undefined, end: undefined,
|
||
damage: 0.5,
|
||
reaction: [{name: "block", chance: "0-50"}, {name: "punch", chance: "50-80"}, {name: "crouch", chance: "80-100"}]
|
||
};
|
||
this.punch_Left_Down = {once: true, no_return: true, start: undefined, end: undefined,
|
||
damage: 0.5,
|
||
reaction: [{name: "block", chance: "0-50"}, {name: "punch", chance: "50-80"}, {name: "crouch", chance: "80-100"}]
|
||
};
|
||
this.block_Right = { start: undefined, end: undefined, resist: 1, active: {start:20, end:24},
|
||
reaction: [{name: "punch", chance: "00-80"}, {name: "stand", chance: "80-100"}]
|
||
};
|
||
this.block_Left = { start: undefined, end: undefined, resist: 1 , active: {start:29, end:33},
|
||
reaction: [{name: "punch", chance: "00-80"}, {name: "stand", chance: "80-100"}]
|
||
};
|
||
this.block_Right_Up = { start: undefined, end: undefined, resist: 1, active: {start:39, end:42},
|
||
reaction: [{name: "punch", chance: "00-80"}, {name: "stand", chance: "80-100"}]
|
||
};
|
||
this.block_Left_Up = { start: undefined, end: undefined, resist: 1, active: {start:48, end:52},
|
||
reaction: [{name: "punch", chance: "00-80"}, {name: "stand", chance: "80-100"}]
|
||
};
|
||
this.block_Right_Down = { start: undefined, end: undefined, resist: 1, active: {start:39, end:42},
|
||
reaction: [{name: "punch", chance: "00-80"}, {name: "stand", chance: "80-100"}]
|
||
};
|
||
this.block_Left_Down = { start: undefined, end: undefined, resist: 1, active: {start:48, end:52},
|
||
reaction: [{name: "punch", chance: "00-80"}, {name: "stand", chance: "80-100"}]
|
||
};
|
||
this.stand_Left = { start: undefined, end: undefined,
|
||
reaction: [{name: "punch", chance: "0-60"}, {name: "kick", chance: "60-80"}, {name: "stand", chance: "80-90"}, {name: "walkAway", chance: "90-100"}]
|
||
};
|
||
this.stand_Right = { start: undefined, end: undefined,
|
||
reaction: [{name: "punch", chance: "0-60"}, {name: "kick", chance: "60-80"}, {name: "stand", chance: "80-90"}, {name: "walkAway", chance: "90-100"}]
|
||
};
|
||
this.jump_Right = { start: undefined, end: 76,
|
||
reaction: [{name: "jumpAsidePunch", chance: "0-50"}, {name: "stand", chance: "0-50"}]
|
||
},
|
||
this.jump_Left = { start: undefined, end: 84,
|
||
reaction: [{name: "jumpAsidePunch", chance: "0-50"}, {name: "stand", chance: "0-50"}]
|
||
},
|
||
this.crouch_Right_Down = {start: undefined, end: undefined, resist: 0.2, once: true , no_return: true,
|
||
reaction: [{name: "crouch", chance: "0-50"}, {name: "punch", chance: "50-100"}]
|
||
};
|
||
this.crouch_Right_Up = { start: undefined, end: 94 , once: true , no_return: true,
|
||
reaction: [{name: "crouch", chance: "0-100"}]
|
||
};
|
||
this.crouch_Left_Down = {start: undefined, end: undefined, resist: 0.2, once: true, no_return: true,
|
||
reaction: [{name: "crouch", chance: "0-50"}, {name: "punch", chance: "50-100"}]
|
||
};
|
||
this.crouch_Left_Up = { start: undefined, end: 104 , once: true, no_return: true,
|
||
reaction: [{name: "crouch", chance: "0-100"}]
|
||
};
|
||
this.walk_Right = { start: undefined, end: undefined,
|
||
reaction: [{name: "walk", chance: "0-50"}, {name: "jumpAsidePunch", chance: "50-60"}, {name: "stand", chance: "60-80"}, {name: "jumpAside", chance: "80-100"}]
|
||
};
|
||
this.walk_Left = { start: undefined, end: undefined,
|
||
reaction: [{name: "walk", chance: "0-50"}, {name: "jumpAsidePunch", chance: "50-60"}, {name: "stand", chance: "60-80"}, {name: "jumpAside", chance: "80-100"}]
|
||
};
|
||
this.kick_Right_Up = { start: undefined, end: undefined, once: true, damage: 1, cool_down: 4,
|
||
reaction: [{name: "block", chance: "0-50"}, {name: "punch", chance: "50-80"}, {name: "stand", chance: "80-100"}]
|
||
};
|
||
this.kick_Left_Up = { start: undefined, end: undefined, once: true, damage: 1, cool_down: 4,
|
||
reaction: [{name: "block", chance: "0-50"}, {name: "punch", chance: "50-80"}, {name: "stand", chance: "80-100"}]
|
||
};
|
||
this.jumpAside_Right = {};
|
||
this.jumpAside_Left = {};
|
||
this.jumpAsidePunch_Right = {};
|
||
this.jumpAsidePunch_Left = {};
|
||
this.walkAway_Right = {};
|
||
this.walkAway_Left = {};
|
||
}
|
||
} |