[proto] update message names

This commit is contained in:
2018-05-15 15:06:34 +03:00
parent 13c1299bf0
commit 33b0693a4e
69 changed files with 211 additions and 143 deletions

View File

@@ -4,9 +4,14 @@ import ru.m.draw.Color;
import ru.m.tankz.Type;
typedef CompleteRule = {
@:optional var team:TeamId;
}
typedef GameConfig = {
var levels: Int;
var friendlyFire:Bool;
var complete:Array<CompleteRule>;
}
typedef SpawnPoint = {

View File

@@ -14,11 +14,15 @@ class Entity implements IKey {
public function new(rect:Rectangle) {
this.id = ++idCounter;
this.type = Type.getClassName(Type.getClass(this)).split('.').pop();
this.type = Type.getClassName(Type.getClass(this)).split('.').pop().toLowerCase();
this.rect = rect;
}
private function get_key():String {
return '$type:$id';
}
public function toString():String {
return key;
}
}

View File

@@ -1,7 +1,5 @@
package ru.m.tankz.game;
import ru.m.tankz.control.IControlFactory;
import ru.m.tankz.game.GameSave.PlayerSave;
import haxe.ds.Option;
import haxe.Timer;
import haxework.provider.Provider;
@@ -13,6 +11,7 @@ import ru.m.tankz.bundle.IConfigBundle;
import ru.m.tankz.bundle.ILevelBundle;
import ru.m.tankz.config.Config;
import ru.m.tankz.control.Control;
import ru.m.tankz.control.IControlFactory;
import ru.m.tankz.core.Bonus;
import ru.m.tankz.core.Eagle;
import ru.m.tankz.core.Entity;
@@ -232,6 +231,11 @@ class Game {
}
public function next():Option<GameState> {
for (rule in config.game.complete) {
if (rule.team != null && rule.team == state.loser) {
return Option.None;
}
}
state.level++;
if (state.level >= config.game.levels) state.level = 0;
return Option.Some({type: state.type, presetId: preset.id, level: state.level});

View File

@@ -0,0 +1,26 @@
package ru.m.tankz.network;
import ru.m.tankz.proto.game.GameChangeProto;
import ru.m.tankz.proto.core.GameProto;
import ru.m.tankz.Type;
import ru.m.tankz.game.Game;
class NetworkGame extends Game {
public function new(type:GameType) {
super(type);
}
public function load(proto:GameProto):Void {
// ToDo:
}
public function update(changes:Array<GameChangeProto>):Void {
}
public function export():GameProto {
return null;
}
}

View File

@@ -1,12 +1,9 @@
package ru.m.tankz.game;
package ru.m.tankz.preset;
import haxe.ds.Option;
import ru.m.tankz.game.Game;
import ru.m.tankz.game.GameState;
import ru.m.tankz.Type;
class ClassicGame extends Game {
class ClassicGame extends GamePreset {
public static var TYPE(default, never):GameType = 'classic';
@@ -17,13 +14,6 @@ class ClassicGame extends Game {
public static var PLAYER2(default, never):PresetId = 'player2';
public function new() {
super(TYPE);
}
override public function next():Option<GameState> {
if (state.loser == HUMAN) {
return Option.None;
}
return super.next();
super(TYPE, [HUMAN, BOT], [PLAYER1, PLAYER2]);
}
}

View File

@@ -1,10 +1,9 @@
package ru.m.tankz.game;
package ru.m.tankz.preset;
import ru.m.tankz.game.Game;
import ru.m.tankz.Type;
class DotaGame extends Game {
class DotaGame extends GamePreset {
public static var TYPE(default, never):GameType = 'dota';
@@ -16,6 +15,6 @@ class DotaGame extends Game {
public static var PLAYER2_VS(default, never):PresetId = 'player2_vs';
public function new() {
super(TYPE);
super(TYPE, [RADIANT, DIRE], [PLAYER1, PLAYER2_COOP, PLAYER2_VS]);
}
}

View File

@@ -0,0 +1,17 @@
package ru.m.tankz.preset;
import ru.m.tankz.Type;
class GamePreset {
public var type(default, null):GameType;
public var teams(default, null):Array<TeamId>;
public var presets(default, null):Array<PresetId>;
public function new(type:GameType, teams:Array<TeamId>, presets:Array<PresetId>) {
this.type = type;
this.teams = teams;
this.presets = presets;
}
}

View File

@@ -3,21 +3,35 @@ syntax = "proto3";
package ru.m.tankz.proto.core;
message User {
message UserProto {
string uuid = 1;
string name = 2;
}
enum GameState {
enum GameStateProto {
READY = 0;
STARTED = 1;
ENDED = 2;
}
message Game {
message BrickProto {
string type = 1;
}
message EntityProto {
string type = 1;
}
message GameInfoProto {
int32 id = 1;
string type = 2;
User creator = 3;
repeated User players = 4;
GameState state = 5;
UserProto creator = 3;
repeated UserProto players = 4;
GameStateProto state = 5;
}
message GameProto {
GameInfoProto info = 1;
repeated BrickProto map = 2;
repeated EntityProto entities = 3;
}

View File

@@ -3,18 +3,13 @@ syntax = "proto3";
package ru.m.tankz.proto.game;
enum GameActionType {
enum GameActionTypeProto {
MOVE = 0;
SHOT = 1;
STOP = 2;
}
enum GameObjectType {
TANK = 0;
BULLET = 1;
}
enum GameChangeType {
enum GameChangeTypeProto {
MOVED = 0;
DESTROED = 1;
MODIFIED = 2;
@@ -22,12 +17,12 @@ enum GameChangeType {
DIRECTION = 4;
}
message GameChange {
GameChangeType type = 1;
GameObjectType objectType = 2;
int32 objectId = 3;
message GameChangeProto {
GameChangeTypeProto type = 1;
string entityType = 2;
int32 entityId = 3;
float x = 4;
float y = 5;
int32 directionX = 6;
int32 directionY = 7;
}
}

View File

@@ -18,7 +18,7 @@ message LoginRequest {
}
message LoginResponse {
ru.m.tankz.proto.core.User user = 1;
ru.m.tankz.proto.core.UserProto user = 1;
}
// Logout
@@ -30,7 +30,7 @@ message LogoutResponse {}
message ListGameRequest {}
message ListGameResponse {
repeated ru.m.tankz.proto.core.Game games = 1;
repeated ru.m.tankz.proto.core.GameInfoProto games = 1;
}
// Create Game
@@ -39,7 +39,7 @@ message CreateGameRequest {
}
message CreateGameResponse {
ru.m.tankz.proto.core.Game game = 1;
ru.m.tankz.proto.core.GameInfoProto game = 1;
}
// Join Game
@@ -48,32 +48,32 @@ message JoinGameRequest {
}
message JoinGameResponse {
ru.m.tankz.proto.core.Game game = 1;
ru.m.tankz.proto.core.GameInfoProto game = 1;
}
// Leave Game
message LeaveGameRequest {}
message LeaveGameResponse {
ru.m.tankz.proto.core.Game game = 1;
ru.m.tankz.proto.core.GameInfoProto game = 1;
}
// Start Game
message StartGameRequest {}
message StartGameResponse {
ru.m.tankz.proto.core.Game game = 1;
ru.m.tankz.proto.core.GameInfoProto game = 1;
}
// Game Update
message GameUpdateRequest {
ru.m.tankz.proto.game.GameActionType type = 1;
ru.m.tankz.proto.game.GameActionTypeProto type = 1;
int32 directionX = 2;
int32 directionY = 3;
}
message GameUpdateResponse {
repeated ru.m.tankz.proto.game.GameChange changes = 1;
repeated ru.m.tankz.proto.game.GameChangeProto changes = 1;
}
// Request

View File

@@ -0,0 +1,185 @@
game:
levels: 36
friendlyFire: false
complete:
- team: human
map:
cellWidth: 22
cellHeight: 22
gridWidth: 26
gridHeight: 26
bricks:
- {type: border, index: -1, layer: 2, armor: -1}
- {type: none, index: 0, layer: 0, armor: 0}
- {type: ace, index: 1, layer: 0, armor: 0}
- {type: bush, index: 2, layer: 3, armor: 0}
- {type: water, index: 3, layer: 1, armor: 0}
- {type: armor, index: 4, layer: 2, armor: 2}
- {type: brick, index: 5, layer: 2, armor: 1}
player:
human: &human
control: human
life: 3
protect: 5
tanks:
- {type: human0, rate: 1}
bot: &bot
control: bot
color: 0xFFFFFF
bonus: 0.25
tanks:
- {type: bot0, rate: 0.25}
- {type: bot1, rate: 0.25}
- {type: bot2, rate: 0.25}
- {type: bot3, rate: 0.25}
presets:
# player1
- id: player1
teams:
- id: human
players:
- {<<: *human, index: 0, color: 0xFFFF00}
- id: bot
spawnInterval: 3000
life: 20
players:
- {<<: *bot, index: 0}
- {<<: *bot, index: 1}
- {<<: *bot, index: 2}
- {<<: *bot, index: 3}
# player2
- id: player2
teams:
- id: human
players:
- {<<: *human, index: 0, color: 0xFFFF00}
- {<<: *human, index: 1, color: 0x15C040}
- id: bot
spawnInterval: 3000
life: 20
players:
- {<<: *bot, index: 0}
- {<<: *bot, index: 1}
- {<<: *bot, index: 2}
- {<<: *bot, index: 3}
- {<<: *bot, index: 4}
- {<<: *bot, index: 5}
points:
- {team: human, type: eagle, index: -1, direction: right, x: 12, y: 24}
- {team: human, type: tank, index: 0, direction: top, x: 8, y: 24}
- {team: human, type: tank, index: 1, direction: top, x: 16, y: 24}
- {team: bot, type: tank, index: -1, direction: bottom, x: 0, y: 0}
- {team: bot, type: tank, index: -2, direction: bottom, x: 12, y: 0}
- {team: bot, type: tank, index: -3, direction: bottom, x: 24, y: 0}
bullet: &bullet
width: 12
height: 12
speed: 0
piercing: 1
tanks:
- type: human0
upgrade: human1
width: 36
height: 36
speed: 2.5
bullet:
<<: *bullet
speed: 8.0
bullets: 1
skin: pa
- type: human1
upgrade: human2
width: 40
height: 36
speed: 3.0
bullet:
<<: *bullet
speed: 8.5
bullets: 1
skin: pb
- type: human2
upgrade: human3
width: 40
height: 36
speed: 3.0
bullet:
<<: *bullet
speed: 9.0
bullets: 2
skin: pc
- type: human3
upgrade: human3
downgrade: human2
width: 42
height: 38
speed: 2.9
bullet:
<<: *bullet
speed: 9.0
piercing: 3
bullets: 2
skin: pd
- type: bot0
width: 38
height: 36
speed: 2.0
bullet:
<<: *bullet
speed: 7.0
bullets: 1
score: 100
skin: ba
- type: bot1
width: 40
height: 36
speed: 4.0
bullet:
<<: *bullet
speed: 7.0
bullets: 1
score: 200
skin: bb
- type: bot2
width: 38
height: 36
speed: 2.0
bullet:
<<: *bullet
speed: 9.0
bullets: 1
score: 300
skin: bc
- type: bot3
width: 40
height: 36
speed: 1.8
bullet:
<<: *bullet
speed: 8.0
bullets: 1
score: 400
hits: 3
skin: bd
bonuses:
- {score: 500, type: clock, duration: 10}
- {score: 500, type: grenade}
- {score: 500, type: helmet, duration: 20}
- {score: 500, type: life}
- {score: 500, type: shovel, duration: 10}
- {score: 500, type: star}

View File

@@ -0,0 +1 @@
00000000000000000000000000

View File

@@ -0,0 +1,26 @@
00000000000000000000000000
00000000000000000000000000
00550055005500550055005500
00550055005500550055005500
00550055005500550055005500
00550055005500550055005500
00550055005544550055005500
00550055005544550055005500
00550055005500550055005500
00550055000000000055005500
00550055000000000055005500
00000000005500550000000000
00000000005500550000000000

View File

@@ -0,0 +1,26 @@
00000044000000440000000000
00000044000000440000000000
00550044000000550055005500
00550044000000550055005500
00550000000055550055445500
00550000000055550055445500
00000055000000000044000000
00000055000000000044000000
22000055000044000055225544
22000055000044000055225544
22220000005500004455220000
22220000005500004400220000
00555555222222440000225500

View File

@@ -0,0 +1,26 @@
00000000550000005500000000
00000000550000005500000000
00222222550000000000000000
00222222550000000000444444
55222222000000000000000000
55222222000000000000000000
22222222000000550055555550
22222222000000550055555550
22222222555555550055000500
22222222555555000055000500
22222222000055000000000500
22222222000055000000000500
00220000000044444400002200

View File

@@ -0,0 +1,26 @@
00222200000000000000002200
00222200000000000000002200
22220000005555000000000022
22220000555555555500000022
22000005555555555555000044
22000005555555555555550000
44000055555555555555555000
00000055555555555555555000
00000555000000555555005000
00000500000000005555005000
33000500400040005550000000
33000500400040005550000000
00005500000000005550003333

View File

@@ -0,0 +1,26 @@
00000000555500000000000000
00000000555500000000000000
00000000550000004444440000
44005500550000000000440000
44005500000055000000000000
44005500000055000000000000
55005555550055550033330033
55005555550055550033330033
55000000550000000033000000
00000000000000000033000000
00000000333300333333005555
00005500333300333333005555
55550000335500555000000000

View File

@@ -0,0 +1,26 @@
00000000000500502222000000
00000000000500502222000000
00500400500000000522500522
00500400500000000522500522
00500400500055000522500522
00500400500055000522500522
00550000550044005522005522
00550000550044005522005522
00000005440055005540002222
00000005000055000040002222
55555000002255220000055555
55555000002255220000055555
00000000052222225000000000

View File

@@ -0,0 +1,26 @@
00000000000000444400000000
00000000000000000000000000
00004444444400000000440000
00004400000000000000440000
00004400000022004444440000
00004400000022000044440000
00440000002244000000440000
00440000002244000000440000
00000000224444000000444400
00000000224444000000004400
00440022444444004400000000
00440022444444004400000000
00040044440000004444000000

View File

@@ -0,0 +1,26 @@
00005500005500000055000000
00005500005500550055000000
22555555005500000055500000
22555555005500440055500000
22222200005500550055000550
22222200000000550000000550
22333333333333333333330033
22333333333333333333330033
00550000000000000000000000
00550000000055550000000000
00005500000555555555554444
00005500000555550055000000
55550055000555552255000055

View File

@@ -0,0 +1,26 @@
00000055000000000000220000
00000055000000000044220000
55000000000000220444400055
55000000000044220444400055
00000000220444400044220000
00000044220444400000220000
00000444400044220000000000
00000444400000220000000000
00000044220000000000000000
00000000220000000000000000
00000022002200220022000000
00000022442200224422000000
44550004444000044440005544

View File

@@ -0,0 +1,26 @@
00000000000000000000000000
00000000000000000000000000
00055555000000000000555550
00050055000000000000550050
05550000550022220055000005
05000000550022220055000005
55000000552222222255000005
55000000552222222255000005
55000005552244442255500055
55000005552244442255500055
05000055333333333333555555
05555555333333333333555555
00555555444455444455555550

View File

@@ -0,0 +1,26 @@
00000000004400550055550000
00000000004400550055550000
00055555555500550000000000
00055555555500550000000000
00000050005500555500222222
00000050005500555500222222
00050000000000440022222222
00050000000000440022222222
00050055555544555522225544
00050055555544555522220044
00555555440000550022220005
00000000440000550022220005
05555555004422222222220000

View File

@@ -0,0 +1,26 @@
00000000000000555555000000
00000000000000555555000000
00555555000000000055000000
00555555550055000055000000
00000000550055000000005555
00000000550000000000005555
00333333333300555000005544
00333333333300555000005500
00000000003300550044405500
00004444443300550044405500
55005555553333330033555500
55005555553333330033555500
00000000443300000033440000

View File

@@ -0,0 +1,26 @@
00000000000000000000000000
00000000550000005500000000
00555555550000005555555500
00555555550000005555555500
00550000000055000000004400
00550000000055000000004400
00440055550000005555005555
00440055000000000055005555
00550050220044002205004455
00550050224444442205004455
00550000222222222200004455
00000000222222222200000055
55000000222222222200000055

View File

@@ -0,0 +1,26 @@
00000000000000000000000000
00000000000000000000000000
22220000005555550000002222
22220000555555555500002222
22000005555555555550000022
22000005555555555550000022
00000055552255225555000000
00000055552255225555000000
00000055222255222255000000
00000055222255222255000000
22000055555555555555000022
22000055555555555555000022
22220000552255225500002222

View File

@@ -0,0 +1,26 @@
00000000555500005500000000
00000000555500005500000000
00222255550000005500000000
00222255550000005500000000
22222222222222225555000000
22222222222222225555000000
22445522555555222222225544
22005522555555222222225544
22225522222244222255405500
22225522222200222255405500
00222255002222222255005500
00222255442222222255005500
00555555555522225555502222

View File

@@ -0,0 +1,26 @@
00000000000000000000000000
00000000000000000000000000
00004422440000000000000000
00004422440000000000000000
00000022002200000000000000
00000022002244000000000000
00220000000022000000000000
00220000000022550000000000
00222200002200220000000000
00222200002200224400000000
00220022002200002200000000
00220022002200002255000000
00220000220000002222000000

View File

@@ -0,0 +1,26 @@
00000000000000000000000000
00000000550000000000550000
00550055550000111111555500
00550055550000111111555500
00550000550044111111111100
00550000550044111111111100
11111140550000551111111100
11111140550000551111111100
11111111111155550550000000
11111111111155550550000000
00000411111111550550004444
00000411111111550550000000
55555555111111111111115555

View File

@@ -0,0 +1,26 @@
00000000000000004444442200
00000000000000004444442200
00550000000000004400004400
00550000000000004400004400
55225500000055555555004400
55225500000055555555004400
00552255000055002255444400
00552255000055002255444400
00005500224455220055000000
00005500224455220055000000
00000000440055445555000000
00000000440055445555000000
00005555445500440000000000

View File

@@ -0,0 +1,26 @@
00550055005500550055005500
00550055005500550055005500
00550055005500550055005500
00550055005500550055005500
00440044004400440044004400
00000000000000000000000000
00000000550000005500000000
55005500550000005500550055
55005555550055005555550055
55005500550055005500550055
44004400440044004400440044
00000000440000004400000000
22220000550022005500002222

View File

@@ -0,0 +1,26 @@
00000033005500005500550000
00000033005500005500550000
00000000000000005500440000
00000000000000005500440000
00000033000044005500550000
00000033005544005500550000
44005533004400005500550000
00005533004400550000550000
00005533000000550000000000
00005533000000550000000000
55005533330033333333000055
55005533330033333333000055
00000000000000220033004444

View File

@@ -0,0 +1,26 @@
00000000000000000000000000
00000055555500005500000000
00005555555555555555000000
00555555555555555555000000
00222222222222222255550000
00222222222222222255550000
22220000000000002222555500
22220000000000002222555500
22004400004400000022222200
22004400004400000022222200
22004400004400000022222200
22004400004400000022222200
22000022000000002222555550

View File

@@ -0,0 +1,26 @@
00000000002200000000000000
00000000002200000000000000
00000000224422000000000000
00000000224422000000000000
00002200002200002222000000
00002200002200002222000000
00225522000000225555220000
00225522000000225555220000
00002255220000002222000022
00002255220000002222000022
22000022000022000000002244
22000022000022000000002244
55220000002244220000220022

View File

@@ -0,0 +1,26 @@
00000000000000000000000000
00000000000000000000000000
00000000004444000000000000
00000000004444000000000000
00000000000044000000000000
00000000000044000000000000
00444422225544552222444400
00444422225544552222444400
00000044222244222244000000
00000044222244222244000000
22000000442222224400000022
22000000442222224400000022
44220000002222220000002244

View File

@@ -0,0 +1,26 @@
00004400554400000000550000
00004400550000000000550000
00005500552200555555550000
00005500552200005555550000
00222200552205500000004444
00222200552205500000004444
22222222222255555500055500
22222222222255555500055500
00002222000044550005555505
00002222555500550005550005
55440000555500000055550005
55000055000000000055000005
05000055111111111111111111

View File

@@ -0,0 +1,26 @@
00000044005500550055004400
00000044005500550055004400
00550055000000000044000000
00550055000000000044000000
00550055000044000044004444
00550055000044000044004444
00550000005500445500000044
00550000005500445500000044
00000000555500555500440000
00000000555500555500440000
00004400550000555500555500
00004400550000555500555500
44004400005500440000445500

View File

@@ -0,0 +1,26 @@
00003333000000000000000000
00003333000000000000000000
00000033220050000000000000
44000033220050000000000000
22000000000040005000333300
22440000000040005000333300
22220044000500004022330000
22220000550500004022330000
22222200004400050000000000
22222200004455050000000044
22224400000500440000000022
22220044000500445500004422
22440000554400050044002222

View File

@@ -0,0 +1,26 @@
00000000440000000000000000
00000000440000000000000000
44440000440000444400000000
44440000440000444400000000
00440000440000004400444422
00440000440000004400444422
00440000444444002200440000
00440000444444002200440000
00550000000044004444440000
00550000000044004444440000
22444400445544555500000000
22444400445544555500000000
00004422442200005500004444

View File

@@ -0,0 +1,26 @@
00000000000000000000044000
00000000000000000000044000
00000000000000000000440000
00000000000044000000440000
00000000000022000055500000
00000000005522550055500000
00000000002222220055500000
00000000442222224455500000
00000000222211222255500000
00000055222211222255500000
00000022221111112222500000
00004422221111112222500000
00002222111111111122220000

View File

@@ -0,0 +1,26 @@
00000000000000000000550000
00000000000000000000550000
00553333004400550000000000
00553333004400550000000000
00003333552222223333004400
00003333552222223333004400
00000000002222223333550000
00000000002222223333550000
00440000333300220000000000
00440000333300220000000000
22225500333344000000005500
22225500333344000000005500
22222200000000000044000044

View File

@@ -0,0 +1,26 @@
00000000000000000000000000
00000000000000000000000000
00000000000000000000000000
00000000005555000000440000
00000000002222000000220000
00444400552222440055225500
00222200222222220022222200
55222255222222225522222255
22222222222222222222222222
22222222222222222222222222
44223322222222223322222222
44223322222222223322222222
22223333332222223333332244

View File

@@ -0,0 +1,26 @@
00000033000000003300000000
00000033000000003300000000
33330033003333333300333333
33330033003333333300333333
22225500005500003300332233
22225500005500003300332233
22333333330044000055222222
22333333330044000055222222
22220033000033003333333322
22220033000033003333333322
33330033003333000033000000
33330033003333000033000000
00005522550055220033000033

View File

@@ -0,0 +1,26 @@
00111111111100111111111100
00111111111100111111111100
11111111111111111111111111
11111111111111111111111111
11111155111111111155111111
11111155111111111155111111
11550055005511550055005511
11550055005511550055005511
11555555000000000055555511
11000055000000000055000011
11111155005544550055111111
11111155555544555555111111
44111111004400440011111144

View File

@@ -0,0 +1,26 @@
00000000440000000044000000
00000000440000000044000000
00440000004400004422220000
00440000004400004422220000
00004400000000442200400000
00004400000000442244400000
00000044002222222222000400
00000044002222222222000400
00400000442222442200004400
00400000442222442200004400
00444022004422224400000400
00004022004422224400000400
00002222222222000044000000

View File

@@ -0,0 +1,26 @@
00000000500500000000000000
00000000500500000000000000
50505005005000005050000000
50505005005000005050000000
50505055550000005055500000
50505055550000005055500000
05050055500000055055550000
05050055500000055055550000
00500055055000505555550000
00500055055000505555550000
00500500005550550505550000
00500500005550550505550000
00500000055555500050550000

View File

@@ -0,0 +1,26 @@
00000000000000000000000000
00000000000000000000000000
00000000550055000000000000
00000000550055000000000000
22000022552255220000220000
22000022552255220000220000
55222255555555552222552200
55222255555555552222552200
55555555445544555555552200
55555555445544555555552200
33333355555555553333332200
33333355555555553333332200
33555555555555555555333322

View File

@@ -0,0 +1,143 @@
game:
levels: 8
friendlyFire: true
complete: []
map:
cellWidth: 22
cellHeight: 22
gridWidth: 40
gridHeight: 30
bricks:
- {type: border, index: -1, layer: 2, armor: -1}
- {type: none, index: 0, layer: 0, armor: 0}
- {type: ace, index: 1, layer: 0, armor: 0}
- {type: bush, index: 2, layer: 3, armor: 0}
- {type: water, index: 3, layer: 1, armor: 0}
- {type: armor, index: 4, layer: 2, armor: 2}
- {type: brick, index: 5, layer: 2, armor: 1}
player:
base: &player
control: bot
protect: 3
tanks:
- {type: slow, rate: 0.5}
- {type: fast, rate: 0.5}
human1: &human1
<<: *player
control: human
color: 0xf055a0
human2: &human2
<<: *player
control: human
color: 0xa055f0
team:
base: &team
life: 20
players:
- {<<: *player, index: 0}
- {<<: *player, index: 1}
- {<<: *player, index: 2}
- {<<: *player, index: 3}
- {<<: *player, index: 4}
radiant: &radiant
id: radiant
color: 0xff4422
<<: *team
dire: &dire
id: dire
color: 0x2244ff
<<: *team
presets:
# player1
- id: player1
teams:
- <<: *radiant
players:
- {<<: *human1, index: 0}
- {<<: *player, index: 1}
- {<<: *player, index: 2}
- {<<: *player, index: 3}
- {<<: *player, index: 4}
- <<: *dire
# player2_coop
- id: player2_coop
teams:
- <<: *radiant
players:
- {<<: *human1, index: 0}
- {<<: *human1, index: 1}
- {<<: *player, index: 2}
- {<<: *player, index: 3}
- {<<: *player, index: 4}
- <<: *dire
# player2_vs
- id: player2_vs
teams:
- <<: *radiant
players:
- {<<: *human1, index: 0}
- {<<: *player, index: 1}
- {<<: *player, index: 2}
- {<<: *player, index: 3}
- {<<: *player, index: 4}
- <<: *dire
players:
- {<<: *human2, index: 0}
- {<<: *player, index: 1}
- {<<: *player, index: 2}
- {<<: *player, index: 3}
- {<<: *player, index: 4}
points:
- {team: radiant, type: eagle, index: -1, direction: right, x: 0, y: 28}
- {team: radiant, type: tank, index: 0, direction: right, x: 0, y: 0}
- {team: radiant, type: tank, index: 1, direction: right, x: 6, y: 10}
- {team: radiant, type: tank, index: 2, direction: right, x: 6, y: 16}
- {team: radiant, type: tank, index: 3, direction: right, x: 6, y: 22}
- {team: radiant, type: tank, index: 4, direction: right, x: 10, y: 28}
- {team: dire, type: eagle, index: -1, direction: right, x: 38, y: 0}
- {team: dire, type: tank, index: 0, direction: left, x: 38, y: 28}
- {team: dire, type: tank, index: 1, direction: left, x: 32, y: 18}
- {team: dire, type: tank, index: 2, direction: left, x: 32, y: 12}
- {team: dire, type: tank, index: 3, direction: left, x: 32, y: 6}
- {team: dire, type: tank, index: 4, direction: left, x: 28, y: 0}
bullet: &bullet
width: 12
height: 12
speed: 0
piercing: 1
tanks:
- type: slow
width: 38
height: 36
speed: 2.3
bullet:
<<: *bullet
speed: 12.0
bullets: 1
skin: bc
- type: fast
width: 40
height: 36
speed: 4.0
bullet:
<<: *bullet
speed: 8.0
bullets: 1
skin: bb
bonuses:
- {type: clock, duration: 10}
- {type: grenade}
- {type: helmet, duration: 20}
- {type: life}
- {type: shovel, duration: 10}
- {type: star}

View File

@@ -0,0 +1,2 @@
points: [{index: -1, team: radiant, x: 0, direction: right, type: eagle, y: 28}, {index: 0, team: radiant, x: 0, direction: right, type: tank, y: 0}, {index: 1, team: radiant, x: 6, direction: right, type: tank, y: 10}, {index: 2, team: radiant, x: 6, direction: right, type: tank, y: 16}, {index: 3, team: radiant, x: 6, direction: right, type: tank, y: 22}, {index: 4, team: radiant, x: 10, direction: right, type: tank, y: 28}, {index: -1, team: dire, x: 38, direction: right, type: eagle, y: 0}, {index: 0, team: dire, x: 38, direction: left, type: tank, y: 28}, {index: 1, team: dire, x: 32, direction: left, type: tank, y: 18}, {index: 2, team: dire, x: 32, direction: left, type: tank, y: 12}, {index: 3, team: dire, x: 32, direction: left, type: tank, y: 6}, {index: 4, team: dire, x: 28, direction: left, type: tank, y: 0}]
data: "000044000000000000000000005500004400550000004400000000000000000000550000440055000000440000004400003333000055000044005555000044000000440000333300005500004400555500004422442244000000000000550000440000000000442244224400000000000055000044000000000000000000444444555544444400442200330000000000000044444455554444440044220033005555333333554422220000222244000022003300555533333355442222000022224400002200330000000000000044220000000022440000440033000000000000004422000000002244000044003300000000000000550000555500005500002200000000000000000055000055550000550000220000004444444400005500445555440055000044444444444444440000550044555544005500004444444400000022000055000055550000550000000000000000002200005500005555000055000000000000003300440000442200000000224400000000000000330044000044220000000022440000000000000033002200004422220000222244553333335555003300220000442222000022224455333333555500330022440044444455554444440000000000000033002244004444445555444444000000000000000000440000550000000000004422442244000000000044000055000000000000442244224400005555004400005500003333000044000000440000555500440000550000333300004400000044000000550044000055000000000000000000004400000055004400005500000000000000000000440000"

View File

@@ -0,0 +1,2 @@
points: [{index: -1, direction: right, team: radiant, type: eagle, y: 28, x: 0}, {index: 0, direction: right, team: radiant, type: tank, y: 2, x: 2}, {index: 1, direction: right, team: radiant, type: tank, y: 6, x: 2}, {index: 2, direction: right, team: radiant, type: tank, y: 10, x: 2}, {index: 3, direction: right, team: radiant, type: tank, y: 14, x: 2}, {index: 4, direction: right, team: radiant, type: tank, y: 18, x: 2}, {index: -1, direction: right, team: dire, type: eagle, y: 28, x: 38}, {index: 0, direction: left, team: dire, type: tank, y: 2, x: 36}, {index: 1, direction: left, team: dire, type: tank, y: 6, x: 36}, {index: 2, direction: left, team: dire, type: tank, y: 10, x: 36}, {index: 3, direction: left, team: dire, type: tank, y: 14, x: 36}, {index: 4, direction: left, team: dire, type: tank, y: 18, x: 36}]
data: "005500330033003300333300330033003300550000550033003300330033330033003300330055000000000000330033000000003300330000000000000000000033003300000000330033000000000000550033000000330000000033000000330055000055003300000033000000003300000033005500000000330000003300333300330000003300000000000033000000330033330033000000330000000055000000330033003333003300330000005500005500000033003300333300330033000000550000000033003300330033330033003300330000000000003300330033003333003300330033000000005500330000003300333300330000003300550000550033000000330033330033000000330055000000000000330033003333003300330000000000000000000033003300333300330033000000000000550033003300330033330033003300330055000055003300330033003333003300330033005500000000330033003300333300330033003300000000000033003300330033330033003300330000005555553300330033003333003300330033555555555555330033003300333300330033003355555555555533003300330033330033003300335555555555553300330033003333003300330033555555440000330033000000333300000033000000004444000033003300000033330000003300000000440000443300330000003333000000330033440000000044330033000000333300000033003344000000440033003300330033330033003300330044000044003300330033003333003300330033004400"

View File

@@ -0,0 +1,2 @@
data: "000000000000000000000000000000440000000000000000000000000000000000000044000000000044003300005500440000440055000000000000004400330000550044000044005500000000000000000000440000000000000000000055004400000000000044000000000000000000005500440000003300000000330044003300440000000000000000330000000033004400330044000000000000000000440055000000000000000000005500003300000044005500000000000000000000550000330000000000000055000044005500440000004400000000000000005500004400550044000000440000555500003300000000000000000000000000555555550000330000000000000000000000000055550055440000004400330000000000003300445500005544000000440033000000000000330044550055550000440000000044004400550000000055555555000044000000004400440055000000005555000000000000000000000000000044000044000000000000000000000000000000004400004400000044000044000044005500004400000000000000004400004400004400550000440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003300000000550000330055003300005500440000330000000055000033005500330000550044000000440033000000440000000000440000000000000044003300000044000000000044000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
points: [{direction: right, team: radiant, x: 0, type: eagle, y: 14, index: -1}, {direction: right, team: radiant, x: 0, type: tank, y: 0, index: 0}, {direction: right, team: radiant, x: 6, type: tank, y: 10, index: 1}, {direction: right, team: radiant, x: 6, type: tank, y: 16, index: 2}, {direction: right, team: radiant, x: 6, type: tank, y: 22, index: 3}, {direction: right, team: radiant, x: 10, type: tank, y: 28, index: 4}, {direction: right, team: dire, x: 38, type: eagle, y: 14, index: -1}, {direction: left, team: dire, x: 38, type: tank, y: 28, index: 0}, {direction: left, team: dire, x: 32, type: tank, y: 18, index: 1}, {direction: left, team: dire, x: 32, type: tank, y: 12, index: 2}, {direction: left, team: dire, x: 32, type: tank, y: 6, index: 3}, {direction: left, team: dire, x: 28, type: tank, y: 0, index: 4}]

View File

@@ -0,0 +1,2 @@
points: [{index: -1, direction: right, team: radiant, x: 24, type: eagle, y: 26}, {index: 0, direction: right, team: radiant, x: 14, type: tank, y: 26}, {index: 1, direction: right, team: radiant, x: 20, type: tank, y: 20}, {index: 2, direction: right, team: radiant, x: 26, type: tank, y: 20}, {index: 3, direction: right, team: radiant, x: 34, type: tank, y: 24}, {index: 4, direction: right, team: radiant, x: 38, type: tank, y: 22}, {index: -1, direction: right, team: dire, x: 22, type: eagle, y: 2}, {index: 0, direction: left, team: dire, x: 8, type: tank, y: 2}, {index: 1, direction: left, team: dire, x: 12, type: tank, y: 6}, {index: 2, direction: left, team: dire, x: 20, type: tank, y: 6}, {index: 3, direction: left, team: dire, x: 21, type: tank, y: 10}, {index: 4, direction: left, team: dire, x: 28, type: tank, y: 4}]
data: "444444444400000000440000004444000000000044444444440000000044000000444400000000004444440000004444004400000044440033444400444444000000444400440000004444003344440000000000440000440044000000000000000000000000000044000044004400000000000000000000003344004400000000000044004444440000444400334400440000000000004400444444000044440000000000004400444444440033440000005544000000000000440044444444003344000000554444004433440044444400000000004400440000004400443344004444440000000000440044000000440000000000004444004444440044004444440044000000000000444400444444004400444444000000440055440044440044440000000055444400000044005544004444004444000000005544440000444400444400000000000000443300000000000044440044440000000000000044330000000000000044004444003300444444004444004433004400004400444400330044444400444400443300444400000000000033000000000000000044000000440000000000003300000000000000004400000044440044004444444400444444440000440044004444004400444444440044444444000044004400000000000000440000000000000000000000440000000000000044000000000000000000000044004455003344000000440044000000440033444400445500334400000044004400000044003344440044440000000044000000440000004400000000004444000000004400000044000000440000000000"

View File

@@ -0,0 +1,2 @@
points: [{index: -1, direction: right, team: radiant, x: 12, type: eagle, y: 2}, {index: 0, direction: right, team: radiant, x: 6, type: tank, y: 6}, {index: 1, direction: right, team: radiant, x: 10, type: tank, y: 10}, {index: 2, direction: right, team: radiant, x: 14, type: tank, y: 10}, {index: 3, direction: right, team: radiant, x: 18, type: tank, y: 6}, {index: 4, direction: right, team: radiant, x: 20, type: tank, y: 2}, {index: -1, direction: right, team: dire, x: 22, type: eagle, y: 26}, {index: 0, direction: left, team: dire, x: 12, type: tank, y: 26}, {index: 1, direction: left, team: dire, x: 18, type: tank, y: 22}, {index: 2, direction: left, team: dire, x: 24, type: tank, y: 22}, {index: 3, direction: left, team: dire, x: 28, type: tank, y: 18}, {index: 4, direction: left, team: dire, x: 30, type: tank, y: 10}]
data: "000000000033333300000000000000000000000000000000003333330000000000000000000000000000004400330033004400000000003300000044000000440033003300440000000000330000004400000000003333330000000044440000000000000000000000333333000000004444000000000000000000000000000000003300000000004444000000000000000000000000330000000000444400000044000000004400000000004400000044000000004400000000440000000000440000004400000000000033000000000000004444000000000000000000003300000000000000444400000000000000000000000000330000440000000033000000000000000000000033000044000000003300000000000000000000000000444400004400000000000000000000000000000044440000440000000000000000000000334444004444000000000044000000000000000033444400444400000000004400000000004400000044000000000000330000440000000000440000004400000000000033000044000000000000440000000000330000440000000000000033000044000000000033000044000000000000003300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044000000003333330000000033000000000000004400000000333333000000003300000000000000000000440033003300440000000000000000000000000044003300330044000000000000000000000000000000333333000000000000000000000000000000000033333300000000000000"

View File

@@ -0,0 +1,2 @@
points: [{index: -1, direction: right, team: radiant, x: 19, type: eagle, y: 28}, {index: 0, direction: right, team: radiant, x: 0, type: tank, y: 28}, {index: 1, direction: right, team: radiant, x: 10, type: tank, y: 22}, {index: 2, direction: right, team: radiant, x: 19, type: tank, y: 18}, {index: 3, direction: right, team: radiant, x: 28, type: tank, y: 22}, {index: 4, direction: right, team: radiant, x: 38, type: tank, y: 28}, {index: -1, direction: right, team: dire, x: 19, type: eagle, y: 0}, {index: 0, direction: left, team: dire, x: 0, type: tank, y: 0}, {index: 1, direction: left, team: dire, x: 10, type: tank, y: 6}, {index: 2, direction: left, team: dire, x: 19, type: tank, y: 10}, {index: 3, direction: left, team: dire, x: 28, type: tank, y: 6}, {index: 4, direction: left, team: dire, x: 38, type: tank, y: 0}]
data: "000000000000440000000000004400000000000000000000000044000000000000440000000000004400000000000000000440000000000000000044440000000000000000044000000000000000004400000000005555555555555555555500000000000000000000555555555555555555550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000550000000000000000000000000000000000000055000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004400000000000000000000440000000000000000440000000000000000000044000000005555555544333333333553333333334455555555555555554433333333355333333333445555555500000000440000000000000000000044000000000000000044000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000550000000000000000000000000000000000000055000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055555555555555555555000000000000000000005555555555555555555500000000004400000000000000000440000000000000000044440000000000000000044000000000000000004400000000000044000000000000440000000000000000000000004400000000000044000000000000"

View File

@@ -0,0 +1,2 @@
points: [{index: -1, direction: right, team: radiant, x: 19, type: eagle, y: 28}, {index: 0, direction: right, team: radiant, x: 2, type: tank, y: 22}, {index: 1, direction: right, team: radiant, x: 9, type: tank, y: 20}, {index: 2, direction: right, team: radiant, x: 19, type: tank, y: 24}, {index: 3, direction: right, team: radiant, x: 29, type: tank, y: 20}, {index: 4, direction: right, team: radiant, x: 36, type: tank, y: 22}, {index: -1, direction: right, team: dire, x: 19, type: eagle, y: 0}, {index: 0, direction: left, team: dire, x: 2, type: tank, y: 6}, {index: 1, direction: left, team: dire, x: 9, type: tank, y: 8}, {index: 2, direction: left, team: dire, x: 19, type: tank, y: 4}, {index: 3, direction: left, team: dire, x: 29, type: tank, y: 8}, {index: 4, direction: left, team: dire, x: 36, type: tank, y: 6}]
data: "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005555555544444455555555000000000000000000555555554444445555555500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005500000000000000550000000000000000000000550000000000000055000000000000000000000055000000000000005500000000000000000000005500000000000000550000000000000000000000000044000000440000000000000000000000000000004400000044000000000000000333333333333333445500004433333333333333333333333333333344550000443333333333333333333333333333334400440044333333333333333333333333333333440044004433333333333333333333333333333344000055443333333333333333333333333333334400005544333333333333333000000000000000440000004400000000000000000000000000000044000000440000000000000000000000000055000000000000005500000000000000000000005500000000000000550000000000000000000000550000000000000055000000000000000000000055000000000000005500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005555555544444455555555000000000000000000555555554444445555555500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"

View File

@@ -0,0 +1,2 @@
data: "444455555555555555555555555555555555444444445555555555555555555555555555555544440044004444444400444444440044444444004400004400444444440044444444004444444400440000220000000000000000000000000000000022000022000000000000000000000000000000002200004400444444442244444444224444444400440000440044444444224444444422444444440044000011000033550000000000000000553300001100001100003355000000000000000055330000110000110000444444004444444400444444440011000011000044444400444444440044444444001100004400000000000055333355000000000000440000440000000000005533335500000000000044000000442244444400443333440044444422440000000044224444440044333344004444442244000000440000000000005533335500000000000044000044000000000000553333550000000000004400001100444444440044444444004444444400110000110044444444004444444400444444440011000011000033550000000000000000553300001100001100003355000000000000000055330000110000440044444444224444444422444444440044000044004444444422444444442244444444004400002200000000000000000000000000000000220000220000000000000000000000000000000022000044004444444400444444440044444440004400004400444444440044444444004444444000440044445555555555555555555555555555555544444444555555555555555555555555555555554444"
points: [{team: radiant, direction: right, x: 2, type: eagle, y: 14, index: -1}, {team: radiant, direction: right, x: 14, type: tank, y: 2, index: 0}, {team: radiant, direction: right, x: 6, type: tank, y: 8, index: 1}, {team: radiant, direction: right, x: 14, type: tank, y: 14, index: 2}, {team: radiant, direction: right, x: 6, type: tank, y: 20, index: 3}, {team: radiant, direction: right, x: 14, type: tank, y: 26, index: 4}, {team: dire, direction: right, x: 36, type: eagle, y: 14, index: -1}, {team: dire, direction: left, x: 24, type: tank, y: 2, index: 0}, {team: dire, direction: left, x: 32, type: tank, y: 8, index: 1}, {team: dire, direction: left, x: 24, type: tank, y: 14, index: 2}, {team: dire, direction: left, x: 32, type: tank, y: 20, index: 3}, {team: dire, direction: left, x: 24, type: tank, y: 26, index: 4}]