From 9c388e1f0d3a113f65c337f38c7a59bcddf9d42c Mon Sep 17 00:00:00 2001 From: Florian Wesch Date: Sun, 6 Aug 2006 17:11:02 +0000 Subject: [PATCH] * Neue Landschaft: Wasser (noch nicht animiert) * Neuer Kreaturtyp: Fliegend. git-svn-id: http://infon.googlecode.com/svn/trunk@50 8171fb75-e542-0410-96e4-03d5dd800671 --- creature.c | 105 ++- creature.h | 4 +- gui_world.c | 3 + infon.c | 20 +- level/foo.lua | 2344 ++++++++++++++++++++++++------------------------- level/gpn.lua | 602 ++++++------- player.c | 54 +- player.lua | 13 +- sprite.c | 4 +- sprite.h | 6 +- video.c | 5 +- video.h | 2 +- world.c | 59 +- world.h | 4 +- 14 files changed, 1659 insertions(+), 1566 deletions(-) diff --git a/creature.c b/creature.c index b9240a9..42b0368 100644 --- a/creature.c +++ b/creature.c @@ -76,8 +76,12 @@ int creature_max_health(const creature_t *creature) { switch (creature->type) { case 0: return 10000; - default: + case 1: return 20000; + case 2: + return 5000; + default: + assert(0); } } @@ -85,8 +89,12 @@ int creature_max_food(const creature_t *creature) { switch (creature->type) { case 0: return 10000; - default: + case 1: return 20000; + case 2: + return 5000; + default: + assert(0); } } @@ -96,8 +104,10 @@ int creature_aging(const creature_t *creature) { return 5; case 1: return 7; + case 2: + return 5; default: - return 0; + assert(0); } } @@ -133,20 +143,13 @@ int creature_can_move_to_target(creature_t *creature) { int creature_speed(const creature_t *creature) { switch (creature->type) { case 0: - //return 200 + creature->health / 50; return 200 + creature->health / 16; - default: - //return 300; + case 1: return 400; - } -} - -int creature_turnspeed(const creature_t *creature) { - switch (creature->type) { - case 0: - return 2; + case 2: + return 800; default: - return 1; + assert(0); } } @@ -192,8 +195,12 @@ int creature_heal_rate(const creature_t *creature) { switch (creature->type) { case 0: return 500; - default: + case 1: return 300; + case 2: + return 600; + default: + assert(0); } } @@ -228,8 +235,12 @@ int creature_eat_rate(const creature_t *creature) { switch (creature->type) { case 0: return 800; - default: + case 1: return 400; + case 2: + return 600; + default: + assert(0); } } @@ -251,8 +262,8 @@ void creature_do_eat(creature_t *creature, int delta) { static const int attack_possible[CREATURE_TYPES][CREATURE_TYPES] = // TARGET - { { 0, 0, 0, 0 },// ATTACKER - { 1, 1, 0, 0 }, + { { 0, 0, 1, 0 },// ATTACKER + { 1, 1, 1, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } }; @@ -263,18 +274,26 @@ int creature_can_attack(const creature_t *creature, const creature_t *target) { int creature_hitpoints(const creature_t *creature) { switch (creature->type) { case 0: - return 0; - default: + return 1000; + case 1: return 1500; + case 2: + return 0; + default: + assert(0); } } int creature_attack_distance(const creature_t *creature) { switch (creature->type) { case 0: + return 3 * TILE_SCALE; + case 1: + return 2 * TILE_SCALE; + case 2: return 0; default: - return 2 * TILE_SCALE; + assert(0); } } @@ -327,9 +346,9 @@ int creature_conversion_speed(creature_t *creature) { static const int conversion_food_needed[CREATURE_TYPES][CREATURE_TYPES] = // TO - { { 0, 8000, 0, 0 },// FROM - { 0, 0, 0, 0 }, + { { 0, 8000, 5000, 0 },// FROM { 0, 0, 0, 0 }, + { 0, 5000, 0, 0 }, { 0, 0, 0, 0 } }; int creature_conversion_food(const creature_t *creature, int type) { @@ -437,8 +456,12 @@ int creature_can_feed(const creature_t *creature) { switch (creature->type) { case 0: return creature->food > 0; - default: + case 1: return 0; + case 2: + return creature->food > 0; + default: + assert(0); } } @@ -446,8 +469,12 @@ int creature_feed_distance(const creature_t *creature) { switch (creature->type) { case 0: return TILE_SCALE; - default: + case 1: return 0; + case 2: + return TILE_SCALE; + default: + assert(0); } } @@ -455,8 +482,12 @@ int creature_feed_speed(const creature_t *creature) { switch (creature->type) { case 0: return 400; + case 1: + return 0; + case 2: + return 400; default: - return 0; + assert(0); } } @@ -706,10 +737,26 @@ void creature_moveall(int delta) { } int creature_set_path(creature_t *creature, int x, int y) { - if (!world_walkable(X_TO_TILEX(x), Y_TO_TILEY(y))) - return 0; + pathnode_t *newpath; + + if (creature->type == 0 || creature->type == 1) { + // Bodenbasierte Viecher + if (!world_walkable(X_TO_TILEX(x), Y_TO_TILEY(y))) + return 0; + + newpath = world_findpath(creature->x, creature->y, x, y); + } else { + // Fliegendes Vieh + if (!world_is_within_border(X_TO_TILEX(x), Y_TO_TILEY(y))) + return 0; - pathnode_t *newpath = world_findpath(creature->x, creature->y, x, y); + newpath = malloc(sizeof(pathnode_t)); + if (newpath) { + newpath->x = x; + newpath->y = y; + newpath->next = NULL; + } + } if (!newpath) return 0; diff --git a/creature.h b/creature.h index 7e25170..b236825 100644 --- a/creature.h +++ b/creature.h @@ -40,8 +40,8 @@ typedef struct creature_s { int spawn_food; creature_state state; - int age_action_deltas; - int spawn_time; + int age_action_deltas; + int spawn_time; char message[9]; unsigned char dirtymask; diff --git a/gui_world.c b/gui_world.c index 1e0a683..6d019d0 100644 --- a/gui_world.c +++ b/gui_world.c @@ -123,6 +123,9 @@ static int gui_world_settype(int x, int y, int type) { MAPTILE(x, y).map = sprite_get(SPRITE_PLAIN + rand() % SPRITE_NUM_PLAIN); } break; + case WATER: + MAPTILE(x, y).map = sprite_get(SPRITE_WATER + rand() % SPRITE_NUM_WATER); + break; default: // XXX: Unsupported... MAPTILE(x, y).map = sprite_get(SPRITE_KOTH); diff --git a/infon.c b/infon.c index b232b8f..4976b82 100644 --- a/infon.c +++ b/infon.c @@ -56,17 +56,27 @@ void print_fps() { } int main(int argc, char *argv[]) { - if (argc != 2) + int width = 800, height = 600, fullscreen = 0; #ifdef WIN32 + if (argc == 2 && stricmp(argv[1], "/s") == 0) { + argv[1] = "bl0rg.net"; + char *bs = strrchr(argv[0], '\\'); + if (bs) { *bs = '\0'; chdir(argv[0]); } + width = 1024, height = 768, fullscreen = 1; + } else if (argc == 3 && stricmp(argv[1], "/p") == 0) { + exit(0); + } else if (argc == 2 && strstr(argv[1], "/c:") == argv[1]) { + die("There are no settings"); + } else { die("you must supply the gameservers hostname\n" "as first command line parameter.\n\n" "example: 'infon.exe bl0rg.net'"); + } #else + if (argc != 2) die("usage: %s ", argv[0]); #endif - const int width = 800, height = 600; - #ifndef WIN32 signal(SIGINT, sighandler); signal(SIGPIPE, SIG_IGN); @@ -76,7 +86,7 @@ int main(int argc, char *argv[]) { client_init(argv[1]); - video_init(width, height); + video_init(width, height, fullscreen); sprite_init(); gui_scroller_init(); gui_world_init(); @@ -129,7 +139,7 @@ int main(int argc, char *argv[]) { break; case SDL_MOUSEMOTION: if (event.motion.state & 1) - gui_world_center_change(-event.motion.xrel, -event.motion.yrel); + gui_world_center_change(-event.motion.xrel, -event.motion.yrel); break; case SDL_VIDEORESIZE: video_resize(event.resize.w, event.resize.h); diff --git a/level/foo.lua b/level/foo.lua index 126d06a..15fc8e0 100644 --- a/level/foo.lua +++ b/level/foo.lua @@ -10,1178 +10,1178 @@ function level_koth_pos() end function level_init() - world_dig(32, 23) - world_dig(18, 21) - world_dig(19, 21) - world_dig(18, 22) - world_dig(19, 22) - world_dig(20, 21) - world_dig(20, 22) - world_dig(21, 21) - world_dig(21, 22) - world_dig(22, 21) - world_dig(22, 22) - world_dig(21, 23) - world_dig(22, 23) - world_dig(23, 22) - world_dig(23, 23) - world_dig(24, 22) - world_dig(24, 23) - world_dig(25, 22) - world_dig(25, 23) - world_dig(26, 22) - world_dig(26, 23) - world_dig(27, 22) - world_dig(27, 23) - world_dig(28, 22) - world_dig(28, 23) - world_dig(29, 22) - world_dig(29, 23) - world_dig(30, 22) - world_dig(30, 23) - world_dig(31, 22) - world_dig(31, 23) - world_dig(32, 22) - world_dig(33, 22) - world_dig(33, 23) - world_dig(34, 22) - world_dig(34, 23) - world_dig(35, 22) - world_dig(35, 23) - world_dig(36, 22) - world_dig(36, 23) - world_dig(35, 24) - world_dig(36, 24) - world_dig(37, 23) - world_dig(37, 24) - world_dig(38, 23) - world_dig(38, 24) - world_dig(39, 23) - world_dig(39, 24) - world_dig(40, 23) - world_dig(40, 24) - world_dig(41, 23) - world_dig(41, 24) - world_dig(42, 23) - world_dig(42, 24) - world_dig(43, 23) - world_dig(43, 24) - world_dig(44, 23) - world_dig(44, 24) - world_dig(45, 23) - world_dig(45, 24) - world_dig(46, 23) - world_dig(46, 24) - world_dig(45, 22) - world_dig(46, 22) - world_dig(47, 22) - world_dig(47, 23) - world_dig(46, 21) - world_dig(47, 21) - world_dig(48, 21) - world_dig(48, 22) - world_dig(47, 20) - world_dig(48, 20) - world_dig(49, 20) - world_dig(49, 21) - world_dig(48, 19) - world_dig(49, 19) - world_dig(50, 19) - world_dig(50, 20) - world_dig(49, 18) - world_dig(50, 18) - world_dig(51, 18) - world_dig(51, 19) - world_dig(51, 17) - world_dig(52, 17) - world_dig(52, 18) - world_dig(53, 17) - world_dig(53, 18) - world_dig(52, 16) - world_dig(53, 16) - world_dig(54, 16) - world_dig(54, 17) - world_dig(53, 15) - world_dig(54, 15) - world_dig(53, 14) - world_dig(54, 14) - world_dig(55, 14) - world_dig(55, 15) - world_dig(54, 13) - world_dig(55, 13) - world_dig(54, 12) - world_dig(55, 12) - world_dig(54, 11) - world_dig(55, 11) - world_dig(54, 10) - world_dig(55, 10) - world_dig(53, 10) - world_dig(53, 11) - world_dig(53, 9) - world_dig(54, 9) - world_dig(52, 9) - world_dig(52, 10) - world_dig(52, 8) - world_dig(53, 8) - world_dig(51, 8) - world_dig(51, 9) - world_dig(51, 7) - world_dig(52, 7) - world_dig(50, 7) - world_dig(50, 8) - world_dig(50, 6) - world_dig(51, 6) - world_dig(49, 6) - world_dig(49, 7) - world_dig(49, 5) - world_dig(50, 5) - world_dig(48, 5) - world_dig(48, 6) - world_dig(47, 5) - world_dig(47, 6) - world_dig(46, 5) - world_dig(46, 6) - world_dig(45, 5) - world_dig(45, 6) - world_dig(44, 5) - world_dig(44, 6) - world_dig(44, 7) - world_dig(45, 7) - world_dig(43, 6) - world_dig(43, 7) - world_dig(42, 6) - world_dig(42, 7) - world_dig(42, 8) - world_dig(43, 8) - world_dig(41, 7) - world_dig(41, 8) - world_dig(41, 9) - world_dig(42, 9) - world_dig(40, 8) - world_dig(40, 9) - world_dig(40, 10) - world_dig(41, 10) - world_dig(39, 9) - world_dig(39, 10) - world_dig(39, 11) - world_dig(40, 11) - world_dig(38, 10) - world_dig(38, 11) - world_dig(38, 12) - world_dig(39, 12) - world_dig(37, 11) - world_dig(37, 12) - world_dig(37, 13) - world_dig(38, 13) - world_dig(47, 19) - world_dig(47, 18) - world_dig(48, 18) - world_dig(46, 18) - world_dig(46, 19) - world_dig(46, 17) - world_dig(47, 17) - world_dig(45, 17) - world_dig(45, 18) - world_dig(45, 16) - world_dig(46, 16) - world_dig(44, 16) - world_dig(44, 17) - world_dig(44, 15) - world_dig(45, 15) - world_dig(43, 15) - world_dig(43, 16) - world_dig(43, 14) - world_dig(44, 14) - world_dig(42, 14) - world_dig(42, 15) - world_dig(42, 13) - world_dig(43, 13) - world_dig(41, 13) - world_dig(41, 14) - world_dig(40, 12) - world_dig(41, 12) - world_dig(40, 13) - world_dig(39, 13) - world_dig(36, 11) - world_dig(36, 12) - world_dig(36, 10) - world_dig(37, 10) - world_dig(35, 10) - world_dig(35, 11) - world_dig(35, 9) - world_dig(36, 9) - world_dig(34, 9) - world_dig(34, 10) - world_dig(34, 8) - world_dig(35, 8) - world_dig(34, 7) - world_dig(35, 7) - world_dig(33, 7) - world_dig(33, 8) - world_dig(32, 6) - world_dig(33, 6) - world_dig(32, 7) - world_dig(31, 5) - world_dig(32, 5) - world_dig(31, 6) - world_dig(30, 4) - world_dig(31, 4) - world_dig(30, 5) - world_dig(29, 3) - world_dig(30, 3) - world_dig(29, 4) - world_dig(28, 3) - world_dig(28, 4) - world_dig(27, 3) - world_dig(27, 4) - world_dig(26, 3) - world_dig(26, 4) - world_dig(26, 5) - world_dig(27, 5) - world_dig(25, 4) - world_dig(25, 5) - world_dig(25, 6) - world_dig(26, 6) - world_dig(24, 5) - world_dig(24, 6) - world_dig(24, 7) - world_dig(25, 7) - world_dig(26, 7) - world_dig(25, 8) - world_dig(26, 8) - world_dig(25, 9) - world_dig(26, 9) - world_dig(25, 10) - world_dig(26, 10) - world_dig(25, 11) - world_dig(26, 11) - world_dig(25, 12) - world_dig(26, 12) - world_dig(25, 13) - world_dig(26, 13) - world_dig(33, 9) - world_dig(33, 10) - world_dig(32, 10) - world_dig(32, 11) - world_dig(33, 11) - world_dig(31, 11) - world_dig(31, 12) - world_dig(32, 12) - world_dig(30, 12) - world_dig(30, 13) - world_dig(31, 13) - world_dig(29, 12) - world_dig(29, 13) - world_dig(29, 14) - world_dig(30, 14) - world_dig(28, 13) - world_dig(28, 14) - world_dig(27, 13) - world_dig(27, 14) - world_dig(27, 15) - world_dig(28, 15) - world_dig(26, 14) - world_dig(26, 15) - world_dig(25, 14) - world_dig(24, 13) - world_dig(24, 14) - world_dig(23, 13) - world_dig(23, 14) - world_dig(22, 12) - world_dig(23, 12) - world_dig(22, 13) - world_dig(21, 12) - world_dig(21, 13) - world_dig(21, 11) - world_dig(22, 11) - world_dig(20, 11) - world_dig(20, 12) - world_dig(19, 11) - world_dig(19, 12) - world_dig(19, 10) - world_dig(20, 10) - world_dig(18, 10) - world_dig(18, 11) - world_dig(18, 9) - world_dig(19, 9) - world_dig(17, 8) - world_dig(18, 8) - world_dig(17, 9) - world_dig(16, 7) - world_dig(17, 7) - world_dig(16, 8) - world_dig(15, 6) - world_dig(16, 6) - world_dig(15, 7) - world_dig(15, 5) - world_dig(16, 5) - world_dig(14, 4) - world_dig(15, 4) - world_dig(14, 5) - world_dig(14, 3) - world_dig(15, 3) - world_dig(16, 3) - world_dig(16, 4) - world_dig(17, 3) - world_dig(17, 4) - world_dig(18, 3) - world_dig(18, 4) - world_dig(19, 3) - world_dig(19, 4) - world_dig(20, 3) - world_dig(20, 4) - world_dig(21, 3) - world_dig(21, 4) - world_dig(20, 5) - world_dig(21, 5) - world_dig(22, 4) - world_dig(22, 5) - world_dig(21, 6) - world_dig(22, 6) - world_dig(21, 7) - world_dig(22, 7) - world_dig(21, 8) - world_dig(22, 8) - world_dig(20, 7) - world_dig(20, 8) - world_dig(20, 9) - world_dig(21, 9) - world_dig(21, 10) - world_dig(17, 10) - world_dig(17, 11) - world_dig(16, 10) - world_dig(16, 11) - world_dig(16, 12) - world_dig(17, 12) - world_dig(15, 11) - world_dig(15, 12) - world_dig(14, 11) - world_dig(14, 12) - world_dig(13, 11) - world_dig(13, 12) - world_dig(13, 13) - world_dig(14, 13) - world_dig(12, 12) - world_dig(12, 13) - world_dig(11, 12) - world_dig(11, 13) - world_dig(11, 14) - world_dig(12, 14) - world_dig(10, 13) - world_dig(10, 14) - world_dig(9, 13) - world_dig(9, 14) - world_dig(8, 13) - world_dig(8, 14) - world_dig(7, 13) - world_dig(7, 14) - world_dig(7, 12) - world_dig(8, 12) - world_dig(6, 12) - world_dig(6, 13) - world_dig(6, 11) - world_dig(7, 11) - world_dig(5, 11) - world_dig(5, 12) - world_dig(4, 10) - world_dig(5, 10) - world_dig(4, 11) - world_dig(4, 9) - world_dig(5, 9) - world_dig(3, 9) - world_dig(3, 10) - world_dig(3, 8) - world_dig(4, 8) - world_dig(3, 7) - world_dig(4, 7) - world_dig(3, 6) - world_dig(4, 6) - world_dig(3, 5) - world_dig(4, 5) - world_dig(5, 5) - world_dig(5, 6) - world_dig(4, 4) - world_dig(5, 4) - world_dig(6, 4) - world_dig(6, 5) - world_dig(5, 3) - world_dig(6, 3) - world_dig(7, 3) - world_dig(7, 4) - world_dig(7, 5) - world_dig(8, 4) - world_dig(8, 5) - world_dig(9, 5) - world_dig(8, 6) - world_dig(9, 6) - world_dig(10, 5) - world_dig(10, 6) - world_dig(9, 7) - world_dig(10, 7) - world_dig(11, 6) - world_dig(11, 7) - world_dig(10, 8) - world_dig(11, 8) - world_dig(12, 7) - world_dig(12, 8) - world_dig(11, 9) - world_dig(12, 9) - world_dig(13, 9) - world_dig(12, 10) - world_dig(13, 10) - world_dig(12, 11) - world_dig(13, 14) - world_dig(14, 14) - world_dig(13, 15) - world_dig(14, 15) - world_dig(13, 16) - world_dig(14, 16) - world_dig(13, 17) - world_dig(14, 17) - world_dig(12, 16) - world_dig(12, 17) - world_dig(12, 18) - world_dig(13, 18) - world_dig(12, 19) - world_dig(13, 19) - world_dig(12, 20) - world_dig(13, 20) - world_dig(12, 21) - world_dig(13, 21) - world_dig(12, 22) - world_dig(13, 22) - world_dig(3, 19) - world_dig(4, 19) - world_dig(3, 20) - world_dig(4, 20) - world_dig(5, 19) - world_dig(5, 20) - world_dig(4, 21) - world_dig(5, 21) - world_dig(6, 20) - world_dig(6, 21) - world_dig(7, 20) - world_dig(7, 21) - world_dig(8, 20) - world_dig(8, 21) - world_dig(9, 20) - world_dig(9, 21) - world_dig(10, 20) - world_dig(10, 21) - world_dig(11, 20) - world_dig(11, 21) - world_dig(11, 22) - world_dig(14, 21) - world_dig(14, 22) - world_dig(15, 21) - world_dig(15, 22) - world_dig(16, 21) - world_dig(16, 22) - world_dig(17, 22) - world_dig(16, 23) - world_dig(17, 23) - world_dig(18, 23) - world_dig(19, 23) - world_dig(20, 23) - world_dig(3, 21) - world_dig(4, 22) - world_dig(5, 22) - world_dig(4, 23) - world_dig(5, 23) - world_dig(6, 22) - world_dig(6, 23) - world_dig(5, 24) - world_dig(6, 24) - world_dig(7, 24) - world_dig(6, 25) - world_dig(7, 25) - world_dig(6, 26) - world_dig(7, 26) - world_dig(6, 27) - world_dig(7, 27) - world_dig(8, 26) - world_dig(8, 27) - world_dig(7, 28) - world_dig(8, 28) - world_dig(9, 28) - world_dig(8, 29) - world_dig(9, 29) - world_dig(8, 30) - world_dig(9, 30) - world_dig(8, 31) - world_dig(9, 31) - world_dig(10, 30) - world_dig(10, 31) - world_dig(11, 30) - world_dig(11, 31) - world_dig(12, 30) - world_dig(12, 31) - world_dig(13, 30) - world_dig(13, 31) - world_dig(14, 30) - world_dig(14, 31) - world_dig(15, 30) - world_dig(15, 31) - world_dig(15, 29) - world_dig(16, 29) - world_dig(16, 30) - world_dig(15, 28) - world_dig(16, 28) - world_dig(17, 28) - world_dig(17, 29) - world_dig(16, 27) - world_dig(17, 27) - world_dig(18, 27) - world_dig(18, 28) - world_dig(17, 26) - world_dig(18, 26) - world_dig(19, 26) - world_dig(19, 27) - world_dig(18, 25) - world_dig(19, 25) - world_dig(19, 24) - world_dig(20, 24) - world_dig(20, 25) - world_dig(21, 24) - world_dig(21, 25) - world_dig(26, 24) - world_dig(27, 24) - world_dig(28, 24) - world_dig(27, 25) - world_dig(28, 25) - world_dig(27, 26) - world_dig(28, 26) - world_dig(29, 25) - world_dig(29, 26) - world_dig(28, 27) - world_dig(29, 27) - world_dig(28, 28) - world_dig(29, 28) - world_dig(28, 29) - world_dig(29, 29) - world_dig(30, 28) - world_dig(30, 29) - world_dig(29, 30) - world_dig(30, 30) - world_dig(29, 31) - world_dig(30, 31) - world_dig(29, 32) - world_dig(30, 32) - world_dig(31, 32) - world_dig(30, 33) - world_dig(31, 33) - world_dig(30, 34) - world_dig(31, 34) - world_dig(30, 35) - world_dig(31, 35) - world_dig(30, 36) - world_dig(31, 36) - world_dig(32, 36) - world_dig(31, 37) - world_dig(32, 37) - world_dig(31, 38) - world_dig(32, 38) - world_dig(13, 32) - world_dig(14, 32) - world_dig(15, 32) - world_dig(16, 31) - world_dig(16, 32) - world_dig(15, 33) - world_dig(16, 33) - world_dig(17, 32) - world_dig(17, 33) - world_dig(18, 32) - world_dig(18, 33) - world_dig(19, 33) - world_dig(18, 34) - world_dig(19, 34) - world_dig(20, 33) - world_dig(20, 34) - world_dig(21, 33) - world_dig(21, 34) - world_dig(20, 35) - world_dig(21, 35) - world_dig(22, 34) - world_dig(22, 35) - world_dig(23, 34) - world_dig(23, 35) - world_dig(24, 34) - world_dig(24, 35) - world_dig(23, 36) - world_dig(24, 36) - world_dig(25, 35) - world_dig(25, 36) - world_dig(26, 35) - world_dig(26, 36) - world_dig(27, 35) - world_dig(27, 36) - world_dig(28, 35) - world_dig(28, 36) - world_dig(29, 35) - world_dig(29, 36) - world_dig(28, 34) - world_dig(29, 34) - world_dig(17, 34) - world_dig(17, 35) - world_dig(18, 35) - world_dig(19, 35) - world_dig(18, 36) - world_dig(19, 36) - world_dig(18, 37) - world_dig(19, 37) - world_dig(17, 36) - world_dig(17, 37) - world_dig(16, 37) - world_dig(16, 38) - world_dig(17, 38) - world_dig(15, 37) - world_dig(15, 38) - world_dig(15, 39) - world_dig(16, 39) - world_dig(14, 38) - world_dig(14, 39) - world_dig(13, 38) - world_dig(13, 39) - world_dig(12, 38) - world_dig(12, 39) - world_dig(11, 38) - world_dig(11, 39) - world_dig(10, 38) - world_dig(10, 39) - world_dig(9, 38) - world_dig(9, 39) - world_dig(8, 38) - world_dig(8, 39) - world_dig(7, 37) - world_dig(8, 37) - world_dig(7, 38) - world_dig(6, 37) - world_dig(6, 38) - world_dig(6, 36) - world_dig(7, 36) - world_dig(5, 35) - world_dig(6, 35) - world_dig(5, 36) - world_dig(5, 34) - world_dig(6, 34) - world_dig(5, 33) - world_dig(6, 33) - world_dig(4, 33) - world_dig(4, 34) - world_dig(4, 32) - world_dig(5, 32) - world_dig(4, 31) - world_dig(5, 31) - world_dig(4, 30) - world_dig(5, 30) - world_dig(4, 29) - world_dig(5, 29) - world_dig(6, 29) - world_dig(6, 30) - world_dig(5, 28) - world_dig(6, 28) - world_dig(7, 29) - world_dig(33, 38) - world_dig(32, 39) - world_dig(33, 39) - world_dig(34, 38) - world_dig(34, 39) - world_dig(35, 38) - world_dig(35, 39) - world_dig(36, 38) - world_dig(36, 39) - world_dig(35, 37) - world_dig(36, 37) - world_dig(37, 37) - world_dig(37, 38) - world_dig(36, 36) - world_dig(37, 36) - world_dig(38, 36) - world_dig(38, 37) - world_dig(37, 35) - world_dig(38, 35) - world_dig(37, 34) - world_dig(38, 34) - world_dig(37, 33) - world_dig(38, 33) - world_dig(39, 33) - world_dig(39, 34) - world_dig(38, 32) - world_dig(39, 32) - world_dig(38, 31) - world_dig(39, 31) - world_dig(40, 31) - world_dig(40, 32) - world_dig(39, 30) - world_dig(40, 30) - world_dig(39, 29) - world_dig(40, 29) - world_dig(41, 29) - world_dig(41, 30) - world_dig(40, 28) - world_dig(41, 28) - world_dig(40, 27) - world_dig(41, 27) - world_dig(42, 27) - world_dig(42, 28) - world_dig(41, 26) - world_dig(42, 26) - world_dig(41, 25) - world_dig(42, 25) - world_dig(43, 25) - world_dig(43, 26) - world_dig(40, 34) - world_dig(39, 35) - world_dig(40, 35) - world_dig(39, 36) - world_dig(40, 36) - world_dig(41, 35) - world_dig(41, 36) - world_dig(40, 37) - world_dig(41, 37) - world_dig(42, 36) - world_dig(42, 37) - world_dig(41, 38) - world_dig(42, 38) - world_dig(43, 37) - world_dig(43, 38) - world_dig(44, 38) - world_dig(43, 39) - world_dig(44, 39) - world_dig(45, 38) - world_dig(45, 39) - world_dig(44, 40) - world_dig(45, 40) - world_dig(46, 39) - world_dig(46, 40) - world_dig(47, 39) - world_dig(47, 40) - world_dig(46, 41) - world_dig(47, 41) - world_dig(48, 40) - world_dig(48, 41) - world_dig(49, 40) - world_dig(49, 41) - world_dig(49, 39) - world_dig(50, 39) - world_dig(50, 40) - world_dig(51, 39) - world_dig(51, 40) - world_dig(50, 38) - world_dig(51, 38) - world_dig(52, 38) - world_dig(52, 39) - world_dig(51, 37) - world_dig(52, 37) - world_dig(53, 37) - world_dig(53, 38) - world_dig(52, 36) - world_dig(53, 36) - world_dig(52, 35) - world_dig(53, 35) - world_dig(52, 34) - world_dig(53, 34) - world_dig(52, 33) - world_dig(53, 33) - world_dig(51, 33) - world_dig(51, 34) - world_dig(51, 32) - world_dig(52, 32) - world_dig(50, 31) - world_dig(51, 31) - world_dig(50, 32) - world_dig(50, 30) - world_dig(51, 30) - world_dig(49, 30) - world_dig(49, 31) - world_dig(49, 29) - world_dig(50, 29) - world_dig(48, 29) - world_dig(48, 30) - world_dig(48, 28) - world_dig(49, 28) - world_dig(48, 27) - world_dig(49, 27) - world_dig(47, 27) - world_dig(47, 28) - world_dig(47, 26) - world_dig(48, 26) - world_dig(46, 26) - world_dig(46, 27) - world_dig(46, 25) - world_dig(47, 25) - world_dig(45, 25) - world_dig(45, 26) - world_dig(53, 32) - world_dig(54, 32) - world_dig(54, 33) - world_dig(53, 31) - world_dig(54, 31) - world_dig(55, 31) - world_dig(55, 32) - world_dig(56, 31) - world_dig(56, 32) - world_dig(56, 30) - world_dig(57, 30) - world_dig(57, 31) - world_dig(58, 30) - world_dig(58, 31) - world_dig(57, 29) - world_dig(58, 29) - world_dig(59, 29) - world_dig(59, 30) - world_dig(58, 28) - world_dig(59, 28) - world_dig(59, 27) - world_dig(60, 27) - world_dig(60, 28) - world_dig(59, 26) - world_dig(60, 26) - world_dig(59, 25) - world_dig(60, 25) - world_dig(61, 25) - world_dig(61, 26) - world_dig(60, 24) - world_dig(61, 24) - world_dig(59, 23) - world_dig(60, 23) - world_dig(59, 24) - world_dig(59, 22) - world_dig(60, 22) - world_dig(58, 21) - world_dig(59, 21) - world_dig(58, 22) - world_dig(58, 20) - world_dig(59, 20) - world_dig(57, 20) - world_dig(57, 21) - world_dig(57, 19) - world_dig(58, 19) - world_dig(56, 19) - world_dig(56, 20) - world_dig(55, 18) - world_dig(56, 18) - world_dig(55, 19) - world_dig(54, 18) - world_dig(54, 19) - world_dig(55, 17) - world_dig(17, 39) - world_dig(16, 40) - world_dig(17, 40) - world_dig(18, 39) - world_dig(18, 40) - world_dig(17, 41) - world_dig(18, 41) - world_dig(19, 40) - world_dig(19, 41) - world_dig(18, 42) - world_dig(19, 42) - world_dig(20, 41) - world_dig(20, 42) - world_dig(21, 41) - world_dig(21, 42) - world_dig(22, 42) - world_dig(21, 43) - world_dig(22, 43) - world_dig(23, 42) - world_dig(23, 43) - world_dig(24, 42) - world_dig(24, 43) - world_dig(25, 42) - world_dig(25, 43) - world_dig(26, 42) - world_dig(26, 43) - world_dig(27, 42) - world_dig(27, 43) - world_dig(28, 42) - world_dig(28, 43) - world_dig(29, 42) - world_dig(29, 43) - world_dig(30, 42) - world_dig(30, 43) - world_dig(30, 41) - world_dig(31, 41) - world_dig(31, 42) - world_dig(32, 41) - world_dig(32, 42) - world_dig(31, 40) - world_dig(32, 40) - world_dig(33, 40) - world_dig(33, 41) - world_dig(34, 40) - world_dig(34, 41) - world_dig(35, 40) - world_dig(37, 39) - world_dig(52, 40) - world_dig(51, 41) - world_dig(52, 41) - world_dig(53, 41) - world_dig(52, 42) - world_dig(53, 42) - world_dig(54, 41) - world_dig(54, 42) - world_dig(55, 41) - world_dig(55, 42) - world_dig(56, 41) - world_dig(56, 42) - world_dig(57, 41) - world_dig(57, 42) - world_dig(58, 41) - world_dig(58, 42) - world_dig(58, 40) - world_dig(59, 40) - world_dig(59, 41) - world_dig(60, 40) - world_dig(60, 41) - world_dig(59, 39) - world_dig(60, 39) - world_dig(61, 39) - world_dig(61, 40) - world_dig(60, 38) - world_dig(61, 38) - world_dig(62, 38) - world_dig(62, 39) - world_dig(61, 37) - world_dig(62, 37) - world_dig(61, 36) - world_dig(62, 36) - world_dig(62, 35) - world_dig(62, 34) - world_dig(61, 34) - world_dig(61, 35) - world_dig(61, 33) - world_dig(62, 33) - world_dig(61, 32) - world_dig(62, 32) - world_dig(61, 31) - world_dig(62, 31) - world_dig(60, 31) - world_dig(60, 32) - world_dig(60, 30) - world_dig(61, 30) - world_dig(59, 31) - world_dig(3, 18) - world_dig(4, 18) - world_dig(3, 17) - world_dig(4, 17) - world_dig(4, 16) - world_dig(5, 16) - world_dig(5, 17) - world_dig(4, 15) - world_dig(5, 15) - world_dig(5, 14) - world_dig(6, 14) - world_dig(6, 15) - world_dig(5, 13) - world_dig(52, 6) - world_dig(51, 5) - world_dig(52, 5) - world_dig(52, 4) - world_dig(53, 4) - world_dig(53, 5) - world_dig(53, 3) - world_dig(54, 3) - world_dig(54, 4) - world_dig(55, 3) - world_dig(55, 4) - world_dig(56, 3) - world_dig(56, 4) - world_dig(55, 2) - world_dig(56, 2) - world_dig(57, 2) - world_dig(57, 3) - world_dig(58, 2) - world_dig(58, 3) - world_dig(59, 2) - world_dig(59, 3) - world_dig(58, 4) - world_dig(59, 4) - world_dig(60, 3) - world_dig(60, 4) - world_dig(61, 4) - world_dig(60, 5) - world_dig(61, 5) - world_dig(60, 6) - world_dig(61, 6) - world_dig(62, 6) - world_dig(61, 7) - world_dig(62, 7) - world_dig(61, 8) - world_dig(62, 8) - world_dig(61, 9) - world_dig(62, 9) - world_dig(61, 10) - world_dig(62, 10) - world_dig(60, 10) - world_dig(60, 11) - world_dig(61, 11) - world_dig(60, 12) - world_dig(61, 12) - world_dig(59, 11) - world_dig(59, 12) - world_dig(59, 13) - world_dig(60, 13) - world_dig(58, 12) - world_dig(58, 13) - world_dig(58, 14) - world_dig(59, 14) - world_dig(57, 13) - world_dig(57, 14) - world_dig(57, 15) - world_dig(58, 15) - world_dig(56, 14) - world_dig(56, 15) - world_dig(33, 5) - world_dig(33, 4) - world_dig(34, 4) - world_dig(34, 5) - world_dig(33, 3) - world_dig(34, 3) - world_dig(35, 3) - world_dig(35, 4) - world_dig(36, 3) - world_dig(36, 4) - world_dig(35, 2) - world_dig(36, 2) - world_dig(37, 2) - world_dig(37, 3) - world_dig(38, 2) - world_dig(38, 3) - world_dig(39, 2) - world_dig(39, 3) - world_dig(40, 2) - world_dig(40, 3) - world_dig(41, 2) - world_dig(41, 3) - world_dig(42, 2) - world_dig(42, 3) - world_dig(41, 4) - world_dig(42, 4) - world_dig(43, 3) - world_dig(43, 4) - world_dig(42, 5) - world_dig(43, 5) - world_dig(36, 40) - world_dig(35, 41) - world_dig(36, 41) - world_dig(35, 42) - world_dig(36, 42) - world_dig(37, 41) - world_dig(37, 42) - world_dig(36, 43) - world_dig(37, 43) - world_dig(38, 42) - world_dig(38, 43) - world_dig(39, 42) - world_dig(39, 43) - world_dig(40, 42) - world_dig(40, 43) - world_dig(41, 42) - world_dig(41, 43) - world_dig(42, 42) - world_dig(42, 43) - world_dig(43, 42) - world_dig(43, 43) - world_dig(44, 42) - world_dig(44, 43) - world_dig(43, 41) - world_dig(44, 41) - world_dig(45, 41) - world_dig(5, 37) - world_dig(5, 38) - world_dig(5, 39) - world_dig(6, 39) - world_dig(4, 38) - world_dig(4, 39) - world_dig(4, 40) - world_dig(5, 40) - world_dig(3, 39) - world_dig(3, 40) - world_dig(3, 41) - world_dig(4, 41) - world_dig(5, 41) - world_dig(4, 42) - world_dig(5, 42) - world_dig(6, 42) - world_dig(5, 43) - world_dig(6, 43) - world_dig(7, 42) - world_dig(7, 43) - world_dig(6, 44) - world_dig(7, 44) - world_dig(8, 43) - world_dig(8, 44) - world_dig(9, 43) - world_dig(9, 44) - world_dig(10, 43) - world_dig(10, 44) - world_dig(11, 43) - world_dig(11, 44) - world_dig(12, 43) - world_dig(12, 44) - world_dig(11, 42) - world_dig(12, 42) - world_dig(11, 41) - world_dig(12, 41) - world_dig(11, 40) - world_dig(12, 40) - world_dig(13, 40) - world_dig(13, 41) - world_dig(31, 21) - world_dig(32, 21) - world_dig(31, 20) - world_dig(32, 20) - world_dig(33, 20) - world_dig(33, 21) - world_dig(34, 20) - world_dig(34, 21) - world_dig(30, 21) - world_dig(30, 20) - world_dig(30, 24) - world_dig(31, 24) - world_dig(32, 24) - world_dig(31, 25) - world_dig(32, 25) - world_dig(31, 26) - world_dig(32, 26) - world_dig(33, 25) - world_dig(33, 26) - world_dig(34, 25) - world_dig(34, 26) - world_dig(33, 24) - world_dig(34, 24) - world_dig(35, 21) - world_dig(36, 21) - world_dig(35, 20) - world_dig(36, 20) - world_dig(35, 25) - world_dig(36, 25) - world_dig(35, 26) - world_dig(36, 26) - world_dig(31, 19) - world_dig(32, 19) - world_dig(33, 19) - world_dig(34, 19) - world_dig(35, 19) - world_dig(26, 16) - world_dig(27, 16) - world_dig(26, 17) - world_dig(27, 17) - world_dig(25, 16) - world_dig(25, 17) - world_dig(25, 18) - world_dig(26, 18) - world_dig(24, 17) - world_dig(24, 18) - world_dig(24, 19) - world_dig(25, 19) - world_dig(23, 18) - world_dig(23, 19) - world_dig(23, 20) - world_dig(24, 20) - world_dig(22, 19) - world_dig(22, 20) - world_dig(23, 21) + world_dig(32, 23, PLAIN) + world_dig(18, 21, PLAIN) + world_dig(19, 21, PLAIN) + world_dig(18, 22, PLAIN) + world_dig(19, 22, PLAIN) + world_dig(20, 21, PLAIN) + world_dig(20, 22, PLAIN) + world_dig(21, 21, PLAIN) + world_dig(21, 22, PLAIN) + world_dig(22, 21, PLAIN) + world_dig(22, 22, PLAIN) + world_dig(21, 23, PLAIN) + world_dig(22, 23, PLAIN) + world_dig(23, 22, PLAIN) + world_dig(23, 23, PLAIN) + world_dig(24, 22, PLAIN) + world_dig(24, 23, PLAIN) + world_dig(25, 22, PLAIN) + world_dig(25, 23, PLAIN) + world_dig(26, 22, PLAIN) + world_dig(26, 23, PLAIN) + world_dig(27, 22, PLAIN) + world_dig(27, 23, PLAIN) + world_dig(28, 22, PLAIN) + world_dig(28, 23, PLAIN) + world_dig(29, 22, PLAIN) + world_dig(29, 23, PLAIN) + world_dig(30, 22, PLAIN) + world_dig(30, 23, PLAIN) + world_dig(31, 22, PLAIN) + world_dig(31, 23, PLAIN) + world_dig(32, 22, PLAIN) + world_dig(33, 22, PLAIN) + world_dig(33, 23, PLAIN) + world_dig(34, 22, PLAIN) + world_dig(34, 23, PLAIN) + world_dig(35, 22, PLAIN) + world_dig(35, 23, PLAIN) + world_dig(36, 22, PLAIN) + world_dig(36, 23, PLAIN) + world_dig(35, 24, PLAIN) + world_dig(36, 24, PLAIN) + world_dig(37, 23, PLAIN) + world_dig(37, 24, PLAIN) + world_dig(38, 23, PLAIN) + world_dig(38, 24, PLAIN) + world_dig(39, 23, PLAIN) + world_dig(39, 24, PLAIN) + world_dig(40, 23, PLAIN) + world_dig(40, 24, PLAIN) + world_dig(41, 23, PLAIN) + world_dig(41, 24, PLAIN) + world_dig(42, 23, PLAIN) + world_dig(42, 24, PLAIN) + world_dig(43, 23, PLAIN) + world_dig(43, 24, PLAIN) + world_dig(44, 23, PLAIN) + world_dig(44, 24, PLAIN) + world_dig(45, 23, PLAIN) + world_dig(45, 24, PLAIN) + world_dig(46, 23, PLAIN) + world_dig(46, 24, PLAIN) + world_dig(45, 22, PLAIN) + world_dig(46, 22, PLAIN) + world_dig(47, 22, PLAIN) + world_dig(47, 23, PLAIN) + world_dig(46, 21, PLAIN) + world_dig(47, 21, PLAIN) + world_dig(48, 21, PLAIN) + world_dig(48, 22, PLAIN) + world_dig(47, 20, PLAIN) + world_dig(48, 20, PLAIN) + world_dig(49, 20, PLAIN) + world_dig(49, 21, PLAIN) + world_dig(48, 19, PLAIN) + world_dig(49, 19, PLAIN) + world_dig(50, 19, PLAIN) + world_dig(50, 20, PLAIN) + world_dig(49, 18, PLAIN) + world_dig(50, 18, PLAIN) + world_dig(51, 18, PLAIN) + world_dig(51, 19, PLAIN) + world_dig(51, 17, PLAIN) + world_dig(52, 17, PLAIN) + world_dig(52, 18, PLAIN) + world_dig(53, 17, PLAIN) + world_dig(53, 18, PLAIN) + world_dig(52, 16, PLAIN) + world_dig(53, 16, PLAIN) + world_dig(54, 16, PLAIN) + world_dig(54, 17, PLAIN) + world_dig(53, 15, PLAIN) + world_dig(54, 15, PLAIN) + world_dig(53, 14, PLAIN) + world_dig(54, 14, PLAIN) + world_dig(55, 14, PLAIN) + world_dig(55, 15, PLAIN) + world_dig(54, 13, PLAIN) + world_dig(55, 13, PLAIN) + world_dig(54, 12, PLAIN) + world_dig(55, 12, PLAIN) + world_dig(54, 11, PLAIN) + world_dig(55, 11, PLAIN) + world_dig(54, 10, PLAIN) + world_dig(55, 10, PLAIN) + world_dig(53, 10, PLAIN) + world_dig(53, 11, PLAIN) + world_dig(53, 9, PLAIN) + world_dig(54, 9, PLAIN) + world_dig(52, 9, PLAIN) + world_dig(52, 10, PLAIN) + world_dig(52, 8, PLAIN) + world_dig(53, 8, PLAIN) + world_dig(51, 8, PLAIN) + world_dig(51, 9, PLAIN) + world_dig(51, 7, PLAIN) + world_dig(52, 7, PLAIN) + world_dig(50, 7, PLAIN) + world_dig(50, 8, PLAIN) + world_dig(50, 6, PLAIN) + world_dig(51, 6, PLAIN) + world_dig(49, 6, PLAIN) + world_dig(49, 7, PLAIN) + world_dig(49, 5, PLAIN) + world_dig(50, 5, PLAIN) + world_dig(48, 5, PLAIN) + world_dig(48, 6, PLAIN) + world_dig(47, 5, PLAIN) + world_dig(47, 6, PLAIN) + world_dig(46, 5, PLAIN) + world_dig(46, 6, PLAIN) + world_dig(45, 5, PLAIN) + world_dig(45, 6, PLAIN) + world_dig(44, 5, PLAIN) + world_dig(44, 6, PLAIN) + world_dig(44, 7, PLAIN) + world_dig(45, 7, PLAIN) + world_dig(43, 6, PLAIN) + world_dig(43, 7, PLAIN) + world_dig(42, 6, PLAIN) + world_dig(42, 7, PLAIN) + world_dig(42, 8, PLAIN) + world_dig(43, 8, PLAIN) + world_dig(41, 7, PLAIN) + world_dig(41, 8, PLAIN) + world_dig(41, 9, PLAIN) + world_dig(42, 9, PLAIN) + world_dig(40, 8, PLAIN) + world_dig(40, 9, PLAIN) + world_dig(40, 10, PLAIN) + world_dig(41, 10, PLAIN) + world_dig(39, 9, PLAIN) + world_dig(39, 10, PLAIN) + world_dig(39, 11, PLAIN) + world_dig(40, 11, PLAIN) + world_dig(38, 10, PLAIN) + world_dig(38, 11, PLAIN) + world_dig(38, 12, PLAIN) + world_dig(39, 12, PLAIN) + world_dig(37, 11, PLAIN) + world_dig(37, 12, PLAIN) + world_dig(37, 13, PLAIN) + world_dig(38, 13, PLAIN) + world_dig(47, 19, PLAIN) + world_dig(47, 18, PLAIN) + world_dig(48, 18, PLAIN) + world_dig(46, 18, PLAIN) + world_dig(46, 19, PLAIN) + world_dig(46, 17, PLAIN) + world_dig(47, 17, PLAIN) + world_dig(45, 17, PLAIN) + world_dig(45, 18, PLAIN) + world_dig(45, 16, PLAIN) + world_dig(46, 16, PLAIN) + world_dig(44, 16, PLAIN) + world_dig(44, 17, PLAIN) + world_dig(44, 15, PLAIN) + world_dig(45, 15, PLAIN) + world_dig(43, 15, PLAIN) + world_dig(43, 16, PLAIN) + world_dig(43, 14, PLAIN) + world_dig(44, 14, PLAIN) + world_dig(42, 14, PLAIN) + world_dig(42, 15, PLAIN) + world_dig(42, 13, PLAIN) + world_dig(43, 13, PLAIN) + world_dig(41, 13, PLAIN) + world_dig(41, 14, PLAIN) + world_dig(40, 12, PLAIN) + world_dig(41, 12, PLAIN) + world_dig(40, 13, PLAIN) + world_dig(39, 13, PLAIN) + world_dig(36, 11, PLAIN) + world_dig(36, 12, PLAIN) + world_dig(36, 10, PLAIN) + world_dig(37, 10, PLAIN) + world_dig(35, 10, PLAIN) + world_dig(35, 11, PLAIN) + world_dig(35, 9, PLAIN) + world_dig(36, 9, PLAIN) + world_dig(34, 9, PLAIN) + world_dig(34, 10, PLAIN) + world_dig(34, 8, PLAIN) + world_dig(35, 8, PLAIN) + world_dig(34, 7, PLAIN) + world_dig(35, 7, PLAIN) + world_dig(33, 7, PLAIN) + world_dig(33, 8, PLAIN) + world_dig(32, 6, PLAIN) + world_dig(33, 6, PLAIN) + world_dig(32, 7, PLAIN) + world_dig(31, 5, PLAIN) + world_dig(32, 5, PLAIN) + world_dig(31, 6, PLAIN) + world_dig(30, 4, PLAIN) + world_dig(31, 4, PLAIN) + world_dig(30, 5, PLAIN) + world_dig(29, 3, PLAIN) + world_dig(30, 3, PLAIN) + world_dig(29, 4, PLAIN) + world_dig(28, 3, PLAIN) + world_dig(28, 4, PLAIN) + world_dig(27, 3, PLAIN) + world_dig(27, 4, PLAIN) + world_dig(26, 3, PLAIN) + world_dig(26, 4, PLAIN) + world_dig(26, 5, PLAIN) + world_dig(27, 5, PLAIN) + world_dig(25, 4, PLAIN) + world_dig(25, 5, PLAIN) + world_dig(25, 6, PLAIN) + world_dig(26, 6, PLAIN) + world_dig(24, 5, PLAIN) + world_dig(24, 6, PLAIN) + world_dig(24, 7, PLAIN) + world_dig(25, 7, PLAIN) + world_dig(26, 7, PLAIN) + world_dig(25, 8, PLAIN) + world_dig(26, 8, PLAIN) + world_dig(25, 9, PLAIN) + world_dig(26, 9, PLAIN) + world_dig(25, 10, PLAIN) + world_dig(26, 10, PLAIN) + world_dig(25, 11, PLAIN) + world_dig(26, 11, PLAIN) + world_dig(25, 12, PLAIN) + world_dig(26, 12, PLAIN) + world_dig(25, 13, PLAIN) + world_dig(26, 13, PLAIN) + world_dig(33, 9, PLAIN) + world_dig(33, 10, PLAIN) + world_dig(32, 10, PLAIN) + world_dig(32, 11, PLAIN) + world_dig(33, 11, PLAIN) + world_dig(31, 11, PLAIN) + world_dig(31, 12, PLAIN) + world_dig(32, 12, PLAIN) + world_dig(30, 12, PLAIN) + world_dig(30, 13, PLAIN) + world_dig(31, 13, PLAIN) + world_dig(29, 12, PLAIN) + world_dig(29, 13, PLAIN) + world_dig(29, 14, PLAIN) + world_dig(30, 14, PLAIN) + world_dig(28, 13, PLAIN) + world_dig(28, 14, PLAIN) + world_dig(27, 13, PLAIN) + world_dig(27, 14, PLAIN) + world_dig(27, 15, PLAIN) + world_dig(28, 15, PLAIN) + world_dig(26, 14, PLAIN) + world_dig(26, 15, PLAIN) + world_dig(25, 14, PLAIN) + world_dig(24, 13, PLAIN) + world_dig(24, 14, PLAIN) + world_dig(23, 13, PLAIN) + world_dig(23, 14, PLAIN) + world_dig(22, 12, PLAIN) + world_dig(23, 12, PLAIN) + world_dig(22, 13, PLAIN) + world_dig(21, 12, PLAIN) + world_dig(21, 13, PLAIN) + world_dig(21, 11, PLAIN) + world_dig(22, 11, PLAIN) + world_dig(20, 11, PLAIN) + world_dig(20, 12, PLAIN) + world_dig(19, 11, PLAIN) + world_dig(19, 12, PLAIN) + world_dig(19, 10, PLAIN) + world_dig(20, 10, PLAIN) + world_dig(18, 10, PLAIN) + world_dig(18, 11, PLAIN) + world_dig(18, 9, PLAIN) + world_dig(19, 9, PLAIN) + world_dig(17, 8, PLAIN) + world_dig(18, 8, PLAIN) + world_dig(17, 9, PLAIN) + world_dig(16, 7, PLAIN) + world_dig(17, 7, PLAIN) + world_dig(16, 8, PLAIN) + world_dig(15, 6, PLAIN) + world_dig(16, 6, PLAIN) + world_dig(15, 7, PLAIN) + world_dig(15, 5, PLAIN) + world_dig(16, 5, PLAIN) + world_dig(14, 4, PLAIN) + world_dig(15, 4, PLAIN) + world_dig(14, 5, PLAIN) + world_dig(14, 3, PLAIN) + world_dig(15, 3, PLAIN) + world_dig(16, 3, PLAIN) + world_dig(16, 4, PLAIN) + world_dig(17, 3, PLAIN) + world_dig(17, 4, PLAIN) + world_dig(18, 3, PLAIN) + world_dig(18, 4, PLAIN) + world_dig(19, 3, PLAIN) + world_dig(19, 4, PLAIN) + world_dig(20, 3, PLAIN) + world_dig(20, 4, PLAIN) + world_dig(21, 3, PLAIN) + world_dig(21, 4, PLAIN) + world_dig(20, 5, PLAIN) + world_dig(21, 5, PLAIN) + world_dig(22, 4, PLAIN) + world_dig(22, 5, PLAIN) + world_dig(21, 6, PLAIN) + world_dig(22, 6, PLAIN) + world_dig(21, 7, PLAIN) + world_dig(22, 7, PLAIN) + world_dig(21, 8, PLAIN) + world_dig(22, 8, PLAIN) + world_dig(20, 7, PLAIN) + world_dig(20, 8, PLAIN) + world_dig(20, 9, PLAIN) + world_dig(21, 9, PLAIN) + world_dig(21, 10, PLAIN) + world_dig(17, 10, PLAIN) + world_dig(17, 11, PLAIN) + world_dig(16, 10, PLAIN) + world_dig(16, 11, PLAIN) + world_dig(16, 12, PLAIN) + world_dig(17, 12, PLAIN) + world_dig(15, 11, PLAIN) + world_dig(15, 12, PLAIN) + world_dig(14, 11, PLAIN) + world_dig(14, 12, PLAIN) + world_dig(13, 11, PLAIN) + world_dig(13, 12, PLAIN) + world_dig(13, 13, PLAIN) + world_dig(14, 13, PLAIN) + world_dig(12, 12, PLAIN) + world_dig(12, 13, PLAIN) + world_dig(11, 12, PLAIN) + world_dig(11, 13, PLAIN) + world_dig(11, 14, PLAIN) + world_dig(12, 14, PLAIN) + world_dig(10, 13, PLAIN) + world_dig(10, 14, PLAIN) + world_dig(9, 13, PLAIN) + world_dig(9, 14, PLAIN) + world_dig(8, 13, PLAIN) + world_dig(8, 14, PLAIN) + world_dig(7, 13, PLAIN) + world_dig(7, 14, PLAIN) + world_dig(7, 12, PLAIN) + world_dig(8, 12, PLAIN) + world_dig(6, 12, PLAIN) + world_dig(6, 13, PLAIN) + world_dig(6, 11, PLAIN) + world_dig(7, 11, PLAIN) + world_dig(5, 11, PLAIN) + world_dig(5, 12, PLAIN) + world_dig(4, 10, PLAIN) + world_dig(5, 10, PLAIN) + world_dig(4, 11, PLAIN) + world_dig(4, 9, PLAIN) + world_dig(5, 9, PLAIN) + world_dig(3, 9, PLAIN) + world_dig(3, 10, PLAIN) + world_dig(3, 8, PLAIN) + world_dig(4, 8, PLAIN) + world_dig(3, 7, PLAIN) + world_dig(4, 7, PLAIN) + world_dig(3, 6, PLAIN) + world_dig(4, 6, PLAIN) + world_dig(3, 5, PLAIN) + world_dig(4, 5, PLAIN) + world_dig(5, 5, PLAIN) + world_dig(5, 6, PLAIN) + world_dig(4, 4, PLAIN) + world_dig(5, 4, PLAIN) + world_dig(6, 4, PLAIN) + world_dig(6, 5, PLAIN) + world_dig(5, 3, PLAIN) + world_dig(6, 3, PLAIN) + world_dig(7, 3, PLAIN) + world_dig(7, 4, PLAIN) + world_dig(7, 5, PLAIN) + world_dig(8, 4, PLAIN) + world_dig(8, 5, PLAIN) + world_dig(9, 5, PLAIN) + world_dig(8, 6, PLAIN) + world_dig(9, 6, PLAIN) + world_dig(10, 5, PLAIN) + world_dig(10, 6, PLAIN) + world_dig(9, 7, PLAIN) + world_dig(10, 7, PLAIN) + world_dig(11, 6, PLAIN) + world_dig(11, 7, PLAIN) + world_dig(10, 8, PLAIN) + world_dig(11, 8, PLAIN) + world_dig(12, 7, PLAIN) + world_dig(12, 8, PLAIN) + world_dig(11, 9, PLAIN) + world_dig(12, 9, PLAIN) + world_dig(13, 9, PLAIN) + world_dig(12, 10, PLAIN) + world_dig(13, 10, PLAIN) + world_dig(12, 11, PLAIN) + world_dig(13, 14, PLAIN) + world_dig(14, 14, PLAIN) + world_dig(13, 15, PLAIN) + world_dig(14, 15, PLAIN) + world_dig(13, 16, PLAIN) + world_dig(14, 16, PLAIN) + world_dig(13, 17, PLAIN) + world_dig(14, 17, PLAIN) + world_dig(12, 16, PLAIN) + world_dig(12, 17, PLAIN) + world_dig(12, 18, PLAIN) + world_dig(13, 18, PLAIN) + world_dig(12, 19, PLAIN) + world_dig(13, 19, PLAIN) + world_dig(12, 20, PLAIN) + world_dig(13, 20, PLAIN) + world_dig(12, 21, PLAIN) + world_dig(13, 21, PLAIN) + world_dig(12, 22, PLAIN) + world_dig(13, 22, PLAIN) + world_dig(3, 19, PLAIN) + world_dig(4, 19, PLAIN) + world_dig(3, 20, PLAIN) + world_dig(4, 20, PLAIN) + world_dig(5, 19, PLAIN) + world_dig(5, 20, PLAIN) + world_dig(4, 21, PLAIN) + world_dig(5, 21, PLAIN) + world_dig(6, 20, PLAIN) + world_dig(6, 21, PLAIN) + world_dig(7, 20, PLAIN) + world_dig(7, 21, PLAIN) + world_dig(8, 20, PLAIN) + world_dig(8, 21, PLAIN) + world_dig(9, 20, PLAIN) + world_dig(9, 21, PLAIN) + world_dig(10, 20, PLAIN) + world_dig(10, 21, PLAIN) + world_dig(11, 20, PLAIN) + world_dig(11, 21, PLAIN) + world_dig(11, 22, PLAIN) + world_dig(14, 21, PLAIN) + world_dig(14, 22, PLAIN) + world_dig(15, 21, PLAIN) + world_dig(15, 22, PLAIN) + world_dig(16, 21, PLAIN) + world_dig(16, 22, PLAIN) + world_dig(17, 22, PLAIN) + world_dig(16, 23, PLAIN) + world_dig(17, 23, PLAIN) + world_dig(18, 23, PLAIN) + world_dig(19, 23, PLAIN) + world_dig(20, 23, PLAIN) + world_dig(3, 21, PLAIN) + world_dig(4, 22, PLAIN) + world_dig(5, 22, PLAIN) + world_dig(4, 23, PLAIN) + world_dig(5, 23, PLAIN) + world_dig(6, 22, PLAIN) + world_dig(6, 23, PLAIN) + world_dig(5, 24, PLAIN) + world_dig(6, 24, PLAIN) + world_dig(7, 24, PLAIN) + world_dig(6, 25, PLAIN) + world_dig(7, 25, PLAIN) + world_dig(6, 26, PLAIN) + world_dig(7, 26, PLAIN) + world_dig(6, 27, PLAIN) + world_dig(7, 27, PLAIN) + world_dig(8, 26, PLAIN) + world_dig(8, 27, PLAIN) + world_dig(7, 28, PLAIN) + world_dig(8, 28, PLAIN) + world_dig(9, 28, PLAIN) + world_dig(8, 29, PLAIN) + world_dig(9, 29, PLAIN) + world_dig(8, 30, PLAIN) + world_dig(9, 30, PLAIN) + world_dig(8, 31, PLAIN) + world_dig(9, 31, PLAIN) + world_dig(10, 30, PLAIN) + world_dig(10, 31, PLAIN) + world_dig(11, 30, PLAIN) + world_dig(11, 31, PLAIN) + world_dig(12, 30, PLAIN) + world_dig(12, 31, PLAIN) + world_dig(13, 30, PLAIN) + world_dig(13, 31, PLAIN) + world_dig(14, 30, PLAIN) + world_dig(14, 31, PLAIN) + world_dig(15, 30, PLAIN) + world_dig(15, 31, PLAIN) + world_dig(15, 29, PLAIN) + world_dig(16, 29, PLAIN) + world_dig(16, 30, PLAIN) + world_dig(15, 28, PLAIN) + world_dig(16, 28, PLAIN) + world_dig(17, 28, PLAIN) + world_dig(17, 29, PLAIN) + world_dig(16, 27, PLAIN) + world_dig(17, 27, PLAIN) + world_dig(18, 27, PLAIN) + world_dig(18, 28, PLAIN) + world_dig(17, 26, PLAIN) + world_dig(18, 26, PLAIN) + world_dig(19, 26, PLAIN) + world_dig(19, 27, PLAIN) + world_dig(18, 25, PLAIN) + world_dig(19, 25, PLAIN) + world_dig(19, 24, PLAIN) + world_dig(20, 24, PLAIN) + world_dig(20, 25, PLAIN) + world_dig(21, 24, PLAIN) + world_dig(21, 25, PLAIN) + world_dig(26, 24, PLAIN) + world_dig(27, 24, PLAIN) + world_dig(28, 24, PLAIN) + world_dig(27, 25, PLAIN) + world_dig(28, 25, PLAIN) + world_dig(27, 26, PLAIN) + world_dig(28, 26, PLAIN) + world_dig(29, 25, PLAIN) + world_dig(29, 26, PLAIN) + world_dig(28, 27, PLAIN) + world_dig(29, 27, PLAIN) + world_dig(28, 28, PLAIN) + world_dig(29, 28, PLAIN) + world_dig(28, 29, PLAIN) + world_dig(29, 29, PLAIN) + world_dig(30, 28, PLAIN) + world_dig(30, 29, PLAIN) + world_dig(29, 30, PLAIN) + world_dig(30, 30, PLAIN) + world_dig(29, 31, PLAIN) + world_dig(30, 31, PLAIN) + world_dig(29, 32, PLAIN) + world_dig(30, 32, PLAIN) + world_dig(31, 32, PLAIN) + world_dig(30, 33, PLAIN) + world_dig(31, 33, PLAIN) + world_dig(30, 34, PLAIN) + world_dig(31, 34, PLAIN) + world_dig(30, 35, PLAIN) + world_dig(31, 35, PLAIN) + world_dig(30, 36, PLAIN) + world_dig(31, 36, PLAIN) + world_dig(32, 36, PLAIN) + world_dig(31, 37, PLAIN) + world_dig(32, 37, PLAIN) + world_dig(31, 38, PLAIN) + world_dig(32, 38, PLAIN) + world_dig(13, 32, PLAIN) + world_dig(14, 32, PLAIN) + world_dig(15, 32, PLAIN) + world_dig(16, 31, PLAIN) + world_dig(16, 32, PLAIN) + world_dig(15, 33, PLAIN) + world_dig(16, 33, PLAIN) + world_dig(17, 32, PLAIN) + world_dig(17, 33, PLAIN) + world_dig(18, 32, PLAIN) + world_dig(18, 33, PLAIN) + world_dig(19, 33, PLAIN) + world_dig(18, 34, PLAIN) + world_dig(19, 34, PLAIN) + world_dig(20, 33, PLAIN) + world_dig(20, 34, PLAIN) + world_dig(21, 33, PLAIN) + world_dig(21, 34, PLAIN) + world_dig(20, 35, PLAIN) + world_dig(21, 35, PLAIN) + world_dig(22, 34, PLAIN) + world_dig(22, 35, PLAIN) + world_dig(23, 34, PLAIN) + world_dig(23, 35, PLAIN) + world_dig(24, 34, PLAIN) + world_dig(24, 35, PLAIN) + world_dig(23, 36, PLAIN) + world_dig(24, 36, PLAIN) + world_dig(25, 35, PLAIN) + world_dig(25, 36, PLAIN) + world_dig(26, 35, PLAIN) + world_dig(26, 36, PLAIN) + world_dig(27, 35, PLAIN) + world_dig(27, 36, PLAIN) + world_dig(28, 35, PLAIN) + world_dig(28, 36, PLAIN) + world_dig(29, 35, PLAIN) + world_dig(29, 36, PLAIN) + world_dig(28, 34, PLAIN) + world_dig(29, 34, PLAIN) + world_dig(17, 34, PLAIN) + world_dig(17, 35, PLAIN) + world_dig(18, 35, PLAIN) + world_dig(19, 35, PLAIN) + world_dig(18, 36, PLAIN) + world_dig(19, 36, PLAIN) + world_dig(18, 37, PLAIN) + world_dig(19, 37, PLAIN) + world_dig(17, 36, PLAIN) + world_dig(17, 37, PLAIN) + world_dig(16, 37, PLAIN) + world_dig(16, 38, PLAIN) + world_dig(17, 38, PLAIN) + world_dig(15, 37, PLAIN) + world_dig(15, 38, PLAIN) + world_dig(15, 39, PLAIN) + world_dig(16, 39, PLAIN) + world_dig(14, 38, PLAIN) + world_dig(14, 39, PLAIN) + world_dig(13, 38, PLAIN) + world_dig(13, 39, PLAIN) + world_dig(12, 38, PLAIN) + world_dig(12, 39, PLAIN) + world_dig(11, 38, PLAIN) + world_dig(11, 39, PLAIN) + world_dig(10, 38, PLAIN) + world_dig(10, 39, PLAIN) + world_dig(9, 38, PLAIN) + world_dig(9, 39, PLAIN) + world_dig(8, 38, PLAIN) + world_dig(8, 39, PLAIN) + world_dig(7, 37, PLAIN) + world_dig(8, 37, PLAIN) + world_dig(7, 38, PLAIN) + world_dig(6, 37, PLAIN) + world_dig(6, 38, PLAIN) + world_dig(6, 36, PLAIN) + world_dig(7, 36, PLAIN) + world_dig(5, 35, PLAIN) + world_dig(6, 35, PLAIN) + world_dig(5, 36, PLAIN) + world_dig(5, 34, PLAIN) + world_dig(6, 34, PLAIN) + world_dig(5, 33, PLAIN) + world_dig(6, 33, PLAIN) + world_dig(4, 33, PLAIN) + world_dig(4, 34, PLAIN) + world_dig(4, 32, PLAIN) + world_dig(5, 32, PLAIN) + world_dig(4, 31, PLAIN) + world_dig(5, 31, PLAIN) + world_dig(4, 30, PLAIN) + world_dig(5, 30, PLAIN) + world_dig(4, 29, PLAIN) + world_dig(5, 29, PLAIN) + world_dig(6, 29, PLAIN) + world_dig(6, 30, PLAIN) + world_dig(5, 28, PLAIN) + world_dig(6, 28, PLAIN) + world_dig(7, 29, PLAIN) + world_dig(33, 38, PLAIN) + world_dig(32, 39, PLAIN) + world_dig(33, 39, PLAIN) + world_dig(34, 38, PLAIN) + world_dig(34, 39, PLAIN) + world_dig(35, 38, PLAIN) + world_dig(35, 39, PLAIN) + world_dig(36, 38, PLAIN) + world_dig(36, 39, PLAIN) + world_dig(35, 37, PLAIN) + world_dig(36, 37, PLAIN) + world_dig(37, 37, PLAIN) + world_dig(37, 38, PLAIN) + world_dig(36, 36, PLAIN) + world_dig(37, 36, PLAIN) + world_dig(38, 36, PLAIN) + world_dig(38, 37, PLAIN) + world_dig(37, 35, PLAIN) + world_dig(38, 35, PLAIN) + world_dig(37, 34, PLAIN) + world_dig(38, 34, PLAIN) + world_dig(37, 33, PLAIN) + world_dig(38, 33, PLAIN) + world_dig(39, 33, PLAIN) + world_dig(39, 34, PLAIN) + world_dig(38, 32, PLAIN) + world_dig(39, 32, PLAIN) + world_dig(38, 31, PLAIN) + world_dig(39, 31, PLAIN) + world_dig(40, 31, PLAIN) + world_dig(40, 32, PLAIN) + world_dig(39, 30, PLAIN) + world_dig(40, 30, PLAIN) + world_dig(39, 29, PLAIN) + world_dig(40, 29, PLAIN) + world_dig(41, 29, PLAIN) + world_dig(41, 30, PLAIN) + world_dig(40, 28, PLAIN) + world_dig(41, 28, PLAIN) + world_dig(40, 27, PLAIN) + world_dig(41, 27, PLAIN) + world_dig(42, 27, PLAIN) + world_dig(42, 28, PLAIN) + world_dig(41, 26, PLAIN) + world_dig(42, 26, PLAIN) + world_dig(41, 25, PLAIN) + world_dig(42, 25, PLAIN) + world_dig(43, 25, PLAIN) + world_dig(43, 26, PLAIN) + world_dig(40, 34, PLAIN) + world_dig(39, 35, PLAIN) + world_dig(40, 35, PLAIN) + world_dig(39, 36, PLAIN) + world_dig(40, 36, PLAIN) + world_dig(41, 35, PLAIN) + world_dig(41, 36, PLAIN) + world_dig(40, 37, PLAIN) + world_dig(41, 37, PLAIN) + world_dig(42, 36, PLAIN) + world_dig(42, 37, PLAIN) + world_dig(41, 38, PLAIN) + world_dig(42, 38, PLAIN) + world_dig(43, 37, PLAIN) + world_dig(43, 38, PLAIN) + world_dig(44, 38, PLAIN) + world_dig(43, 39, PLAIN) + world_dig(44, 39, PLAIN) + world_dig(45, 38, PLAIN) + world_dig(45, 39, PLAIN) + world_dig(44, 40, PLAIN) + world_dig(45, 40, PLAIN) + world_dig(46, 39, PLAIN) + world_dig(46, 40, PLAIN) + world_dig(47, 39, PLAIN) + world_dig(47, 40, PLAIN) + world_dig(46, 41, PLAIN) + world_dig(47, 41, PLAIN) + world_dig(48, 40, PLAIN) + world_dig(48, 41, PLAIN) + world_dig(49, 40, PLAIN) + world_dig(49, 41, PLAIN) + world_dig(49, 39, PLAIN) + world_dig(50, 39, PLAIN) + world_dig(50, 40, PLAIN) + world_dig(51, 39, PLAIN) + world_dig(51, 40, PLAIN) + world_dig(50, 38, PLAIN) + world_dig(51, 38, PLAIN) + world_dig(52, 38, PLAIN) + world_dig(52, 39, PLAIN) + world_dig(51, 37, PLAIN) + world_dig(52, 37, PLAIN) + world_dig(53, 37, PLAIN) + world_dig(53, 38, PLAIN) + world_dig(52, 36, PLAIN) + world_dig(53, 36, PLAIN) + world_dig(52, 35, PLAIN) + world_dig(53, 35, PLAIN) + world_dig(52, 34, PLAIN) + world_dig(53, 34, PLAIN) + world_dig(52, 33, PLAIN) + world_dig(53, 33, PLAIN) + world_dig(51, 33, PLAIN) + world_dig(51, 34, PLAIN) + world_dig(51, 32, PLAIN) + world_dig(52, 32, PLAIN) + world_dig(50, 31, PLAIN) + world_dig(51, 31, PLAIN) + world_dig(50, 32, PLAIN) + world_dig(50, 30, PLAIN) + world_dig(51, 30, PLAIN) + world_dig(49, 30, PLAIN) + world_dig(49, 31, PLAIN) + world_dig(49, 29, PLAIN) + world_dig(50, 29, PLAIN) + world_dig(48, 29, PLAIN) + world_dig(48, 30, PLAIN) + world_dig(48, 28, PLAIN) + world_dig(49, 28, PLAIN) + world_dig(48, 27, PLAIN) + world_dig(49, 27, PLAIN) + world_dig(47, 27, PLAIN) + world_dig(47, 28, PLAIN) + world_dig(47, 26, PLAIN) + world_dig(48, 26, PLAIN) + world_dig(46, 26, PLAIN) + world_dig(46, 27, PLAIN) + world_dig(46, 25, PLAIN) + world_dig(47, 25, PLAIN) + world_dig(45, 25, PLAIN) + world_dig(45, 26, PLAIN) + world_dig(53, 32, PLAIN) + world_dig(54, 32, PLAIN) + world_dig(54, 33, PLAIN) + world_dig(53, 31, PLAIN) + world_dig(54, 31, PLAIN) + world_dig(55, 31, PLAIN) + world_dig(55, 32, PLAIN) + world_dig(56, 31, PLAIN) + world_dig(56, 32, PLAIN) + world_dig(56, 30, PLAIN) + world_dig(57, 30, PLAIN) + world_dig(57, 31, PLAIN) + world_dig(58, 30, PLAIN) + world_dig(58, 31, PLAIN) + world_dig(57, 29, PLAIN) + world_dig(58, 29, PLAIN) + world_dig(59, 29, PLAIN) + world_dig(59, 30, PLAIN) + world_dig(58, 28, PLAIN) + world_dig(59, 28, PLAIN) + world_dig(59, 27, PLAIN) + world_dig(60, 27, PLAIN) + world_dig(60, 28, PLAIN) + world_dig(59, 26, PLAIN) + world_dig(60, 26, PLAIN) + world_dig(59, 25, PLAIN) + world_dig(60, 25, PLAIN) + world_dig(61, 25, PLAIN) + world_dig(61, 26, PLAIN) + world_dig(60, 24, PLAIN) + world_dig(61, 24, PLAIN) + world_dig(59, 23, PLAIN) + world_dig(60, 23, PLAIN) + world_dig(59, 24, PLAIN) + world_dig(59, 22, PLAIN) + world_dig(60, 22, PLAIN) + world_dig(58, 21, PLAIN) + world_dig(59, 21, PLAIN) + world_dig(58, 22, PLAIN) + world_dig(58, 20, PLAIN) + world_dig(59, 20, PLAIN) + world_dig(57, 20, PLAIN) + world_dig(57, 21, PLAIN) + world_dig(57, 19, PLAIN) + world_dig(58, 19, PLAIN) + world_dig(56, 19, PLAIN) + world_dig(56, 20, PLAIN) + world_dig(55, 18, PLAIN) + world_dig(56, 18, PLAIN) + world_dig(55, 19, PLAIN) + world_dig(54, 18, PLAIN) + world_dig(54, 19, PLAIN) + world_dig(55, 17, PLAIN) + world_dig(17, 39, PLAIN) + world_dig(16, 40, PLAIN) + world_dig(17, 40, PLAIN) + world_dig(18, 39, PLAIN) + world_dig(18, 40, PLAIN) + world_dig(17, 41, PLAIN) + world_dig(18, 41, PLAIN) + world_dig(19, 40, PLAIN) + world_dig(19, 41, PLAIN) + world_dig(18, 42, PLAIN) + world_dig(19, 42, PLAIN) + world_dig(20, 41, PLAIN) + world_dig(20, 42, PLAIN) + world_dig(21, 41, PLAIN) + world_dig(21, 42, PLAIN) + world_dig(22, 42, PLAIN) + world_dig(21, 43, PLAIN) + world_dig(22, 43, PLAIN) + world_dig(23, 42, PLAIN) + world_dig(23, 43, PLAIN) + world_dig(24, 42, PLAIN) + world_dig(24, 43, PLAIN) + world_dig(25, 42, PLAIN) + world_dig(25, 43, PLAIN) + world_dig(26, 42, PLAIN) + world_dig(26, 43, PLAIN) + world_dig(27, 42, PLAIN) + world_dig(27, 43, PLAIN) + world_dig(28, 42, PLAIN) + world_dig(28, 43, PLAIN) + world_dig(29, 42, PLAIN) + world_dig(29, 43, PLAIN) + world_dig(30, 42, PLAIN) + world_dig(30, 43, PLAIN) + world_dig(30, 41, PLAIN) + world_dig(31, 41, PLAIN) + world_dig(31, 42, PLAIN) + world_dig(32, 41, PLAIN) + world_dig(32, 42, PLAIN) + world_dig(31, 40, PLAIN) + world_dig(32, 40, PLAIN) + world_dig(33, 40, PLAIN) + world_dig(33, 41, PLAIN) + world_dig(34, 40, PLAIN) + world_dig(34, 41, PLAIN) + world_dig(35, 40, PLAIN) + world_dig(37, 39, PLAIN) + world_dig(52, 40, PLAIN) + world_dig(51, 41, PLAIN) + world_dig(52, 41, PLAIN) + world_dig(53, 41, PLAIN) + world_dig(52, 42, PLAIN) + world_dig(53, 42, PLAIN) + world_dig(54, 41, PLAIN) + world_dig(54, 42, PLAIN) + world_dig(55, 41, PLAIN) + world_dig(55, 42, PLAIN) + world_dig(56, 41, PLAIN) + world_dig(56, 42, PLAIN) + world_dig(57, 41, PLAIN) + world_dig(57, 42, PLAIN) + world_dig(58, 41, PLAIN) + world_dig(58, 42, PLAIN) + world_dig(58, 40, PLAIN) + world_dig(59, 40, PLAIN) + world_dig(59, 41, PLAIN) + world_dig(60, 40, PLAIN) + world_dig(60, 41, PLAIN) + world_dig(59, 39, PLAIN) + world_dig(60, 39, PLAIN) + world_dig(61, 39, PLAIN) + world_dig(61, 40, PLAIN) + world_dig(60, 38, PLAIN) + world_dig(61, 38, PLAIN) + world_dig(62, 38, PLAIN) + world_dig(62, 39, PLAIN) + world_dig(61, 37, PLAIN) + world_dig(62, 37, PLAIN) + world_dig(61, 36, PLAIN) + world_dig(62, 36, PLAIN) + world_dig(62, 35, PLAIN) + world_dig(62, 34, PLAIN) + world_dig(61, 34, PLAIN) + world_dig(61, 35, PLAIN) + world_dig(61, 33, PLAIN) + world_dig(62, 33, PLAIN) + world_dig(61, 32, PLAIN) + world_dig(62, 32, PLAIN) + world_dig(61, 31, PLAIN) + world_dig(62, 31, PLAIN) + world_dig(60, 31, PLAIN) + world_dig(60, 32, PLAIN) + world_dig(60, 30, PLAIN) + world_dig(61, 30, PLAIN) + world_dig(59, 31, PLAIN) + world_dig(3, 18, PLAIN) + world_dig(4, 18, PLAIN) + world_dig(3, 17, PLAIN) + world_dig(4, 17, PLAIN) + world_dig(4, 16, PLAIN) + world_dig(5, 16, PLAIN) + world_dig(5, 17, PLAIN) + world_dig(4, 15, PLAIN) + world_dig(5, 15, PLAIN) + world_dig(5, 14, PLAIN) + world_dig(6, 14, PLAIN) + world_dig(6, 15, PLAIN) + world_dig(5, 13, PLAIN) + world_dig(52, 6, PLAIN) + world_dig(51, 5, PLAIN) + world_dig(52, 5, PLAIN) + world_dig(52, 4, PLAIN) + world_dig(53, 4, PLAIN) + world_dig(53, 5, PLAIN) + world_dig(53, 3, PLAIN) + world_dig(54, 3, PLAIN) + world_dig(54, 4, PLAIN) + world_dig(55, 3, PLAIN) + world_dig(55, 4, PLAIN) + world_dig(56, 3, PLAIN) + world_dig(56, 4, PLAIN) + world_dig(55, 2, PLAIN) + world_dig(56, 2, PLAIN) + world_dig(57, 2, PLAIN) + world_dig(57, 3, PLAIN) + world_dig(58, 2, PLAIN) + world_dig(58, 3, PLAIN) + world_dig(59, 2, PLAIN) + world_dig(59, 3, PLAIN) + world_dig(58, 4, PLAIN) + world_dig(59, 4, PLAIN) + world_dig(60, 3, PLAIN) + world_dig(60, 4, PLAIN) + world_dig(61, 4, PLAIN) + world_dig(60, 5, PLAIN) + world_dig(61, 5, PLAIN) + world_dig(60, 6, PLAIN) + world_dig(61, 6, PLAIN) + world_dig(62, 6, PLAIN) + world_dig(61, 7, PLAIN) + world_dig(62, 7, PLAIN) + world_dig(61, 8, PLAIN) + world_dig(62, 8, PLAIN) + world_dig(61, 9, PLAIN) + world_dig(62, 9, PLAIN) + world_dig(61, 10, PLAIN) + world_dig(62, 10, PLAIN) + world_dig(60, 10, PLAIN) + world_dig(60, 11, PLAIN) + world_dig(61, 11, PLAIN) + world_dig(60, 12, PLAIN) + world_dig(61, 12, PLAIN) + world_dig(59, 11, PLAIN) + world_dig(59, 12, PLAIN) + world_dig(59, 13, PLAIN) + world_dig(60, 13, PLAIN) + world_dig(58, 12, PLAIN) + world_dig(58, 13, PLAIN) + world_dig(58, 14, PLAIN) + world_dig(59, 14, PLAIN) + world_dig(57, 13, PLAIN) + world_dig(57, 14, PLAIN) + world_dig(57, 15, PLAIN) + world_dig(58, 15, PLAIN) + world_dig(56, 14, PLAIN) + world_dig(56, 15, PLAIN) + world_dig(33, 5, PLAIN) + world_dig(33, 4, PLAIN) + world_dig(34, 4, PLAIN) + world_dig(34, 5, PLAIN) + world_dig(33, 3, PLAIN) + world_dig(34, 3, PLAIN) + world_dig(35, 3, PLAIN) + world_dig(35, 4, PLAIN) + world_dig(36, 3, PLAIN) + world_dig(36, 4, PLAIN) + world_dig(35, 2, PLAIN) + world_dig(36, 2, PLAIN) + world_dig(37, 2, PLAIN) + world_dig(37, 3, PLAIN) + world_dig(38, 2, PLAIN) + world_dig(38, 3, PLAIN) + world_dig(39, 2, PLAIN) + world_dig(39, 3, PLAIN) + world_dig(40, 2, PLAIN) + world_dig(40, 3, PLAIN) + world_dig(41, 2, PLAIN) + world_dig(41, 3, PLAIN) + world_dig(42, 2, PLAIN) + world_dig(42, 3, PLAIN) + world_dig(41, 4, PLAIN) + world_dig(42, 4, PLAIN) + world_dig(43, 3, PLAIN) + world_dig(43, 4, PLAIN) + world_dig(42, 5, PLAIN) + world_dig(43, 5, PLAIN) + world_dig(36, 40, PLAIN) + world_dig(35, 41, PLAIN) + world_dig(36, 41, PLAIN) + world_dig(35, 42, PLAIN) + world_dig(36, 42, PLAIN) + world_dig(37, 41, PLAIN) + world_dig(37, 42, PLAIN) + world_dig(36, 43, PLAIN) + world_dig(37, 43, PLAIN) + world_dig(38, 42, PLAIN) + world_dig(38, 43, PLAIN) + world_dig(39, 42, PLAIN) + world_dig(39, 43, PLAIN) + world_dig(40, 42, PLAIN) + world_dig(40, 43, PLAIN) + world_dig(41, 42, PLAIN) + world_dig(41, 43, PLAIN) + world_dig(42, 42, PLAIN) + world_dig(42, 43, PLAIN) + world_dig(43, 42, PLAIN) + world_dig(43, 43, PLAIN) + world_dig(44, 42, PLAIN) + world_dig(44, 43, PLAIN) + world_dig(43, 41, PLAIN) + world_dig(44, 41, PLAIN) + world_dig(45, 41, PLAIN) + world_dig(5, 37, PLAIN) + world_dig(5, 38, PLAIN) + world_dig(5, 39, PLAIN) + world_dig(6, 39, PLAIN) + world_dig(4, 38, PLAIN) + world_dig(4, 39, PLAIN) + world_dig(4, 40, PLAIN) + world_dig(5, 40, PLAIN) + world_dig(3, 39, PLAIN) + world_dig(3, 40, PLAIN) + world_dig(3, 41, PLAIN) + world_dig(4, 41, PLAIN) + world_dig(5, 41, PLAIN) + world_dig(4, 42, PLAIN) + world_dig(5, 42, PLAIN) + world_dig(6, 42, PLAIN) + world_dig(5, 43, PLAIN) + world_dig(6, 43, PLAIN) + world_dig(7, 42, PLAIN) + world_dig(7, 43, PLAIN) + world_dig(6, 44, PLAIN) + world_dig(7, 44, PLAIN) + world_dig(8, 43, PLAIN) + world_dig(8, 44, PLAIN) + world_dig(9, 43, PLAIN) + world_dig(9, 44, PLAIN) + world_dig(10, 43, PLAIN) + world_dig(10, 44, PLAIN) + world_dig(11, 43, PLAIN) + world_dig(11, 44, PLAIN) + world_dig(12, 43, PLAIN) + world_dig(12, 44, PLAIN) + world_dig(11, 42, PLAIN) + world_dig(12, 42, PLAIN) + world_dig(11, 41, PLAIN) + world_dig(12, 41, PLAIN) + world_dig(11, 40, PLAIN) + world_dig(12, 40, PLAIN) + world_dig(13, 40, PLAIN) + world_dig(13, 41, PLAIN) + world_dig(31, 21, PLAIN) + world_dig(32, 21, PLAIN) + world_dig(31, 20, PLAIN) + world_dig(32, 20, PLAIN) + world_dig(33, 20, PLAIN) + world_dig(33, 21, PLAIN) + world_dig(34, 20, PLAIN) + world_dig(34, 21, PLAIN) + world_dig(30, 21, PLAIN) + world_dig(30, 20, PLAIN) + world_dig(30, 24, PLAIN) + world_dig(31, 24, PLAIN) + world_dig(32, 24, PLAIN) + world_dig(31, 25, PLAIN) + world_dig(32, 25, PLAIN) + world_dig(31, 26, PLAIN) + world_dig(32, 26, PLAIN) + world_dig(33, 25, PLAIN) + world_dig(33, 26, PLAIN) + world_dig(34, 25, PLAIN) + world_dig(34, 26, PLAIN) + world_dig(33, 24, PLAIN) + world_dig(34, 24, PLAIN) + world_dig(35, 21, PLAIN) + world_dig(36, 21, PLAIN) + world_dig(35, 20, PLAIN) + world_dig(36, 20, PLAIN) + world_dig(35, 25, PLAIN) + world_dig(36, 25, PLAIN) + world_dig(35, 26, PLAIN) + world_dig(36, 26, PLAIN) + world_dig(31, 19, PLAIN) + world_dig(32, 19, PLAIN) + world_dig(33, 19, PLAIN) + world_dig(34, 19, PLAIN) + world_dig(35, 19, PLAIN) + world_dig(26, 16, PLAIN) + world_dig(27, 16, PLAIN) + world_dig(26, 17, PLAIN) + world_dig(27, 17, PLAIN) + world_dig(25, 16, PLAIN) + world_dig(25, 17, PLAIN) + world_dig(25, 18, PLAIN) + world_dig(26, 18, PLAIN) + world_dig(24, 17, PLAIN) + world_dig(24, 18, PLAIN) + world_dig(24, 19, PLAIN) + world_dig(25, 19, PLAIN) + world_dig(23, 18, PLAIN) + world_dig(23, 19, PLAIN) + world_dig(23, 20, PLAIN) + world_dig(24, 20, PLAIN) + world_dig(22, 19, PLAIN) + world_dig(22, 20, PLAIN) + world_dig(23, 21, PLAIN) food_spawner = {} for s = 0, 15 do diff --git a/level/gpn.lua b/level/gpn.lua index a0ad72a..0bd1536 100644 --- a/level/gpn.lua +++ b/level/gpn.lua @@ -9,307 +9,307 @@ function level_koth_pos() end function level_init() - world_dig(20, 14) - world_dig(12, 4) - world_dig(11, 4) - world_dig(10, 4) - world_dig(9, 4) - world_dig(8, 4) - world_dig(7, 5) - world_dig(8, 5) - world_dig(9, 5) - world_dig(10, 5) - world_dig(11, 5) - world_dig(6, 6) - world_dig(7, 6) - world_dig(8, 6) - world_dig(9, 6) - world_dig(5, 7) - world_dig(6, 7) - world_dig(7, 7) - world_dig(8, 7) - world_dig(4, 8) - world_dig(5, 8) - world_dig(6, 8) - world_dig(4, 9) - world_dig(5, 9) - world_dig(6, 10) - world_dig(7, 10) - world_dig(5, 10) - world_dig(5, 11) - world_dig(6, 11) - world_dig(6, 12) - world_dig(5, 12) - world_dig(6, 13) - world_dig(6, 14) - world_dig(5, 14) - world_dig(5, 13) - world_dig(6, 15) - world_dig(5, 15) - world_dig(6, 16) - world_dig(5, 16) - world_dig(6, 17) - world_dig(6, 18) - world_dig(7, 18) - world_dig(7, 19) - world_dig(6, 19) - world_dig(7, 20) - world_dig(6, 20) - world_dig(8, 21) - world_dig(7, 21) - world_dig(8, 20) - world_dig(9, 20) - world_dig(9, 21) - world_dig(9, 22) - world_dig(8, 22) - world_dig(10, 22) - world_dig(10, 23) - world_dig(10, 21) - world_dig(11, 21) - world_dig(11, 22) - world_dig(12, 20) - world_dig(12, 21) - world_dig(13, 20) - world_dig(13, 19) - world_dig(14, 19) - world_dig(14, 20) - world_dig(14, 21) - world_dig(13, 21) - world_dig(13, 18) - world_dig(14, 18) - world_dig(13, 17) - world_dig(13, 16) - world_dig(14, 16) - world_dig(14, 17) - world_dig(13, 15) - world_dig(13, 14) - world_dig(14, 14) - world_dig(14, 15) - world_dig(12, 15) - world_dig(12, 14) - world_dig(11, 15) - world_dig(11, 14) - world_dig(12, 5) - world_dig(13, 4) - world_dig(13, 5) - world_dig(13, 6) - world_dig(14, 5) - world_dig(14, 6) - world_dig(15, 7) - world_dig(17, 4) - world_dig(18, 4) - world_dig(18, 5) - world_dig(17, 5) - world_dig(18, 6) - world_dig(18, 7) - world_dig(19, 7) - world_dig(19, 8) - world_dig(19, 9) - world_dig(18, 9) - world_dig(18, 8) - world_dig(18, 10) - world_dig(17, 9) - world_dig(17, 8) - world_dig(19, 10) - world_dig(19, 11) - world_dig(18, 11) - world_dig(19, 12) - world_dig(19, 13) - world_dig(19, 14) - world_dig(18, 14) - world_dig(18, 13) - world_dig(19, 15) - world_dig(19, 16) - world_dig(20, 15) - world_dig(20, 16) - world_dig(20, 17) - world_dig(20, 18) - world_dig(19, 18) - world_dig(19, 17) - world_dig(21, 17) - world_dig(21, 18) - world_dig(21, 19) - world_dig(20, 19) - world_dig(20, 20) - world_dig(19, 20) - world_dig(19, 19) - world_dig(20, 21) - world_dig(19, 21) - world_dig(20, 22) - world_dig(19, 4) - world_dig(20, 4) - world_dig(21, 4) - world_dig(22, 4) - world_dig(22, 5) - world_dig(23, 5) - world_dig(24, 5) - world_dig(24, 6) - world_dig(25, 6) - world_dig(25, 7) - world_dig(25, 8) - world_dig(25, 9) - world_dig(25, 10) - world_dig(25, 11) - world_dig(25, 12) - world_dig(24, 12) - world_dig(23, 12) - world_dig(22, 12) - world_dig(21, 12) - world_dig(20, 12) - world_dig(20, 13) - world_dig(21, 13) - world_dig(24, 11) - world_dig(24, 10) - world_dig(24, 9) - world_dig(24, 8) - world_dig(24, 7) - world_dig(23, 6) - world_dig(21, 5) - world_dig(20, 5) - world_dig(19, 5) - world_dig(25, 22) - world_dig(25, 21) - world_dig(25, 20) - world_dig(26, 19) - world_dig(26, 18) - world_dig(26, 17) - world_dig(26, 16) - world_dig(27, 16) - world_dig(27, 15) - world_dig(27, 14) - world_dig(27, 13) - world_dig(27, 12) - world_dig(27, 11) - world_dig(27, 10) - world_dig(27, 9) - world_dig(27, 8) - world_dig(28, 8) - world_dig(28, 7) - world_dig(28, 6) - world_dig(28, 5) - world_dig(29, 6) - world_dig(29, 7) - world_dig(29, 8) - world_dig(29, 9) - world_dig(30, 10) - world_dig(30, 11) - world_dig(30, 12) - world_dig(30, 13) - world_dig(30, 14) - world_dig(31, 15) - world_dig(31, 16) - world_dig(31, 17) - world_dig(31, 18) - world_dig(32, 18) - world_dig(32, 19) - world_dig(32, 20) - world_dig(32, 21) - world_dig(33, 21) - world_dig(33, 22) - world_dig(31, 14) - world_dig(31, 13) - world_dig(31, 12) - world_dig(30, 9) - world_dig(30, 8) - world_dig(28, 9) - world_dig(27, 17) - world_dig(27, 18) - world_dig(26, 20) - world_dig(26, 21) - world_dig(28, 10) - world_dig(28, 11) - world_dig(34, 21) - world_dig(34, 20) - world_dig(35, 19) - world_dig(35, 18) - world_dig(35, 17) - world_dig(35, 16) - world_dig(35, 15) - world_dig(35, 14) - world_dig(36, 14) - world_dig(36, 13) - world_dig(36, 12) - world_dig(36, 11) - world_dig(36, 10) - world_dig(36, 9) - world_dig(36, 8) - world_dig(36, 7) - world_dig(36, 6) - world_dig(36, 5) - world_dig(35, 7) - world_dig(35, 8) - world_dig(35, 9) - world_dig(35, 10) - world_dig(35, 11) - world_dig(36, 15) - world_dig(34, 19) - world_dig(5, 23) - world_dig(6, 23) - world_dig(7, 23) - world_dig(8, 23) - world_dig(9, 23) - world_dig(11, 23) - world_dig(12, 23) - world_dig(13, 23) - world_dig(14, 23) - world_dig(15, 23) - world_dig(16, 23) - world_dig(17, 23) - world_dig(18, 23) - world_dig(19, 23) - world_dig(20, 23) - world_dig(21, 23) - world_dig(22, 23) - world_dig(23, 23) - world_dig(24, 23) - world_dig(25, 23) - world_dig(26, 23) - world_dig(27, 23) - world_dig(28, 23) - world_dig(29, 23) - world_dig(30, 23) - world_dig(31, 23) - world_dig(32, 23) - world_dig(33, 23) - world_dig(34, 23) - world_dig(35, 23) - world_dig(37, 4) - world_dig(36, 4) - world_dig(35, 4) - world_dig(34, 4) - world_dig(33, 4) - world_dig(32, 4) - world_dig(32, 5) - world_dig(31, 5) - world_dig(30, 5) - world_dig(29, 5) - world_dig(27, 5) - world_dig(26, 5) - world_dig(25, 5) - world_dig(25, 4) - world_dig(24, 4) - world_dig(23, 4) - world_dig(16, 4) - world_dig(15, 4) - world_dig(14, 4) - world_dig(7, 4) - world_dig(6, 4) - world_dig(5, 4) - world_dig(4, 4) - world_dig(4, 3) - world_dig(3, 3) - world_dig(3, 4) - world_dig(2, 4) - world_dig(1, 4) - world_dig(38, 4) - world_dig(36, 23) - world_dig(37, 23) - world_dig(38, 23) - world_dig(4, 23) - world_dig(3, 23) - world_dig(2, 23) - world_dig(1, 23) - world_dig(15, 6) + world_dig(20, 14, PLAIN) + world_dig(12, 4, PLAIN) + world_dig(11, 4, PLAIN) + world_dig(10, 4, PLAIN) + world_dig(9, 4, PLAIN) + world_dig(8, 4, PLAIN) + world_dig(7, 5, PLAIN) + world_dig(8, 5, PLAIN) + world_dig(9, 5, PLAIN) + world_dig(10, 5, PLAIN) + world_dig(11, 5, PLAIN) + world_dig(6, 6, PLAIN) + world_dig(7, 6, PLAIN) + world_dig(8, 6, PLAIN) + world_dig(9, 6, PLAIN) + world_dig(5, 7, PLAIN) + world_dig(6, 7, PLAIN) + world_dig(7, 7, PLAIN) + world_dig(8, 7, PLAIN) + world_dig(4, 8, PLAIN) + world_dig(5, 8, PLAIN) + world_dig(6, 8, PLAIN) + world_dig(4, 9, PLAIN) + world_dig(5, 9, PLAIN) + world_dig(6, 10, PLAIN) + world_dig(7, 10, PLAIN) + world_dig(5, 10, PLAIN) + world_dig(5, 11, PLAIN) + world_dig(6, 11, PLAIN) + world_dig(6, 12, PLAIN) + world_dig(5, 12, PLAIN) + world_dig(6, 13, PLAIN) + world_dig(6, 14, PLAIN) + world_dig(5, 14, PLAIN) + world_dig(5, 13, PLAIN) + world_dig(6, 15, PLAIN) + world_dig(5, 15, PLAIN) + world_dig(6, 16, PLAIN) + world_dig(5, 16, PLAIN) + world_dig(6, 17, PLAIN) + world_dig(6, 18, PLAIN) + world_dig(7, 18, PLAIN) + world_dig(7, 19, PLAIN) + world_dig(6, 19, PLAIN) + world_dig(7, 20, PLAIN) + world_dig(6, 20, PLAIN) + world_dig(8, 21, PLAIN) + world_dig(7, 21, PLAIN) + world_dig(8, 20, PLAIN) + world_dig(9, 20, PLAIN) + world_dig(9, 21, PLAIN) + world_dig(9, 22, PLAIN) + world_dig(8, 22, PLAIN) + world_dig(10, 22, PLAIN) + world_dig(10, 23, PLAIN) + world_dig(10, 21, PLAIN) + world_dig(11, 21, PLAIN) + world_dig(11, 22, PLAIN) + world_dig(12, 20, PLAIN) + world_dig(12, 21, PLAIN) + world_dig(13, 20, PLAIN) + world_dig(13, 19, PLAIN) + world_dig(14, 19, PLAIN) + world_dig(14, 20, PLAIN) + world_dig(14, 21, PLAIN) + world_dig(13, 21, PLAIN) + world_dig(13, 18, PLAIN) + world_dig(14, 18, PLAIN) + world_dig(13, 17, PLAIN) + world_dig(13, 16, PLAIN) + world_dig(14, 16, PLAIN) + world_dig(14, 17, PLAIN) + world_dig(13, 15, PLAIN) + world_dig(13, 14, PLAIN) + world_dig(14, 14, PLAIN) + world_dig(14, 15, PLAIN) + world_dig(12, 15, PLAIN) + world_dig(12, 14, PLAIN) + world_dig(11, 15, PLAIN) + world_dig(11, 14, PLAIN) + world_dig(12, 5, PLAIN) + world_dig(13, 4, PLAIN) + world_dig(13, 5, PLAIN) + world_dig(13, 6, PLAIN) + world_dig(14, 5, PLAIN) + world_dig(14, 6, PLAIN) + world_dig(15, 7, PLAIN) + world_dig(17, 4, PLAIN) + world_dig(18, 4, PLAIN) + world_dig(18, 5, PLAIN) + world_dig(17, 5, PLAIN) + world_dig(18, 6, PLAIN) + world_dig(18, 7, PLAIN) + world_dig(19, 7, PLAIN) + world_dig(19, 8, PLAIN) + world_dig(19, 9, PLAIN) + world_dig(18, 9, PLAIN) + world_dig(18, 8, PLAIN) + world_dig(18, 10, PLAIN) + world_dig(17, 9, PLAIN) + world_dig(17, 8, PLAIN) + world_dig(19, 10, PLAIN) + world_dig(19, 11, PLAIN) + world_dig(18, 11, PLAIN) + world_dig(19, 12, PLAIN) + world_dig(19, 13, PLAIN) + world_dig(19, 14, PLAIN) + world_dig(18, 14, PLAIN) + world_dig(18, 13, PLAIN) + world_dig(19, 15, PLAIN) + world_dig(19, 16, PLAIN) + world_dig(20, 15, PLAIN) + world_dig(20, 16, PLAIN) + world_dig(20, 17, PLAIN) + world_dig(20, 18, PLAIN) + world_dig(19, 18, PLAIN) + world_dig(19, 17, PLAIN) + world_dig(21, 17, PLAIN) + world_dig(21, 18, PLAIN) + world_dig(21, 19, PLAIN) + world_dig(20, 19, PLAIN) + world_dig(20, 20, PLAIN) + world_dig(19, 20, PLAIN) + world_dig(19, 19, PLAIN) + world_dig(20, 21, PLAIN) + world_dig(19, 21, PLAIN) + world_dig(20, 22, PLAIN) + world_dig(19, 4, PLAIN) + world_dig(20, 4, PLAIN) + world_dig(21, 4, PLAIN) + world_dig(22, 4, PLAIN) + world_dig(22, 5, PLAIN) + world_dig(23, 5, PLAIN) + world_dig(24, 5, PLAIN) + world_dig(24, 6, PLAIN) + world_dig(25, 6, PLAIN) + world_dig(25, 7, PLAIN) + world_dig(25, 8, PLAIN) + world_dig(25, 9, PLAIN) + world_dig(25, 10, PLAIN) + world_dig(25, 11, PLAIN) + world_dig(25, 12, PLAIN) + world_dig(24, 12, PLAIN) + world_dig(23, 12, PLAIN) + world_dig(22, 12, PLAIN) + world_dig(21, 12, PLAIN) + world_dig(20, 12, PLAIN) + world_dig(20, 13, PLAIN) + world_dig(21, 13, PLAIN) + world_dig(24, 11, PLAIN) + world_dig(24, 10, PLAIN) + world_dig(24, 9, PLAIN) + world_dig(24, 8, PLAIN) + world_dig(24, 7, PLAIN) + world_dig(23, 6, PLAIN) + world_dig(21, 5, PLAIN) + world_dig(20, 5, PLAIN) + world_dig(19, 5, PLAIN) + world_dig(25, 22, PLAIN) + world_dig(25, 21, PLAIN) + world_dig(25, 20, PLAIN) + world_dig(26, 19, PLAIN) + world_dig(26, 18, PLAIN) + world_dig(26, 17, PLAIN) + world_dig(26, 16, PLAIN) + world_dig(27, 16, PLAIN) + world_dig(27, 15, PLAIN) + world_dig(27, 14, PLAIN) + world_dig(27, 13, PLAIN) + world_dig(27, 12, PLAIN) + world_dig(27, 11, PLAIN) + world_dig(27, 10, PLAIN) + world_dig(27, 9, PLAIN) + world_dig(27, 8, PLAIN) + world_dig(28, 8, PLAIN) + world_dig(28, 7, PLAIN) + world_dig(28, 6, PLAIN) + world_dig(28, 5, PLAIN) + world_dig(29, 6, PLAIN) + world_dig(29, 7, PLAIN) + world_dig(29, 8, PLAIN) + world_dig(29, 9, PLAIN) + world_dig(30, 10, PLAIN) + world_dig(30, 11, PLAIN) + world_dig(30, 12, PLAIN) + world_dig(30, 13, PLAIN) + world_dig(30, 14, PLAIN) + world_dig(31, 15, PLAIN) + world_dig(31, 16, PLAIN) + world_dig(31, 17, PLAIN) + world_dig(31, 18, PLAIN) + world_dig(32, 18, PLAIN) + world_dig(32, 19, PLAIN) + world_dig(32, 20, PLAIN) + world_dig(32, 21, PLAIN) + world_dig(33, 21, PLAIN) + world_dig(33, 22, PLAIN) + world_dig(31, 14, PLAIN) + world_dig(31, 13, PLAIN) + world_dig(31, 12, PLAIN) + world_dig(30, 9, PLAIN) + world_dig(30, 8, PLAIN) + world_dig(28, 9, PLAIN) + world_dig(27, 17, PLAIN) + world_dig(27, 18, PLAIN) + world_dig(26, 20, PLAIN) + world_dig(26, 21, PLAIN) + world_dig(28, 10, PLAIN) + world_dig(28, 11, PLAIN) + world_dig(34, 21, PLAIN) + world_dig(34, 20, PLAIN) + world_dig(35, 19, PLAIN) + world_dig(35, 18, PLAIN) + world_dig(35, 17, PLAIN) + world_dig(35, 16, PLAIN) + world_dig(35, 15, PLAIN) + world_dig(35, 14, PLAIN) + world_dig(36, 14, PLAIN) + world_dig(36, 13, PLAIN) + world_dig(36, 12, PLAIN) + world_dig(36, 11, PLAIN) + world_dig(36, 10, PLAIN) + world_dig(36, 9, PLAIN) + world_dig(36, 8, PLAIN) + world_dig(36, 7, PLAIN) + world_dig(36, 6, PLAIN) + world_dig(36, 5, PLAIN) + world_dig(35, 7, PLAIN) + world_dig(35, 8, PLAIN) + world_dig(35, 9, PLAIN) + world_dig(35, 10, PLAIN) + world_dig(35, 11, PLAIN) + world_dig(36, 15, PLAIN) + world_dig(34, 19, PLAIN) + world_dig(5, 23, PLAIN) + world_dig(6, 23, PLAIN) + world_dig(7, 23, PLAIN) + world_dig(8, 23, PLAIN) + world_dig(9, 23, PLAIN) + world_dig(11, 23, PLAIN) + world_dig(12, 23, PLAIN) + world_dig(13, 23, PLAIN) + world_dig(14, 23, PLAIN) + world_dig(15, 23, PLAIN) + world_dig(16, 23, PLAIN) + world_dig(17, 23, PLAIN) + world_dig(18, 23, PLAIN) + world_dig(19, 23, PLAIN) + world_dig(20, 23, PLAIN) + world_dig(21, 23, PLAIN) + world_dig(22, 23, PLAIN) + world_dig(23, 23, PLAIN) + world_dig(24, 23, PLAIN) + world_dig(25, 23, PLAIN) + world_dig(26, 23, PLAIN) + world_dig(27, 23, PLAIN) + world_dig(28, 23, PLAIN) + world_dig(29, 23, PLAIN) + world_dig(30, 23, PLAIN) + world_dig(31, 23, PLAIN) + world_dig(32, 23, PLAIN) + world_dig(33, 23, PLAIN) + world_dig(34, 23, PLAIN) + world_dig(35, 23, PLAIN) + world_dig(37, 4, PLAIN) + world_dig(36, 4, PLAIN) + world_dig(35, 4, PLAIN) + world_dig(34, 4, PLAIN) + world_dig(33, 4, PLAIN) + world_dig(32, 4, PLAIN) + world_dig(32, 5, PLAIN) + world_dig(31, 5, PLAIN) + world_dig(30, 5, PLAIN) + world_dig(29, 5, PLAIN) + world_dig(27, 5, PLAIN) + world_dig(26, 5, PLAIN) + world_dig(25, 5, PLAIN) + world_dig(25, 4, PLAIN) + world_dig(24, 4, PLAIN) + world_dig(23, 4, PLAIN) + world_dig(16, 4, PLAIN) + world_dig(15, 4, PLAIN) + world_dig(14, 4, PLAIN) + world_dig(7, 4, PLAIN) + world_dig(6, 4, PLAIN) + world_dig(5, 4, PLAIN) + world_dig(4, 4, PLAIN) + world_dig(4, 3, PLAIN) + world_dig(3, 3, PLAIN) + world_dig(3, 4, PLAIN) + world_dig(2, 4, PLAIN) + world_dig(1, 4, PLAIN) + world_dig(38, 4, PLAIN) + world_dig(36, 23, PLAIN) + world_dig(37, 23, PLAIN) + world_dig(38, 23, PLAIN) + world_dig(4, 23, PLAIN) + world_dig(3, 23, PLAIN) + world_dig(2, 23, PLAIN) + world_dig(1, 23, PLAIN) + world_dig(15, 6, PLAIN) food_spawner = {} for s = 0, 10 do diff --git a/player.c b/player.c index 4227000..20cd6d6 100644 --- a/player.c +++ b/player.c @@ -482,45 +482,35 @@ player_t *player_create(const char *pass) { lua_register(player->L, "king_player", luaKingPlayer); lua_register(player->L, "player_score", luaPlayerScore); - lua_pushliteral(player->L, "CREATURE_IDLE"); - lua_pushnumber(player->L, CREATURE_IDLE); - lua_settable(player->L, LUA_GLOBALSINDEX); + lua_pushnumber(player->L, CREATURE_IDLE); + lua_setglobal(player->L, "CREATURE_IDLE"); - lua_pushliteral(player->L, "CREATURE_WALK"); - lua_pushnumber(player->L, CREATURE_WALK); - lua_settable(player->L, LUA_GLOBALSINDEX); + lua_pushnumber(player->L, CREATURE_WALK); + lua_setglobal(player->L, "CREATURE_WALK"); - lua_pushliteral(player->L, "CREATURE_HEAL"); - lua_pushnumber(player->L, CREATURE_HEAL); - lua_settable(player->L, LUA_GLOBALSINDEX); + lua_pushnumber(player->L, CREATURE_HEAL); + lua_setglobal(player->L, "CREATURE_HEAL"); - lua_pushliteral(player->L, "CREATURE_EAT"); - lua_pushnumber(player->L, CREATURE_EAT); - lua_settable(player->L, LUA_GLOBALSINDEX); + lua_pushnumber(player->L, CREATURE_EAT); + lua_setglobal(player->L, "CREATURE_EAT"); - lua_pushliteral(player->L, "CREATURE_ATTACK"); - lua_pushnumber(player->L, CREATURE_ATTACK); - lua_settable(player->L, LUA_GLOBALSINDEX); + lua_pushnumber(player->L, CREATURE_ATTACK); + lua_setglobal(player->L, "CREATURE_ATTACK"); - lua_pushliteral(player->L, "CREATURE_CONVERT"); - lua_pushnumber(player->L, CREATURE_CONVERT); - lua_settable(player->L, LUA_GLOBALSINDEX); + lua_pushnumber(player->L, CREATURE_CONVERT); + lua_setglobal(player->L, "CREATURE_CONVERT"); - lua_pushliteral(player->L, "CREATURE_SPAWN"); - lua_pushnumber(player->L, CREATURE_SPAWN); - lua_settable(player->L, LUA_GLOBALSINDEX); + lua_pushnumber(player->L, CREATURE_SPAWN); + lua_setglobal(player->L, "CREATURE_SPAWN"); - lua_pushliteral(player->L, "CREATURE_FEED"); - lua_pushnumber(player->L, CREATURE_FEED); - lua_settable(player->L, LUA_GLOBALSINDEX); + lua_pushnumber(player->L, CREATURE_FEED); + lua_setglobal(player->L, "CREATURE_FEED"); - lua_pushliteral(player->L, "player_number"); - lua_pushnumber(player->L, playerno); - lua_settable(player->L, LUA_GLOBALSINDEX); + lua_pushnumber(player->L, playerno); + lua_setglobal(player->L, "player_number"); - lua_pushliteral(L, "MAXPLAYERS"); - lua_pushnumber(L, MAXPLAYERS); - lua_settable(L, LUA_GLOBALSINDEX); + lua_pushnumber(L, MAXPLAYERS); + lua_setglobal(L, "MAXPLAYERS"); lua_setmaxmem(player->L, LUA_MAX_MEM); lua_dofile(player->L, "player.lua"); @@ -728,9 +718,9 @@ void player_think() { game_time > player->all_dead_time + PLAYER_CREATURE_RESPAWN_DELAY) { int x, y; - world_find_digged(&x, &y); + world_find_plain(&x, &y); creature_spawn(player, TILE_XCENTER(x), TILE_YCENTER(y), 0, 0); - world_find_digged(&x, &y); + world_find_plain(&x, &y); creature_spawn(player, TILE_XCENTER(x), TILE_YCENTER(y), 0, 0); //creature_t * first = creature_spawn(player, TILE_XCENTER(world_koth_x()), TILE_YCENTER(world_koth_y()), 1, 0); // first->food = creature_max_food(first); diff --git a/player.lua b/player.lua index 4fe50cb..e2e4997 100644 --- a/player.lua +++ b/player.lua @@ -155,6 +155,10 @@ function Creature:screen_message(msg) return set_message(self.id, msg) end +function Creature:begin_idling() + return set_state(self.id, CREATURE_IDLE) +end + function Creature:begin_walk_path() return set_state(self.id, CREATURE_WALK) end @@ -215,6 +219,13 @@ function Creature:is_feeding() return get_state(self.id) == CREATURE_FEED end +function Creature:sleep(msec) + local time = game_time() + while time + msec >= game_time() do + self:wait_for_next_round() + end +end + function Creature:main_restarter() while true do self:main() @@ -240,7 +251,7 @@ function Creature:wait_for_next_round() coroutine.yield() else print("-----------------------------------------------------------") - print("Die Funktion kann keine langlaufenden Aktionen ausfuehren\n" .. _TRACEBACK()) + print("Error: A called function wanted to wait_for_next_round().") print("-----------------------------------------------------------") error("cannot continue") end diff --git a/sprite.c b/sprite.c index 519a9ab..c53b194 100644 --- a/sprite.c +++ b/sprite.c @@ -55,7 +55,9 @@ static void sprite_load_background() { { 8, 2 }, { 9, 2 }, { 10, 2 }, { 11, 2 }, { 12, 2 }, { 13, 2 }, { 14, 2 }, { 15, 2 }, // KOTH - { 0, 3 } + { 0, 3 }, + // Water + { 0, 6 }, { 1, 6 }, { 2, 6 }, { 3, 6 }, }; for (int i = 0; i < SPRITE_NUM_TILES; i++) { diff --git a/sprite.h b/sprite.h index 7749b75..114dcc5 100644 --- a/sprite.h +++ b/sprite.h @@ -40,10 +40,14 @@ #define SPRITE_KOTH (SPRITE_PLAIN + SPRITE_NUM_PLAIN) #define SPRITE_NUM_KOTH 1 +#define SPRITE_WATER (SPRITE_KOTH + SPRITE_NUM_KOTH) +#define SPRITE_NUM_WATER 4 + #define SPRITE_NUM_TILES (SPRITE_NUM_SOLID + \ SPRITE_NUM_PLAIN + \ SPRITE_NUM_BORDER + \ - SPRITE_NUM_KOTH) + SPRITE_NUM_KOTH + \ + SPRITE_NUM_WATER) // Sprite Nummern bis hier duerfen maximal 255 sein, da diese // beim World Netzwerk syncen in Bytes verpackt werden. diff --git a/video.c b/video.c index a34b3a8..67e573d 100644 --- a/video.c +++ b/video.c @@ -34,7 +34,7 @@ static sge_bmpFont *font; static char tiny_font[1792]; // XXX Hardcoded -void video_init(int w, int h) { +void video_init(int w, int h, int fs) { if (SDL_InitSubSystem(SDL_INIT_VIDEO) == -1) if (SDL_Init(0) == -1) die("Couldn't initialize SDL: %s", SDL_GetError()); @@ -49,6 +49,9 @@ void video_init(int w, int h) { if (!(vi->vfmt->BitsPerPixel == 16 || vi->vfmt->BitsPerPixel == 32)) die("insufficient color depth"); + if (fs) + flags |= SDL_FULLSCREEN; + screen = SDL_SetVideoMode(w, h, vi->vfmt->BitsPerPixel, flags); if (!screen) diff --git a/video.h b/video.h index 5121a08..fc7a393 100644 --- a/video.h +++ b/video.h @@ -45,7 +45,7 @@ void video_tiny(Sint16 x, Sint16 y, const char *text); SDL_Surface *video_new_surface(int w, int h); -void video_init(int w, int h); +void video_init(int w, int h, int fs); void video_shutdown(); #endif diff --git a/world.c b/world.c index 3ba087e..0806bec 100644 --- a/world.c +++ b/world.c @@ -38,7 +38,7 @@ static int koth_x; static int koth_y; // TODO: Jeder Kreaturtype sollte eigene Pfadsuche haben -static map_t *map_pathfind; +static map_t *walkmap; static pathfinder_t finder; typedef struct maptile_s { @@ -50,38 +50,48 @@ static maptile_t *map; #define MAPTILE(x, y) (map[(y) * world_w + (x)]) -static int is_on_map(int x, int y) { +int world_is_on_map(int x, int y) { return x >= 0 && x < world_w && y >= 0 && y < world_h; } +int world_is_within_border(int x, int y) { + return x >= 1 && x < world_w - 1 && + y >= 1 && y < world_h - 1; +} + int world_walkable(int x, int y) { - return is_on_map(x, y) && - map_walkable(map_pathfind, x, y); + return world_is_on_map(x, y) && + map_walkable(walkmap, x, y); } int world_dig(int x, int y, maptype_e type) { - if (x < 1 || x >= world_w - 1 || - y < 1 || y >= world_h - 1) + if (type == SOLID) + return 0; + + if (!world_is_within_border(x, y)) return 0; if (MAPTILE(x, y).type != SOLID) return 0; - fprintf(stderr, "world_dig(%d, %d)\n", x, y); + fprintf(stderr, "world_dig(%d, %d, %d)\n", x, y, type); - map_dig(map_pathfind, x, y); + // Pfadsuche fuer Bodenbasierte Viecher aktualisieren + if (type == PLAIN) + map_dig(walkmap, x, y); + MAPTILE(x, y).type = type; world_to_network(x, y, SEND_BROADCAST); return 1; } pathnode_t *world_findpath(int x1, int y1, int x2, int y2) { - return finder_find(&finder, map_pathfind, x1, y1, x2, y2); + return finder_find(&finder, walkmap, x1, y1, x2, y2); } int world_get_food(int x, int y) { - if (!is_on_map(x, y)) + if (!world_is_on_map(x, y)) return 0; return MAPTILE(x, y).food; @@ -92,7 +102,7 @@ static int food_to_network_food(int food) { } int world_add_food(int x, int y, int amount) { - if (!is_on_map(x, y)) + if (!world_is_on_map(x, y)) return 0; if (MAPTILE(x, y).type != PLAIN) @@ -111,7 +121,7 @@ int world_add_food(int x, int y, int amount) { } int world_food_eat(int x, int y, int amount) { - if (!is_on_map(x, y)) + if (!world_is_on_map(x, y)) return 0; if (MAPTILE(x, y).type != PLAIN) @@ -146,7 +156,7 @@ int world_koth_y() { return koth_y; } -void world_find_digged(int *x, int *y) { +void world_find_plain(int *x, int *y) { // Terminiert, da kothtile immer freigegraben while (1) { int xx = rand() % world_w; @@ -196,7 +206,9 @@ void world_tick() { } static int luaWorldDig(lua_State *L) { - lua_pushboolean(L, world_dig(luaL_checklong(L, 1), luaL_checklong(L, 2), PLAIN)); + lua_pushboolean(L, world_dig(luaL_checklong(L, 1), + luaL_checklong(L, 2), + luaL_checklong(L, 3))); return 1; } @@ -214,7 +226,7 @@ static int luaWorldWalkable(lua_State *L) { static int luaWorldFindDigged(lua_State *L) { int x, y; - world_find_digged(&x, &y); + world_find_plain(&x, &y); lua_pushnumber(L, x); lua_pushnumber(L, y); return 2; @@ -228,6 +240,15 @@ void world_init() { lua_register(L, "world_add_food", luaWorldAddFood); lua_register(L, "world_is_walkable", luaWorldWalkable); lua_register(L, "world_find_digged", luaWorldFindDigged); + + lua_pushnumber(L, SOLID); + lua_setglobal(L, "SOLID"); + + lua_pushnumber(L, PLAIN); + lua_setglobal(L, "PLAIN"); + + lua_pushnumber(L, WATER); + lua_setglobal(L, "WATER"); lua_pushliteral(L, "world_init"); lua_rawget(L, LUA_GLOBALSINDEX); @@ -252,20 +273,20 @@ void world_init() { koth_y <= 0 || koth_y >= world_h - 1) die("koth pos invalid: %d, %d", koth_x, koth_y); - map_pathfind = map_alloc(); - map_init(map_pathfind, world_w, world_h); + walkmap = map_alloc(); + map_init(walkmap, world_w, world_h); finder_init(&finder); map = malloc(world_w * world_h * sizeof(maptile_t)); memset(map, 0, world_w * world_h * sizeof(maptile_t)); // Koth Tile freigraben - world_dig(koth_x, koth_y, SOLID); + world_dig(koth_x, koth_y, PLAIN); } void world_shutdown() { finder_shutdown(&finder); free(map); - map_free(map_pathfind); + map_free(walkmap); } diff --git a/world.h b/world.h index b942fe1..c32439f 100644 --- a/world.h +++ b/world.h @@ -26,6 +26,8 @@ #include "server.h" #include "common_world.h" +int world_is_within_border(int x, int y); + int world_walkable(int x, int y); int world_get_food(int x, int y); int world_add_food(int x, int y, int amount); @@ -37,7 +39,7 @@ int world_koth_x(); int world_koth_y(); pathnode_t *world_findpath(int x1, int y1, int x2, int y2); -void world_find_digged(int *x, int *y); +void world_find_plain(int *x, int *y); void world_tick();