-
-
Save sparr/bad6793b1edb8f3e8b8a2cefadfad037 to your computer and use it in GitHub Desktop.
Token reduced version of Cards with Personalities v2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
pico-8 cartridge // http://www.pico-8.com | |
version 18 | |
__lua__ | |
-- a deck building game | |
-- by sebastian lind | |
music_on=true | |
function _init() | |
load_save() | |
music(1,300) | |
end | |
menuitem(1,"toggle music", function() | |
music_on=not music_on | |
music(music_on and (game_state == 0 and 1 or 11) or 0,200) | |
sfx(1) | |
end) | |
function reset_match() | |
play_cards,lane_cards,graveyard,game_state={},{},{},1 | |
end | |
function start_match(boss_id) | |
if(music_on)music(11,200) | |
sfx(1) | |
boss_unlock_s,tim,lane_i="",0,0 | |
shake+=0.1 | |
for i=0,20 do | |
init_particle(rnd(128),rnd(128),30+rnd(30),0,0,-4-rnd(3)) | |
end | |
init_boss(boss_id) | |
reset_stats(true) | |
shuffle(deck) | |
shuffle(lane_deck) | |
start_lane(2) | |
end | |
function start_lane(total) | |
local m_total=0 | |
local i=1 | |
while (#lane_cards < 4) do | |
init_card(get_next_lane_index(),i,false) | |
if lane_cards[i].type == 2 then | |
if m_total < total then | |
m_total+=1 | |
i+=1 | |
else | |
del(lane_cards,lane_cards[i]) | |
end | |
else | |
i+=1 | |
end | |
end | |
init_card(3,5,false) | |
end | |
function _update60() | |
tim=time() | |
if game_state == 1 then | |
is_draw_ready,is_shuffle_ready,is_grave_ready=can_draw(),can_shuffle(),can_grave() | |
update_heart() | |
update_shield() | |
update_boss() | |
handle_graveyard() | |
handle_turn_over() | |
end | |
foreach(play_cards,update_card) | |
foreach(lane_cards,update_card) | |
foreach(resources,update_resource) | |
foreach(card_effects,update_card_effect) | |
foreach(particles,update_particle) | |
handle_game_over() | |
if game_state == 0 then | |
handle_menu() | |
elseif game_state == 1 then | |
if not card_played and not next_turn and not graveyard_show and confirm==-1 then | |
if (btnp(⬅️) or btnp(➡️)) change_selected() | |
if (btnp(⬆️) or btnp(⬇️)) change_row() | |
if btnp(4) then | |
if is_draw_ready then | |
draw_from_deck() | |
elseif is_shuffle_ready then | |
shuffle_deck() | |
elseif is_grave_ready and not graveyard_show then | |
show_graveyard() | |
elseif b_select == 1 and row_select == 2 then | |
attack_boss() | |
end | |
end | |
end | |
handle_confirm_box() | |
react_to_confirmation() | |
elseif game_state == 2 then | |
update_xp() | |
end | |
end | |
function _draw() | |
cls() | |
for c=0,255 do | |
spr(207+background_id,c%16*8,flr(c/16)*8) | |
end | |
if game_state == 0 then | |
draw_menu() | |
else | |
draw_game() | |
end | |
end | |
function drawp(p,func,...) | |
fillp(p) | |
func(...) | |
fillp() | |
end | |
function draw_menu() | |
local wave=sin(tim) | |
camera(0,m_camera_y) | |
spr(119,28,4-wave*2,9,6) | |
print("⬅️ choose background ➡️",18,88,menu_lane == 0 and 12 or 7) | |
print("⬅️ choose boss ➡️",18,96,menu_lane == 1 and 8 or 7) | |
foreach(particles,draw_particle) | |
if menu_lane == 0 then | |
draw_b_menu() | |
elseif menu_lane == 1 then | |
draw_bo_menu() | |
elseif menu_lane == 2 then | |
drawp(0b0011001111001100.1,rectfill,30-bu_l_i,104,98+bu_l_i,120,1) | |
elseif menu_lane == 3 then | |
draw_about(wave) | |
elseif menu_lane == -1 then | |
draw_stats(wave) | |
end | |
rect(30-bu_l_i,104,98+bu_l_i,120,7) | |
print("start", 54,110,7) | |
if(menu_lane > -1)spr(150,119,m_camera_y+4+wave) | |
if(menu_lane < 3)spr(166,119,114+m_camera_y+4-wave) | |
end | |
function draw_b_menu() | |
rectfill(0,64,128,80,0) | |
for i=0,8 do | |
spr(208+i,4+i*16,68) | |
if (i >= back_unlock) spr(192,4+i*16,68) | |
drawp(0b0011001111001100.1,rect,4+back_l_i*16-1,67,4+back_l_i*16+8,76,7) | |
end | |
end | |
function draw_bo_menu() | |
rectfill(0,64,128,80,0) | |
local b=(1-boss_l_i)*16 | |
for i=0,7 do | |
spr(224+i*2,8+i*24+b,64,2,2) | |
if i >= boss_unlock then | |
spr(193,1+i*24+b+12,68) | |
end | |
end | |
print(boss_stats[boss_i][2], 8+boss_l_i*24-1+b,56,8) | |
drawp(0b0011001111001100.1,rect,8+boss_l_i*24-1+b,63,8+boss_l_i*24+15+b,80,7) | |
end | |
function draw_about(wave) | |
print("about",4+wave,4+m_camera_y,12) | |
print("the goal of the game is to\nreduce the boss hp to zero.\nevery turn starts by drawing\nfrom your deck.you need to buy/\ndefeat cards in the middle to\nmake a better deck.monsters in\nthe lane attack every turn for\n1 damage.when you can't play\nmore cards,end your turn by\npressing ❎ on your deck.\ndon't forget to attack the boss.",2,m_camera_y+12,7) | |
print("this game was made by:\nsebastian lind @elastiskalinjen\n\nmusic/sfx:\njose ramon garcia @bibikigl\n\ntester:simon lind @ytfftw",0,m_camera_y+86-wave,12) | |
end | |
function draw_stats(wave) | |
print("stats",4+wave,4+m_camera_y,14) | |
local win_rate = games_won > 0 and flr(games_won / games_played * 100) or 0 | |
local stat_s= "level: " .. level .. "\n\nxp: " .. xp .. " / " .. xp_goal .. "\n\ngames played: " .. games_played .. "\n\nwin rate: " .. win_rate .. " %" | |
print(stat_s,4,m_camera_y+24,7) | |
end | |
function draw_game() | |
draw_grave_deck() | |
if graveyard_show then | |
draw_show_graveyard() | |
else | |
draw_boss() | |
for i=1,max_cards_out do | |
draw_card_line(d_s_x+2-i*20,d_l_y,i == 5 and 12 or 1) | |
end | |
for i=1,3 do | |
circfill(5+i*5,80,1,i > g_pick and 1 or 12) | |
end | |
for i=1,max_cards_out do | |
draw_card_line(d_s_x+2-i*20,d_s_y,2) | |
end | |
foreach(lane_cards,draw_card) | |
foreach(play_cards,draw_card) | |
if game_state == 1 then | |
draw_deck() | |
draw_lane_deck() | |
draw_pointer() | |
draw_confirm() | |
draw_timer() | |
end | |
end | |
doshake() | |
foreach(card_effects,draw_card_effect) | |
draw_ui() | |
foreach(particles,draw_particle) | |
foreach(resources,draw_resource) | |
if (game_state == 2 and level_delay <=10) draw_xp() | |
end | |
local function splitd(input, delim, ...) | |
local out, pos = {}, 0 | |
if type(input) == "string" then | |
local item | |
for i = 1, #input do | |
if sub(input, i, i) == delim then | |
item = sub(input, pos, i - 1) | |
add(out, tonum(item) or item) | |
pos = i + 1 | |
end | |
end | |
item = sub(input, pos) | |
add(out, tonum(item) or item) | |
end | |
if ... then | |
for i = 1, #out do | |
out[i] = splitd(out[i], ...) | |
end | |
end | |
return out | |
end | |
-->8 | |
-- gameplay | |
function reset_stats(start) | |
if start then | |
row_select,c_select,l_select,b_select,active_card_index,grave_index,deck_index,max_cards_out,start_draws,turns,next_turn,next_turn_timer=0,0,1,1,-1,1,0,5,5,0,false,0 | |
deck,play_area,r_draws,r_health,r_block,g_pick={1,1,1,1,1,1,1,2,2,2},{false,false,false,false,false},start_draws,30,0,0 | |
else | |
r_draws=0 | |
end | |
r_attack,r_gold,r_destroy,r_remove,r_discard,r_gravedig,r_convert,r_boost=0,0,0,0,0,0,0,0 | |
end | |
function attack_boss() | |
sfx(r_attack>0 and 0 or 5) | |
boss_health-=r_attack | |
shake=0.1 | |
for i=1,r_attack do | |
init_particle(boss_x+rnd(74),boss_y+rnd(card_s_h),3+rnd(3),8) | |
end | |
boss_h_y,r_attack=r_attack,0 | |
end | |
function show_graveyard() | |
sfx(1) | |
graveyard_show,grave_index=true,1 | |
for c in all(graveyard) do | |
c.y,c.x,c.w,c.h=card_r_y,card_r_x,card_r_w,card_r_h | |
c.state=5 | |
end | |
end | |
function go_to_next_turn() | |
next_turn,confirm=true,-1 | |
turns+=1 | |
reset_stats(false) | |
next_turn_timer=180 | |
end | |
timer_y,block_t=130,0 | |
function handle_turn_over() | |
if next_turn_timer > 0 then | |
timer_y = lerp(timer_y,49,0.3) | |
if next_turn_timer == 1 then | |
if (r_block > 0 or block_t > 1) r_block,block_t=0,0 | |
block_t+=1 | |
next_turn=false | |
elseif next_turn_timer == 60 then --boss | |
sfx(1) | |
check_turn_boss() | |
elseif next_turn_timer == 120 then --monster | |
sfx(1) | |
local a=false | |
for c in all(lane_cards) do | |
if c.type == 2 then | |
a=true | |
shake+=0.05 | |
init_resource("o",218,c.x,c.y-4) | |
init_particle(c.x+rnd(c.w),c.y+rnd(c.h),1+rnd(2),6) | |
end | |
end | |
if (a)sfx(0) | |
elseif next_turn_timer == 180 then --deck | |
for i=1,start_draws do | |
init_resource("d",3,d_s_x+rnd(card_s_w),d_s_y-4) | |
end | |
for c in all(play_cards) do | |
c.state=4 | |
end | |
end | |
next_turn_timer-=1 | |
else | |
timer_y=lerp(timer_y,130,0.2) | |
end | |
end | |
function handle_game_over() | |
if game_state == 1 and (r_health < 1 or boss_health < 1) then | |
music(-1,300) | |
game_state=2 | |
shake+=0.3 | |
for i=0,#deck do | |
init_card_effect(d_s_x,d_s_y,rnd(128),rnd(128),2,8) | |
end | |
for c in all(lane_cards) do | |
c.state=6 | |
end | |
for c in all(play_cards) do | |
c.state=6 | |
end | |
games_played+=1 | |
dset(5,games_played) | |
if boss_health <= 0 then | |
sfx(6) | |
games_won+=1 | |
dset(6,games_won) | |
else | |
sfx(7) | |
end | |
get_xp() | |
end | |
if game_state == 2 and c_xp == xp then | |
if btnp(4) then | |
reset_match() | |
start_match(boss_i) | |
end | |
if btnp(5) then | |
sfx(2) | |
reset_match() | |
if(music_on)music(1,300) | |
menu_lane,game_state=0,0 | |
end | |
end | |
end | |
function shuffle_deck() | |
sfx(9) | |
deck_index,deck=0,{} | |
shake+=0.05 | |
for c in all(graveyard) do | |
add(deck,c.id) | |
init_card_effect(grave_x+rnd(4),grave_y+rnd(4),d_s_x,d_s_y,2,8) | |
end | |
graveyard={} | |
shuffle(deck) | |
end | |
function handle_graveyard() | |
grave_x=lerp(grave_x,row_select == 2 and b_select == 0 and grave_s_x-16 or grave_s_x,0.1) | |
if graveyard_show then | |
if btnp(4) then | |
dig_the_grave() | |
elseif btnp(5) then | |
sfx(2) | |
graveyard_show=false | |
end | |
for c in all(graveyard) do | |
c.y=lerp(c.y,card_r_y,0.1) | |
end | |
if btnp(➡️) then | |
sfx(4) | |
if grave_index < #graveyard then | |
grave_index+=1 | |
else | |
grave_index=1 | |
end | |
graveyard[grave_index].y=48 | |
elseif btnp(⬅️) then | |
sfx(4) | |
if grave_index > 1 then | |
grave_index-=1 | |
else | |
grave_index=#graveyard | |
end | |
graveyard[grave_index].y=48 | |
end | |
end | |
end | |
function dig_the_grave() | |
if can_grave_dig() then | |
sfx(1) | |
r_gravedig-=1 | |
local remove_i=grave_index | |
grave_index=1 | |
local play_area_index = find_a_card_position() | |
if play_area_index ~= -1 then | |
init_card(graveyard[remove_i].id,play_area_index,true) | |
end | |
del(graveyard,graveyard[remove_i]) | |
end | |
end | |
function draw_from_deck() | |
sfx(3) | |
for i=1, #play_area do | |
if can_draw() and not play_area[i] then | |
local play_area_index = find_a_card_position() | |
if play_area_index ~= -1 then | |
deck_index+=1 | |
r_draws-=1 | |
init_card(deck[deck_index],play_area_index,true) | |
end | |
end | |
end | |
end | |
function get_next_lane_index() | |
if lane_i == #lane_deck then | |
lane_i=0 | |
shuffle(lane_deck) | |
end | |
lane_i+=1 | |
return lane_deck[lane_i] | |
end | |
function change_row() | |
if btnp(⬆️) then | |
if row_select < 2 then | |
row_select+=1 | |
sfx(4) | |
end | |
end | |
if btnp(⬇️) then | |
if row_select > 0 then | |
row_select-=1 | |
sfx(4) | |
end | |
end | |
if row_select ~= 0 then | |
for i=1,#play_cards do | |
play_cards[i].active=false | |
end | |
end | |
if row_select ~= 1 then | |
for i=1,#lane_cards do | |
lane_cards[i].active=false | |
end | |
end | |
highlight_active_card() | |
end | |
function change_selected() | |
if #play_cards == 0 and row_select == 0 then | |
c_select = 0 | |
return | |
end | |
if btnp(➡️) then | |
sfx(4) | |
if row_select == 0 then | |
if c_select-1 == -1 then | |
c_select = #play_area+1 | |
end | |
c_select = find_next_card_in_area(c_select-1,-1) | |
elseif row_select == 1 then | |
l_select = (l_select-2)%#play_area+1 | |
elseif row_select == 2 then | |
b_select = 1-b_select | |
end | |
elseif btnp(⬅️) then | |
sfx(4) | |
if row_select == 0 then | |
c_select = find_next_card_in_area(c_select+1,1) | |
elseif row_select == 1 then | |
l_select = l_select%#play_area+1 | |
elseif row_select == 2 then | |
b_select = 1-b_select | |
end | |
end | |
highlight_active_card() | |
end | |
function highlight_active_card() | |
if row_select == 0 then | |
active_card_index=-1 | |
for i=1,#play_cards do | |
if play_cards[i].play_index == c_select then | |
play_cards[i].active=true | |
active_card_index=i | |
else | |
play_cards[i].active=false | |
end | |
end | |
elseif row_select == 1 then | |
active_card_index=-1 | |
for i=1,#lane_cards do | |
if lane_cards[i].play_index == l_select then | |
lane_cards[i].active=true | |
active_card_index=i | |
else | |
lane_cards[i].active=false | |
end | |
end | |
end | |
end | |
function find_a_card_position() | |
for i=1, #play_area do | |
if not play_area[i] then | |
play_area[i]=true | |
return i | |
end | |
end | |
return -1 | |
end | |
function find_next_card_in_area(index,dir) | |
if index == 0 or index > #play_area then | |
return 0 | |
elseif play_area[index] then | |
return index | |
else | |
return find_next_card_in_area(index+dir,dir) | |
end | |
end | |
function react_to_confirmation() | |
if btnp(5) and not next_turn and ((c_select == 0 and row_select == 0) or | |
(b_select == 1 and row_select == 2)) then | |
if confirm == -1 then | |
confirm=0 | |
sfx(1) | |
elseif confirm == 2 then | |
confirm=-1 | |
end | |
end | |
if confirm == 1 then | |
if c_select == 0 and row_select == 0 then | |
go_to_next_turn() | |
elseif b_select == 1 and row_select == 2 then | |
r_health,confirm=0,-1 | |
end | |
end | |
end | |
confirm,confirm_y=-1,150 | |
function handle_confirm_box() | |
if confirm == 0 then | |
confirm_y=lerp(confirm_y,40,0.2) | |
if btnp(4) then | |
confirm=1 | |
sfx(1) | |
end | |
if btnp(5) then | |
confirm=2 | |
sfx(2) | |
end | |
else | |
confirm_y=lerp(confirm_y,150,0.2) | |
end | |
end | |
function can_draw() | |
return deck_index < #deck and | |
#play_cards < max_cards_out and | |
c_select == 0 and | |
row_select == 0 and | |
not card_played and r_draws > 0 | |
end | |
function can_shuffle() | |
return c_select == 0 and | |
row_select == 0 and | |
deck_index == #deck | |
end | |
function can_grave() | |
return b_select == 0 and | |
row_select == 2 and | |
#graveyard > 0 | |
end | |
function can_grave_dig() | |
return r_gravedig > 0 and | |
#play_cards < max_cards_out and | |
#graveyard > 1 | |
end | |
background_id,boss_i,menu_lane,m_camera_y,back_l_i,boss_l_i,bu_l_i=1,1,0,0,0,0,0 | |
function handle_menu() | |
if btnp(2) and menu_lane > -1 then | |
menu_lane-=1 | |
sfx(4) | |
end | |
if btnp(3) and menu_lane < 3 then | |
menu_lane+=1 | |
sfx(4) | |
end | |
if menu_lane == 0 then | |
if btnp(0) and background_id > 1 then | |
background_id-=1 | |
sfx(4) | |
end | |
if btnp(1) and background_id < back_unlock then | |
background_id+=1 | |
sfx(4) | |
end | |
back_l_i=lerp(back_l_i,background_id-1+0.05,0.2) | |
elseif menu_lane == 1 then | |
if btnp(0) and boss_i > 1 then | |
boss_i-=1 | |
sfx(4) | |
end | |
if btnp(1) and boss_i < boss_unlock then | |
boss_i+=1 | |
sfx(4) | |
end | |
boss_l_i=lerp(boss_l_i,boss_i-1+0.05,0.2) | |
elseif menu_lane == 2 then | |
if btnp(4) or btnp(5) then | |
reset_match() | |
start_match(boss_i) | |
end | |
elseif menu_lane == 3 then | |
init_particle(rnd(128),128+rnd(128),5+rnd(5),1,0,2+rnd(3)) | |
elseif menu_lane == -1 then | |
init_particle(rnd(128),rnd(128)-128,5+rnd(5),2,0,-2-rnd(3)) | |
end | |
if menu_lane == 2 then | |
bu_l_i=lerp(bu_l_i,12,0.2) | |
else | |
bu_l_i=lerp(bu_l_i,0,0.2) | |
end | |
if menu_lane < 0 then | |
m_camera_y=lerp(m_camera_y,-128,0.15) | |
elseif menu_lane > 2 then | |
m_camera_y=lerp(m_camera_y,128,0.15) | |
else | |
m_camera_y=lerp(m_camera_y,0,0.15) | |
end | |
end | |
-->8 | |
-- draw | |
grave_s_x,grave_x,grave_y,gold_x,attack_x,block_x,draw_x,discard_x,destroy_x,remove_x,health_x=114,114,24,1,19,37,55,73,91,109,120 | |
function draw_ui() | |
--todo shove all this in a string and unpack it in a loop | |
rectfill(0,121,128,128,1) | |
print(get_action_string(),2,122,7) | |
rectfill(0,0,128,8,1) | |
spr(1,gold_x,0) | |
print(r_gold,10,2,10) | |
spr(2,attack_x,0) | |
print(r_attack,28,2,6) | |
spr(8,block_x,sh_time/10) | |
print(r_block,47,2,13) | |
spr(3,draw_x,0) | |
print(r_draws,64,2,2) | |
spr(9,discard_x,0) | |
print(r_discard,82,2,5) | |
spr(4,destroy_x,0) | |
print(r_destroy,100,2,9) | |
rectfill(109,0,128,19,1) | |
spr(6,remove_x,0) | |
print(r_remove,118,2,4) | |
spr(h_spr,110,11) | |
print(r_health,health_x,13,8) | |
end | |
function draw_card_line(x,y,c) | |
rect(x-1,y-1,x+card_s_w+1,y+card_s_h+1,c) | |
end | |
function draw_deck() | |
draw_card_line(d_s_x,d_s_y,0) | |
if deck_index ~= #deck then | |
rectfill(d_s_x,d_s_y,d_s_x+card_s_w,d_s_y+card_s_h,2) | |
spr(196,d_s_x+2,d_s_y+8) | |
end | |
rect(d_s_x,d_s_y,d_s_x+card_s_w,d_s_y+card_s_h,8) | |
if c_select == 0 and row_select == 0 then | |
drawp(0b0011001111001100.1,rect,d_s_x-1,d_s_y-1,d_s_x+card_s_w+1,d_s_y+card_s_h+1,not is_draw_ready and 14 or 7) | |
print("d:"..#deck - deck_index, d_s_x-1, d_s_y-8,14) | |
elseif r_draws > 0 then | |
rect(d_s_x-1,d_s_y-1,d_s_x+card_s_w+1,d_s_y+card_s_h+1,14) | |
end | |
end | |
function draw_lane_deck() | |
if not card_read then | |
if lane_i < #lane_deck then | |
rectfill(l_d_s_x,d_l_y,l_d_s_x+card_s_w,d_l_y+card_s_h,1) | |
spr(197,l_d_s_x+2,d_l_y+8) | |
end | |
rect(l_d_s_x,d_l_y,l_d_s_x+card_s_w,d_l_y+card_s_h,12) | |
draw_card_line(l_d_s_x,d_l_y,0) | |
end | |
end | |
function draw_grave_deck() | |
if #graveyard > 0 then | |
rectfill(grave_x,grave_y-1,grave_x+card_s_h,grave_y+card_s_w,5) | |
rect(grave_x+1,grave_y,grave_x+card_s_h-1,grave_y+card_s_w-1,1) | |
end | |
if r_gravedig > 0 and not graveyard_show then | |
spr(5,grave_x-9,grave_y+2) | |
end | |
spr(15,grave_x+4,grave_y+2) | |
drawp(row_select == 2 and b_select == 0 and 0b0011001111001100.1 or nil,rect,grave_x,grave_y-1,grave_x+card_s_h,grave_y+card_s_w,6) | |
end | |
function get_action_string() | |
if (game_state == 2 and c_xp == xp) return "🅾️ = retry | ❎ = back to menu" | |
if game_state == 1 then | |
if c_select == 0 and row_select == 0 then --deck selected | |
return (is_draw_ready and "🅾️ = draw" or | |
(is_shuffle_ready and "🅾️ = shuffle" or | |
(#play_cards == max_cards_out and "😐 = area full" or | |
(r_draws == 0 and "😐 = no draws" or | |
"")))) .. " | ❎ = end turn" | |
else --cards selected | |
if card_read then | |
return "❎ = close" | |
elseif row_select == 0 then | |
return (r_discard > 0 and "🅾️ = discard" or | |
(r_destroy > 0 and "🅾️ = destroy" or | |
"🅾️ = play")) .. " | ❎ = " .. (card_choose and "cancel" or "read") | |
elseif row_select == 1 then -- lane | |
return (r_convert > 0 and lane_cards[active_card_index].type == 2 and "🅾️ = convert" or | |
(r_remove == 0 and | |
(lane_cards[active_card_index].type ~= 2 and | |
(r_gold >= lane_cards[active_card_index].cost and "🅾️ = buy" or "😐 = coins missing") or | |
(r_attack >= lane_cards[active_card_index].cost and "🅾️ = slay" or "😐 = attack missing")) or | |
"🅾️ = remove")) .. " | ❎ = " .. (card_choose and "cancel" or "read") | |
elseif row_select == 2 then --boss | |
return (b_select == 0 and | |
(graveyard_show and | |
(can_grave_dig() and "🅾️ = dig grave | " or | |
(r_gravedig > 0 and #play_cards == max_cards_out and "😐 = play area full | " or | |
(r_gravedig > 0 and #graveyard == 1 and "😐 = 1 card left | " or "")) | |
) .. "❎ = close" or | |
(is_grave_ready and "🅾️ = show graveyard" or "😐 = no cards in graveyard")) or | |
(r_attack > 0 and "🅾️ = attack" or "😐 = no attack") .. " | ❎ = forfeit") | |
end | |
end | |
else | |
return "" | |
end | |
end | |
function draw_timer() | |
if timer_y < 128 then | |
local anim=2*(3-flr(next_turn_timer/60))-2 | |
spr(160+anim,56,timer_y+4,2,2) | |
spr(216,2,100 - anim*20) | |
end | |
end | |
function draw_pointer() | |
if play_cards ~= nil and not play_area[c_select] then | |
spr(row_select==0 and 13 or 14,card_s_x+2-((c_select-1)*20),d_s_y+10) | |
end | |
end | |
function draw_confirm() | |
rectfill(0,confirm_y,128,confirm_y+32,2) | |
local c_text=(c_select == 0 and row_select == 0) and "end turn?" or "forfeit?" | |
local h_text="" | |
if r_draws > 0 or r_attack > 0 or r_gold > 0 or r_gravedig > 0 or r_convert > 0 then | |
h_text="you have resources left to use!" | |
end | |
print(h_text,3,confirm_y+15,6) | |
print(c_text,46,confirm_y+4,7) | |
print("🅾️ = yes | ❎ = no", 26, confirm_y+26,7) | |
end | |
function draw_show_graveyard() | |
print(grave_index .. " of " .. #graveyard .. " is shown",4,32,6) | |
draw_card(graveyard[grave_index]) | |
print("⬅️/➡️ browse cards",4,graveyard[grave_index].y+52,7) | |
if r_gravedig > 0 then | |
print("shovels left: ", 4,14,6) | |
end | |
for i=0,r_gravedig-1 do | |
spr(5,56+i*10,12) | |
end | |
end | |
-->8 | |
-- play_cards | |
d_s_x,d_s_y,d_e_y,l_d_s_x,l_d_s_y,d_l_x,d_l_y=107,93,81,107,48,89,52 | |
--card_start | |
card_s_x,card_s_y,card_s_h,card_s_w=89,93,24,12 | |
--played | |
card_dp_y=52 --deck | |
card_lp_y=20 --lane | |
--read | |
card_r_y,card_r_x,card_r_w,card_r_h,card_played,card_read,card_destroyed,card_choose=42,2,124,46,false,false,false,false | |
reset_match() | |
game_state=0 | |
function init_card(id,play_index,is_in_deck) | |
local the_card=all_cards[id] | |
local c={ | |
is_in_deck=is_in_deck, | |
x=is_in_deck and d_s_x or l_d_s_x, | |
y=is_in_deck and d_s_y-4 or l_d_s_y, | |
ex=is_in_deck and card_s_x-((play_index-1)*20) or d_l_x-((play_index-1)*20), | |
ey=is_in_deck and card_s_y or d_l_y, | |
id=id, | |
im_id=15+id+((flr((id-1)/16))*16), | |
cost=the_card[1], | |
name=the_card[2], | |
type=the_card[3], | |
effects=parse_effects(the_card[4]), | |
play_index=play_index, | |
active=false, | |
state=0, | |
w=card_s_w, | |
h=card_s_h, | |
pc=8, | |
} | |
c.s_desc = c.type >= 2 and not is_in_deck and "when slain:" or "when played:" | |
c.desc,c.col,c.hcol,c.ccol=get_effects_desc_id(c.effects),parse_type_col(c.type) | |
add(is_in_deck and play_cards or lane_cards,c) | |
end | |
function card_intro_s(c) | |
if distance(c.x,c.y,c.ex,c.ey) > 0.5 then | |
c.x,c.y,c.w,c.h=lerp(c.x,c.ex,0.1),lerp(c.y,c.ey,0.1),lerp(c.w,card_s_w,0.2),lerp(c.h,card_s_h,0.2) | |
else | |
c.x,c.y,c.w,c.h=c.ex,c.ey,card_s_w,card_s_h | |
c.state=1 | |
end | |
end | |
function card_idle_s(c) | |
if c.active then | |
c.y=lerp(c.y,c.ey-8,0.1) | |
if not card_played then | |
if btnp(4) then -- play | |
local fail=false | |
if c.is_in_deck then | |
if r_discard > 0 or r_destroy > 0 then | |
card_choose,c.state=true,8 | |
else | |
c.state=2 | |
end | |
card_played=true | |
elseif c.type == 2 and not c.is_in_deck and r_convert > 0 then -- convert | |
card_played,c.state=true,2 | |
elseif c.type >= 1 and not c.is_in_deck and r_remove > 0 then --destroy mid | |
card_choose,card_played,c.state=true,true,8 | |
elseif c.type <= 1 and r_gold >= c.cost then --buy | |
card_played,c.state=true,2 | |
elseif c.type == 2 and r_attack >= c.cost then --slay | |
sfx(0) | |
card_played,c.state=true,2 | |
else | |
fail=true | |
shake+=0.06 | |
end | |
sfx(fail and 5 or 1) | |
end | |
if btnp(5) then --read | |
sfx(2) | |
card_played,card_read,c.state=true,true,5 | |
end | |
end | |
else | |
c.y=lerp(c.y,c.ey+1,0.5) | |
end | |
end | |
function card_choose_s(c) | |
c.y=lerp(c.y,c.is_in_deck and d_s_y-12+sin(tim)*2 or l_d_s_y-12+sin(tim)*2,0.4) | |
if btnp(4) then | |
sfx(1) | |
if c.is_in_deck then | |
if r_discard > 0 then | |
c.state=4 | |
r_discard-=1 | |
elseif r_destroy > 0 then | |
r_destroy-=1 | |
card_destroyed,c.state=true,4 | |
else | |
c.state=2 | |
end | |
else | |
r_remove-=1 | |
card_destroyed,card_played,c.state=true,true,4 | |
end | |
end | |
if btnp(5) then | |
card_played,card_choose,c.state=false,false,0 | |
sfx(2) | |
end | |
end | |
function card_play_s(c) | |
local dest = c.is_in_deck and card_dp_y or card_lp_y | |
c.y=lerp(c.y,dest,0.3) | |
if (c.y < dest+2)c.state = 3 | |
end | |
function card_action_s(c) | |
local init_resources=false | |
if c.is_in_deck then | |
init_resources=true | |
else | |
if c.type <= 1 then | |
r_gold-=c.cost | |
init_particle(grave_x,grave_y,1+rnd(3),6) | |
add(graveyard,c) | |
elseif c.type == 2 then | |
if r_convert > 0 then | |
r_convert-=1 | |
shake+=0.075 | |
init_particle(grave_x,grave_y,1+rnd(3),6) | |
add(graveyard,c) | |
else | |
r_attack-=c.cost | |
shake+=0.05 | |
init_resources=true | |
end | |
end | |
end | |
if init_resources then | |
for e in all(c.effects) do | |
for i=1,e.num do | |
init_resource(e.id,e.s_id,c.x+rnd(c.w),c.y+rnd(c.h)) | |
end | |
end | |
end | |
c.state = 4 | |
end | |
function card_destroy_s(c) | |
card_played,card_read,card_choose=false,false,false | |
if c.is_in_deck then | |
play_area[c.play_index]=false | |
if not card_destroyed then | |
add(graveyard,c) | |
init_particle(grave_x+rnd(c.w),grave_y+rnd(c.h),1+rnd(2),6) | |
end | |
del(play_cards,c) | |
else | |
del(lane_cards,c) | |
local id=1 | |
if c.play_index == 5 and g_pick < 3 then --shiny knight | |
id=3 | |
g_pick+=1 | |
else | |
id=get_next_lane_index() | |
end | |
init_card(id,c.play_index,false) | |
change_selected() | |
end | |
if not card_destroyed then | |
for i=0,4 do | |
init_particle(c.x+rnd(c.w),c.y+rnd(c.h),1+rnd(2),random_col(0,c.hcol,c.col)) | |
end | |
else | |
sfx(10) | |
shake+=0.1 | |
for i=0,10 do | |
init_particle(c.x+rnd(c.w),c.y+rnd(c.h),2+rnd(4),random_col(0,8,9),rnd(4)-2,-3+rnd(2)) | |
end | |
card_destroyed=false | |
end | |
end | |
function card_read_s(c) | |
c.y,c.x,c.w,c.h=lerp(c.y,card_r_y,0.4),lerp(c.x,card_r_x,0.4),lerp(c.w,card_r_w,0.3),lerp(c.h,card_r_h,0.3) | |
if btnp(5) then --back | |
sfx(1) | |
card_played,card_read,c.state=false,false,0 | |
end | |
end | |
function explode_card(c) | |
init_particle(c.x+rnd(c.w),c.y+rnd(c.h),1+rnd(2),6) | |
c.ex+=rnd(100)-rnd(50) | |
c.ey+=rnd(100)-rnd(50) | |
c.state=7 | |
end | |
function card_exploded(c) | |
c.y,c.x=lerp(c.y,c.ey,0.3),lerp(c.x,c.ex,0.3) | |
if c.pc > 0 then | |
c.pc-=1 | |
else | |
init_particle(c.x+rnd(c.w),c.y+rnd(c.h),1+rnd(2),random_col(1,5,0),0,-3) | |
c.pc=8 | |
end | |
end | |
local update_card_funcs={[0]=card_intro_s,card_idle_s,card_play_s,card_action_s,card_destroy_s,card_read_s,explode_card,card_exploded,card_choose_s} | |
function update_card(c) | |
update_card_funcs[c.state](c) | |
end | |
function draw_card(c) | |
if (card_read == true and c.state == 5) or card_read == false then | |
rectfill(c.x,c.y,c.x+c.w,c.y+c.h,c.col) | |
line(c.x,c.y,c.x+c.w,c.y,c.hcol) | |
rectfill(c.x+1,c.y+4,c.x+10,c.y+24,0) | |
line(c.x+1,c.y+4,c.x+10,c.y+4,1) | |
spr(c.im_id,c.x+2,c.y+8,1,2) | |
print(c.cost,c.x+1,c.y+1,c.ccol) | |
drawp(c.active and 0b0011001111001100.1 or nil,line,c.x,c.y+c.h,c.x+c.w,c.y+c.h,1) | |
if c.active then | |
local hcol = row_select == 0 and (r_destroy > 0 and 8 or (r_discard > 0 and 12 or 7)) or (row_select == 1 and (r_convert > 0 and 13 or (r_remove > 0 and 2 or 7))) | |
drawp(c.active and 0b0011001111001100.1 or nil,rect,c.x-1,c.y-1,c.x+c.w+1,c.y+c.h+1,hcol) | |
if c.state ~=5 then | |
rectfill(0,11,106,19,1) | |
local eff=c.effects | |
local x_b=1 | |
print(c.name,2,13,c.hcol) | |
for e in all(c.effects) do | |
for n=1,e.num do | |
spr(e.s_id,(#c.name*3.5)+4+x_b*8,11) | |
x_b+=1 | |
end | |
end | |
if r_convert > 0 and c.type == 2 and not c.is_in_deck then | |
spr(221,c.x+2,c.y-10) | |
end | |
end | |
end | |
if c.state == 5 then --read | |
if c.y < card_r_y+1 then | |
print(c.name,c.x+card_s_w+4,c.y+4,7) | |
print(c.s_desc,c.x+card_s_w+4,c.y+15,c.hcol) | |
print(c.desc,c.x+card_s_w+4,c.y+22,7) | |
end | |
line(c.x+card_s_w+4,c.y+12,c.x+c.w-2,c.y+12,1) | |
if not c.is_in_deck and c.type == 2 then | |
spr(12,c.x+c.w-16,c.y+2) | |
spr(218,c.x+c.w-8,c.y+2) | |
end | |
end | |
else --not active | |
if (c.is_in_deck) drawp(0b0011001111001100.1,rect,c.x+1,c.y+1,c.x+c.w-1,c.y+c.h-1,2) --fade | |
end | |
end | |
resources={} | |
function init_resource(id,spr,x,y) | |
local r={ | |
id=id, | |
spr=spr, | |
x=x, | |
y=y, | |
speed=0.08+(flr(rnd(10))/100) | |
} | |
local col,ex,ey=0,8,-2 | |
if id == "c" then | |
ex,col=gold_x,10 | |
r_gold+=1 | |
elseif id == "a" then | |
ex,col=attack_x,7 | |
r_attack+=1 | |
elseif id == "d" then | |
ex,col=draw_x,2 | |
r_draws+=1 | |
elseif id == "b" then | |
ex,col=block_x,5 | |
r_block+=1 | |
elseif id == "t" then | |
ex,col=discard_x,6 | |
r_discard+=1 | |
elseif id == "k" then | |
ex,col=destroy_x,0 | |
r_destroy+=1 | |
elseif id == "h" then | |
ex,ey,col=health_x-8,11,9 | |
r_health+=1 | |
elseif id == "r" then | |
ex,col=remove_x,2 | |
r_remove+=1 | |
elseif id == "o" then | |
if r_block > 0 then | |
ex,ey,sh_time=block_x+rnd(4),rnd(6),50 | |
r_block-=1 | |
init_particle(block_x,2,2,2) | |
else | |
ey,ex=11,health_x-8 | |
r_health-=1 | |
end | |
col=8 | |
elseif id == "g" then | |
ex,ey,col=grave_x+2,16,4 | |
r_gravedig+=1 | |
elseif id == "m" then | |
init_particle(gold_x,2,2,9) | |
r_attack+=r_gold | |
ex,r_gold,col=attack_x,0,9 | |
elseif id == "e" then | |
ex,ey,col=l_d_s_x+2,l_d_s_y+8,2 | |
r_convert+=1 | |
elseif id == "i" then | |
ex,ey,col=d_s_x+2,d_s_y+8,10 | |
for c in all(play_cards) do | |
local need_re_desc=false | |
for e in all(c.effects) do | |
if e.id == "a" then | |
e.num+=1 | |
need_re_desc,shake=true,0.1 | |
for i=0,4 do init_particle(c.x+rnd(card_s_w),c.y,2+rnd(2),8+rnd(2),0,-2-rnd(2)) end | |
end | |
end | |
if (need_re_desc)c.desc=get_effects_desc_id(c.effects) | |
end | |
elseif id == "s" then | |
init_particle(block_x,2,2,12) | |
r_attack+=r_block | |
ex,r_block,col=attack_x,0,13 | |
elseif id == "p" then | |
init_particle(block_x,2,2,12) | |
ex,col=block_x,5 | |
r_block-=1 | |
elseif id == "j" then | |
for i=1,4 do | |
lane_cards[i].state=4 | |
end | |
ex=l_d_s_x+2,l_d_s_y+8 | |
end | |
r.ex,r.ey,r.tcol=ex,ey,col | |
add(resources,r) | |
end | |
function update_resource(r) | |
r.x,r.y=lerp(r.x,r.ex,r.speed),lerp(r.y,r.ey,r.speed) | |
init_particle(r.x+4,r.y+4,1,r.tcol,0.01,0.01) | |
if distance(r.x,r.y,r.ex,r.ey) <= 1 then | |
if (r.tcol ~= 8)sfx(8) | |
del(resources,r) | |
end | |
end | |
function draw_resource(r) | |
spr(r.spr,r.x,r.y) | |
end | |
-->8 | |
--bosses | |
boss_s_x=12 | |
function init_boss(id) | |
local boss_p=boss_stats[id] | |
boss_turns,boss_name,boss_effects,boss_health,boss_b_threshold=boss_p[1],boss_p[2],parse_effects(boss_p[3]),boss_p[4],boss_p[5] | |
boss_sprite,boss_y,boss_x,boss_i_y,boss_h_y,boss_s_y,boss_t_boost,boss_w,boss_s_hp=222+id*2,11,boss_s_x,0,0,0,0,86,boss_health | |
end | |
--turns,name,effects,health | |
boss_stats=splitd( | |
[[3,earl dracula,o4,40,3 | |
2,baby sharky,o2t2,32,2 | |
5,captain l,o1d1c1,48,1 | |
2,number two,o3p3,42,4 | |
4,gassy bat,o6j1,46,4 | |
1,spitfire lama,o1k1,38,3 | |
4,gloomy leo,o7e1,50,4 | |
6,spark-y,o6j1t1,60,2]] | |
,"\n",",") | |
function update_boss() | |
if (row_select == 2 and b_select == 1) or card_read or (row_select == 0 and c_select == 0) then | |
boss_x,boss_i_y=lerp(boss_x,boss_s_x,0.1),lerp(boss_i_y,0,0.1) | |
boss_s_y=3*abs(sin(0.4*tim)) | |
boss_h_y=lerp(boss_h_y,0,0.1) | |
else | |
boss_x,boss_i_y=lerp(boss_x,-68,0.2),lerp(boss_i_y,10,0.2) | |
end | |
end | |
function check_turn_boss() | |
if turns == boss_turns then | |
sfx(0) | |
for e in all(boss_effects) do | |
for i=1,e.num do | |
shake+=0.05 | |
init_particle(boss_x+rnd(74),boss_y+rnd(card_s_h),3+rnd(3),9) | |
init_resource(e.id,e.s_id,boss_x+6,boss_y+4+rnd(16)) | |
end | |
end | |
turns=0 | |
end | |
boss_t_boost+=1 | |
if boss_t_boost == boss_b_threshold then | |
boss_t_boost=0 | |
for e in all(boss_effects) do | |
for i=1,e.num do | |
if e.id == "o" then | |
e.num+=1 | |
break | |
end | |
end | |
end | |
end | |
end | |
function draw_boss() | |
rectfill(boss_x,boss_y,boss_x+boss_w,boss_y+card_s_h+1,2) | |
if (boss_health > 0) spr(boss_sprite,boss_x+2,boss_y+card_s_h-16+boss_s_y-boss_h_y,2,2) | |
print(boss_name,boss_x+2,boss_y+2,8) | |
drawp(row_select == 2 and b_select == 1 and 0b0011001111001100.1 or nil,rect,boss_x,boss_y,boss_x+boss_w,boss_y+card_s_h+1,8) | |
print(boss_health,boss_x+77,boss_y+10+boss_i_y,8) | |
spr(217,boss_x+77,boss_y+1+boss_i_y) | |
print(turns,boss_x+70,boss_y+10+boss_i_y,9) | |
spr(12,boss_x+68,boss_y+1+boss_i_y) | |
if boss_x > -32 and boss_health > 0 then | |
print(boss_turns.." =",boss_x+20,boss_y+18,7) | |
spr(12,boss_x+23,boss_y+16) | |
local x_b,b_sp=1,0 | |
for e in all(boss_effects) do | |
print(e.num,boss_x+23+b_sp+x_b*14,boss_y+18,7) | |
if (e.num >= 10) b_sp+=4 | |
spr(e.s_id,boss_x+28+b_sp+x_b*14,boss_y+16) | |
x_b+=1 | |
end | |
local boss_l=#boss_name | |
for i=0,boss_b_threshold-1 do | |
local c=i < boss_t_boost and 8 or 1 | |
circfill(boss_x+16+boss_l*3+i*4, boss_y+3,1,c) | |
end | |
end | |
end | |
-->8 | |
--help | |
function lerp(var,target,pow) | |
return var+pow*(target-var) | |
end | |
function shuffle(tbl) | |
for i=#tbl,2,-1 do | |
local j = 1+flr(rnd(i)) | |
tbl[i],tbl[j] = tbl[j],tbl[i] | |
end | |
return tbl | |
end | |
shake=0 | |
function doshake() | |
local shakex,shakey=16-rnd(32),16-rnd(32) | |
shakex*=shake | |
shakey*=shake | |
camera(shakex,shakey) | |
shake=shake*0.95 | |
if(shake < 0.05)shake=0 | |
if(shake >= 0.3)shake=0.25 | |
end | |
function distance(x1,y1,x2,y2) | |
return sqrt(((x2-x1)/10)^2+((y2-y1)/10)^2)*10 | |
end | |
-->8 | |
-- misc | |
h_time,h_spr=0,10 | |
function update_heart() | |
if r_health < 15 then | |
if h_time < 60 then | |
h_time+=1 | |
else | |
h_time=0 | |
h_spr=21-h_spr | |
end | |
end | |
end | |
sh_time=0 | |
function update_shield() | |
if (sh_time > 0)sh_time-=1 | |
end | |
function random_col(c1,c2,c3) | |
return ({c1,c2,c3})[flr(rnd(3))+1] | |
end | |
--8 | |
-- effects | |
particles={} | |
function init_particle(x,y,rad,col,dx,dy) | |
local p={ | |
x=x, | |
y=y, | |
dx=dx or rnd(2)-1, | |
dy=dy or rnd(2)-1, | |
rad=rad, | |
col=col, | |
sp=rad > 20 and 0.8 or 0.1, | |
} | |
add(particles,p) | |
end | |
function update_particle(p) | |
p.dx*=0.9 | |
p.dy*=0.9 | |
p.x+=p.dx | |
p.y+=p.dy | |
p.sp+=rnd(1)/100 | |
p.rad-=p.sp | |
if (p.rad <=0)del(particles,p) | |
end | |
function draw_particle(p) | |
circfill(p.x,p.y,p.rad,p.col) | |
end | |
card_effects={} | |
function init_card_effect(x,y,ex,ey,col,hcol) | |
local c={ | |
x=x, | |
y=y, | |
ex=ex, | |
ey=ey, | |
speed=0.1+flr(rnd(25))/100, | |
col=col, | |
hcol=hcol | |
} | |
add(card_effects,c) | |
end | |
function update_card_effect(c) | |
c.x,c.y=lerp(c.x,c.ex,c.speed),lerp(c.y,c.ey,c.speed) | |
if distance(c.x,c.y,c.ex,c.ey) <= 1 then | |
del(card_effects,c) | |
end | |
end | |
function draw_card_effect(c) | |
rectfill(c.x,c.y,c.x+card_s_w,c.y+card_s_h,c.col) | |
rect(c.x,c.y,c.x+card_s_w,c.y+card_s_h,c.hcol) | |
spr(196,c.x+2,c.y+8) | |
end | |
-->8 | |
-- all cards | |
--place in array == id, | |
--param: cost,name,type,effects | |
--type: 0 starter,1 purchased,2 monster | |
--effect: c coin,a attack,b block,d draw,k destroy | |
-- g gravedig,r remove mid,t discard,h heal, | |
-- o hurt player,m transform,e convert,i boost, | |
-- s slam,p unblock, j boom | |
-- effect example: c2a1 = 2 coin,1 attack | |
all_cards=splitd( | |
[[0,mediocre bard,0,c1 | |
0,common guard,0,a1 | |
2,shiny knight,0,a2 | |
2,crafty chef,1,t1d2 | |
1,apprentice distiller,1,k1 | |
1,'giant' spider,2,c1 | |
5,shifty barkeep,1,g1 | |
1,young wizard,1,t1d1c1 | |
4,legendary sword,1,k1a3 | |
2,redheaded dragon,2,k1 | |
2,light priest,1,c3 | |
4,sacred tree,1,t1d3 | |
4,bob the ghost,2,t1d2b1 | |
3,fleshy planty,2,c3 | |
4,rabbit warrior,1,a4c1 | |
2,friendly goul,1,r1 | |
3,confused cyclope,2,o1a2 | |
7,old hero,1,a5d1 | |
6,slimey friend,1,b2a2d1 | |
5,flaming faun,2,d1b2 | |
4,holiday spirit,1,c3b2 | |
4,sneaky sage,2,t1d2c1 | |
4,proud skeleton,1,a3b1 | |
8,wise king,1,b3d1r1k1 | |
5,sleepy witch,1,d1k2 | |
5,senile enchantress,2,d2 | |
3,defensive wanderer,1,b3 | |
2,weird slimey,2,b1c1 | |
3,business woman,1,a1d1c1 | |
3,vacant paladin,1,a3 | |
4,fabled monkey,2,a2b1 | |
1,borug the orc,1,a2 | |
3,magical fox,1,k1r1 | |
3,great fishing rod,1,t1g1 | |
2,living potion,1,h1a1 | |
2,mean flower,2,c1h1 | |
7,flaming body,2,h4d2 | |
1,chill shield,1,b2s1 | |
2,old hermit,1,o2d2 | |
8,paragon,1,a8 | |
8,strawberry giant,2,d2c4 | |
2,water blobs,2,c2 | |
2,ethernal feral demon,2,d1 | |
2,batty bat,1,t1h1b1 | |
4,ninja splatty,2,g1 | |
1,underground alchemist,1,m1 | |
5,double agent witch,1,e1 | |
6,death's wife,2,e1 | |
3,persevering florist,1,c2k1 | |
2,sad trumpet,2,i1 | |
4,dj-boney,1,i2 | |
4,shiny godness,2,c1m1 | |
3,blocky buddy,2,b1s1 | |
8,stone wall,2,b6d1 | |
3,shy ninja,1,c2a2]] | |
,"\n",",") | |
lane_i=0 | |
lane_deck=splitd("4,4,5,5,6,6,6,7,7,8,8,9,9,10,10,11,11,11,12,13,13,14,14,15,15,16,16,17,17,18,18,19,20,20,21,21,22,22,23,23,24,25,25,26,26,27,27,28,28,28,29,29,30,30,30,31,31,32,32,32,33,33,34,34,35,35,36,36,37,38,39,39,40,41,42,42,43,43,44,44,45,46,46,47,47,48,49,49,49,50,50,51,51,52,53,54,55,55,55",",") | |
function parse_effects(effects_string) | |
local nr_of_effects=#effects_string/2 | |
local all_effects={} | |
for i=1, nr_of_effects do | |
local c_effect_i=i-1+i | |
local c_effect_char=sub(effects_string,c_effect_i,c_effect_i) | |
local c_number_i=c_effect_i+1 | |
local c_number_char=sub(effects_string,c_number_i,c_number_i) | |
add(all_effects,init_effect(c_effect_char,c_number_char)) | |
end | |
return all_effects | |
end | |
function card_char_form(nr) | |
return nr>1 and " cards" or " card" | |
end | |
function shovel_char_form(nr) | |
return nr>1 and " shovels" or " shovel" | |
end | |
local desc_funcs = {function() return "\n" end, function(n) return n end, card_char_form, shovel_char_form,} | |
-- {{"c",1,"gain ",0," gold"},...} | |
-- effect id: "c", sprite: 1, description: "gain " .. num .. " gold" | |
-- 1 is newline, 2 is num, 3 is "card(s)", 4 is "shovel(s)" | |
local effects_data = splitd( | |
[[c,1,gain ,2, gold | |
a,2,gain ,2, attack | |
d,3,draw ,2,3 | |
k,4,destroy ,2,3 | |
g,5,gain ,2,4,1, to take ,2,3,1, from the graveyard | |
r,6,remove ,2,3, from lane | |
t,9,discard ,2,3 | |
b,8,add ,2, armor | |
h,219,heal ,2, health | |
o,218,take ,2, health | |
m,220,transform all gold,1, into attack | |
e,221,convert an enemy,1, into an ally | |
i,222,boost all your current,1, attack cards by ,2 | |
s,223,transform all block,1, into attack | |
p,144 | |
j,194]] | |
,"\n",",") | |
for e in all(effects_data) do | |
effects_data[e[1]]=e | |
end | |
function get_effects_desc_id(effects) | |
local desc="-" | |
for e in all(effects) do | |
if (desc~="-") desc = desc .. "\n-" | |
for i=3,#effects_data[e.id] do | |
local part = effects_data[e.id][i] | |
desc = desc .. (type(part) == "number" and desc_funcs[part](e.num) or part) | |
end | |
end | |
return desc | |
end | |
function parse_type_col(t) | |
if t == 0 then | |
return 4,15,9 | |
elseif t == 1 then | |
return 13,12,10 | |
elseif t == 2 then | |
return 2,14,8 | |
end | |
end | |
function init_effect(id,nr_string) | |
local c={ | |
id=id, | |
num=tonum(nr_string) | |
} | |
local s_id=1 | |
printh(id) | |
s_id=effects_data[id][2] | |
c.s_id=s_id | |
return c | |
end | |
level_delay=80 | |
function update_xp() | |
if level_delay > 0 then | |
level_delay-=1 | |
else | |
c_xp=lerp(c_xp,xp,0.075) | |
if xp-c_xp < 1 then | |
c_xp=xp | |
end | |
if c_xp >= xp_goal then | |
level_up() | |
end | |
end | |
end | |
-- xp | |
c_xp,xp_x,xp_y,xp_w=0,12,56,104 | |
function get_xp() | |
xp+=abs(boss_health-boss_s_hp) | |
if boss_health <= 0 then | |
xp+=30 | |
xp+=(30-(30-r_health)) | |
end | |
dset(0,xp) | |
end | |
function load_save() | |
cartdata("elastiskalinjen_xp") | |
xp,xp_goal=dget(0),dget(1) | |
c_xp=xp | |
if (xp_goal == 0) xp_goal=60 | |
level=max(dget(2),1) | |
boss_unlock,back_unlock=max(dget(3),1),max(dget(4),1) | |
games_played,games_won=dget(5),dget(6) | |
end | |
function level_up() | |
xp,c_xp=xp-flr(c_xp),0 | |
level+=1 | |
xp_goal=30+level*15 | |
dset(0,xp) | |
dset(1,xp_goal) | |
dset(2,level) | |
if level % 2 == 0 and back_unlock < 8 then | |
boss_unlock_s="background" | |
back_unlock+=1 | |
dset(4,back_unlock) | |
elseif boss_unlock < 8 then | |
boss_unlock_s="boss" | |
boss_unlock+=1 | |
dset(3,boss_unlock) | |
end | |
end | |
xp_s=" xp" | |
function draw_xp() | |
drawp(0b0011001111001100.1,rectfill,0,0,128,120,0) | |
rectfill(xp_x-4,xp_y-20,xp_x+xp_w-2,xp_y+48,0) | |
spr(147,xp_x+60,xp_y-18) | |
print("level:" .. level,xp_x+69, xp_y-16,13) | |
print("" .. flr(c_xp) .. "/" .. xp_goal .. xp_s,xp_x,xp_y-6,7) | |
line(xp_x,xp_y,xp_w,xp_y,1) | |
line(xp_x,xp_y,xp_x+(xp_w-xp_x)*(c_xp/xp_goal),xp_y,7) | |
print("damage dealt: " .. boss_s_hp - boss_health .. xp_s,xp_x+2,xp_y+4,12) | |
spr(149,xp_x+xp_w-11,xp_y) | |
if boss_health <= 0 then | |
print("you won!",xp_x+8,xp_y-16,7) | |
if xp - c_xp <= 20 then | |
print("boss killed: 30" .. xp_s,xp_x+2,xp_y+12,12) | |
end | |
if xp - c_xp < 3 then | |
print("health left: " .. (30-(30-r_health)) .. xp_s,xp_x+2,xp_y+20,12) | |
end | |
end | |
local won_s = boss_health <= 0 and "you won!" or "you lost!" | |
print(won_s,xp_x+8,xp_y-16,7) | |
local won_spr = boss_health <= 0 and 145 or 146 | |
spr(won_spr,xp_x-2,xp_y-18) | |
if boss_unlock_s ~= "" then | |
line(xp_x,xp_y+37,xp_w,xp_y+37,1) | |
spr(148,xp_x,xp_y+38) | |
print("new " .. boss_unlock_s .. " unlocked",xp_x+8,xp_y+41,7) | |
end | |
end | |
__gfx__ | |
00000000000000000000000000000000000000000000004000000000000330000000000000000000000000000000000000000000000000000000000007776660 | |
000000000000000000000660088888800008880000000042044420040303033002222220005d6600082008200000000004444110000000000000000077777666 | |
0070070000aaa7000000667008222280088990080000042004420400033333032ddd777205500670872088820070280007d7dd60888888882222222271177116 | |
000770000aaa77704006670008282280089a99880000420004204020003333302d1166725dddddd5e882888208828820007a9600082222800222222071177116 | |
000770000aaaa7a0026670000821828089aaa9800604200002040240003330302dd1677206d767608e8888220888882000066000008228000022220072277226 | |
007007000aaaaaa0042700000822128029aaa988656000000440244000d3000002d1672006d767600888822000888200006a9600000880000002200076677666 | |
0000000009aaaa90444200000822228002aaa22065510000000244402d3230d002dd772006d76760008822000002200006a99960000000000000000077777766 | |
00000000009999002400400008888880002222005510000002444440022222000022220006d76760000220000000000004444110000000000000000007676760 | |
000004400056650000aa99006677776604400220e022220e004424009044409000a7a000000828001111000000333b00077777600033bb000060066000066000 | |
04444440057667500aaa99900677777000bbb3000222222004242240044444000a987a0000077280011111000333bb3077777776036677b006400460006ddd00 | |
04ffff40676116760aaaa990077777700bb3333026d226d244ff2f444444444000a9a0000871028811444110333b3b3b70770777036117b0064dd46006d6d6d0 | |
f11f11ff512112150a1111900676767001133110011221104f1ff1f40d1d1d0000a1a00a088807880414141033bb43bb0277207733eeeebb0717717002d22d20 | |
fffdffff661111660aa11990ff1ff1ff06633dd0012662104ffffff20ffeff000a112a000888712884444480bb39a33b707707763e7878eb0d7777d00d8282d0 | |
024444a90661166000aa99000ffffff003333330026226202ff44ff208fff8000a111a000818812878444870b339a33376776776e788887e0d7777d000222220 | |
08244a9a02611620001991000ffffff000333300028228202f4ff4f4089b9880aa112aa001128828072227603b3bbb3b711176600e2222e0007e7d0000011100 | |
888299a10022220099111199047ff74024133142202222024d4444d488d9dda89999999a81712888977277792bb3b33b711116000deeeed0011771a9002e1110 | |
8899991207d22d709a9999a9747777473243342302555520724444277dccc4880a556aa088112882d977769d20333330722227000033330077111a990088e110 | |
89919128766dd66719aaaa91642222463224422302dddd20d724427d77cc4c880a667a000888882a7d9669d740223020772267060b03b000777aaa9001888e12 | |
9911912811766711199aa99164444446b2bb222322252522d7d44d7d877fccc80a567a00a0888820079449700404f04067767700b033b0b077aa991002888822 | |
991991285d16615d59a99a95642482463b33222002dddd20d776677d8dccccc8aa667a000088982a079889700024220006677760000b3b3b6a99a91022e888e2 | |
99991128d67667655aa99aa564288246333aa22022252522d777777d8dccccc80a567a0aa989a8e94498e944002400000066777700f3bf30b9a7711120ee8802 | |
199112285166661d099aa99074484487044a944002dddd20d766667d844994480a667a00a929a2a97dd99dd700220000000666760fd33df23b9711112011e800 | |
11112288d51661d502a99a20742248870222222022252522d677776d867777780a667aa099a9aea976d99d670224f0007067060704ffff202332221100111ee0 | |
222228885d511d5509222290744228472222222222dddd2207777770867767780a667a009aa99a99776776774244420000070060044444202222211000011111 | |
000ee000004444000dedded00010002100777d00010000200000000000a0a90000088e000000ddd00067650000bbbb0000aaa000077007700009990000111100 | |
20eeee0204444440dcceeccd02000201072727d010000001007777000799996000e8888000dd111d007665000b7733b00a9aa900770000770999d94001bb3310 | |
eee22eee06655440c77dd77c02002000077976d02000000207077070764444760888ffe00d111111001ff1000b3b33b009949a907000000794dddd991bbbb331 | |
ee2712eef6ff654fccceeccca2202240009828001077770107700770741441468e8ffff80116611105ffff50b373373ba44449aa760000679d1d1dd91b1b3131 | |
0e6116e067f7f5f40cccccc0a9222940096287d0277776d2077777706444444648ff1f1816d6d611025ff520b733707b914144a967777776911d11d91bbb3331 | |
02e77e206fdfff64eccddcce82929280476288d4070660d00677776026644662488ffef00f1f1f6d0ddd88d0b7b3363ba4e44aaa061771604d2d2d491b7b3731 | |
18eeee816ffff64402cccc20289998207677288d1166dd110006600d446666464422ff2266fff066dd98228db333333b79447749071771709477749411222231 | |
188118810dffd040002cc200041994007761666d221dd122000760dd4d6666d64442222060fff060dd8211280b3733b00a77a4aa07777770899dd99801311311 | |
018118100dddd0000dddddd00022400077776dddd221122d07777dd07a6666978442222260222060dd8111180b7073b08a88a8a20e6767207899998701d33310 | |
21888812d2dd2460eceeeece09dd444007716dd0d228822d7777dd6027a669782d44222201111166dd81ed18b3363b3b8a988828eee2221077899877212dbb1b | |
1d1981d1442244d0ecddddce99999444076dddd0dd8888dd700dd67727da9d7222d4422211111116d9812218b3b3333b78888227e222211079688697b122db1b | |
d1d88d1d44444d5dccceeccc9249492477666ddddd2882dd77dd070087766772022dff21012e2116998111180b3333b077488477e221111149666694b1322d13 | |
dd1981dd4dd444d5dccddccd90999404777166dd0d7227d07dd6777086777768012dff101fe88f109982112800b33b00088888202211110164966946b1332213 | |
1dd18dd1d9addd0d0dccccd0d2994921777666dd02222220dd067000276666722222dd401288e2119928228202b33b2088828222201001006696946631333213 | |
211981124dd4440ddccddccd0029920076667ddd020220200557755026777762222222d4112221112992882900e222008888282201000010966696690b3a9320 | |
221d8122444444000dccccd0001001000766ddd02020020200577500876677782222222411222111029922990044410088828222010000100966669004499440 | |
0000100000000000000000000999aa9000088000000000000004400000000000088888000000c7c00000000000d00d00007f22000e2e22200555555000777000 | |
0002210000000200009441009aaaaaa908888880dd0dd0dd000f420044000044e8888e880c0c0c00080000000dd00dd007ffff20e12211125555555555555700 | |
00e22210000242200794416091ffff1a8989a888dc7777cd00f444204007600470880788c7c00001008008e00d1001d07fffff22101101f151d11d1505555570 | |
00e222100042004007791660aa1ff1fa289aa982c7cccc7c004444204061160422882280707100c08080888e0d1001d0fd7dd7d2f1ff1fff20f2022276665557 | |
0e2721100420002406867860affffffa08aaaa80c7c76c7c0074442440711604081188001710010002880028d110011dd702207d1fddff112fffff2271616555 | |
0e77d2400420000407288860a8f88f8a08aaa980c7cccc7c044447400460064088888880010c1000288e81021ff01ff1fd7dd7d221fff1122f88fff206666755 | |
122724210420000207872260aaffffaa089aaa80c227622c54455550006006008e888e8e0001c0c0228e800012f11f210ffef2200d2112d052ffff2016e6d245 | |
2222222204200006078788609aaaaaa9088aaa90c60cc06c5522553000766700888e888800100c7c2288e0001ffffff10fe0ef2001dddd100211121006661444 | |
d222221d0440006707888860099999900898aa98c7c76c7c055555330f77760088888888010017072888e000100ff0010ffeff201e1111215255521512622442 | |
971dd17904200070118782110001100002228a98c7cccc7c055555337f7277f08e8e88e8c0000171228e80001f0ff0f17ffffff2ed2222d1d5555551112144d2 | |
0999999009400760611111160030000002802828c7c76c7c01155133f72f277f8888e8880c00c010288e810211dffd11ffffff7222dddd211555556511144d12 | |
059999509a907600787117860003000b02802808c7cccc7c03a51313f2222277288e88e200cc000002880028116dd611ff737ff2e21111210555466111ffd120 | |
0299952019006000781ee186b00b30b30820280016dccd61333933337222227208e88e800c7cc1c18080888e1180081173f3f3722d2222d20555551501ff1220 | |
021952201109700072111126bb033bb308808200166dd66133a33133222252d20880888017071000008008e011800811f070733f21dddd115551511104d12122 | |
0222222010090900672112660bb3333000808200016666103933333125225d22080008800171010008000000010000107000f03722111121555515114d111212 | |
22eeee2200099900000000000033330000000200001111003a933331555d5d2d02000020001000100000000001000010f0000003222222215551511141112122 | |
0066660000aaaa000222222000667600021001200110011000111100000000000000000000000000000000000000000000000000000000000000000000000000 | |
067676700a0a0a702000000206969960055555500101101001111110000000000000000000000000000000000000000000000000000000000000000000000000 | |
776767670acacaaa207777026727a276500550050100001011111111000000000000000000000000000000000000000000000000000000000000000000000000 | |
6d6d66d6a9999aa72200002267aaaa765075570501099010f595595f000000000000000000000000000000000000000000000000000000000000000000000000 | |
f61f61ff998899aa1107701176aaaa675dd55dd5010880101f1111f1000000000000000000000000000000000000000000000000000000000000000000000000 | |
6ffffff6988889a00177771076099067000550000108801001111110000000000000000000000000000000000000000000222200000000000000000000000000 | |
6ff88ff69188190000700700760aa067000550001102201100111100000000000000000000000000000000000000000000222222220000000000000000000000 | |
647ff74699119900000dd00062aaaa26000550001102201161711710000000000000000000000000000000000000000000222222227220000000000000000000 | |
5477772509999000000760002aaff7a20dddddd01100001166177111000000000000000000000000000000000000000002222222277222222000000000000000 | |
d422284d00222a00067677602aaff792d777666d1111111176611dd1000000000000000000000000000000000000000002222222272222222222000000000000 | |
54448985000a70a070076007299aa9a2d777666d111d11111766ddd1000000000000000000000000000000770000000002222222777222222772222200000000 | |
d444384d00aa70200076770029a977a25d7766d511d1dd111d766d250000000000000000000000000000007700000000022222222dd277222772222222200000 | |
05d54445000aa2000006700029a77ff255d76d55111111115dd762d5000000000000000000000000000000770000000000222222222277222772222222222000 | |
0423424d000a0000006776002aafaaf2555dd55511dd1d115ddd2225000000000077777077777077770777770777770007727277277277772777772222222000 | |
04322240000a0000007007000aaf77a0055005501111d1115dd2d221000000000077777077777077770777770777770007727277277277772777772222222000 | |
0444444000aaa200006006000f9a79a002000020111111115ddddd11000000000077077000077077000770770770000007727277277277222772772222220000 | |
000000000099990000777700001551000000000011111111000e2000000000000077000077777077000770770777770007727277277277222772772222220000 | |
088888000a2222a00777777000155100007000700111111100e00200000000000077077077077077000770770000770007727277277277222772772222220000 | |
855570000a7aaa90071771700022220000070700001111110e000020000000000077777077777077000777770777770007777777277277772772772222200000 | |
855100680aaaa990071771700227e2200288788000011110200000020000000000ddddd0ddddd0dd000ddddd0ddddd000ddddddd2dd2dddd2dd2dd2222200000 | |
8550006800a799000767767002e22220228878800000111002000020000000000000000000000000000000000000000000000222222222222222222220000000 | |
00000680000a90000677776002722e20267777700000110002200220000000000000000000000000000000000000000000000002222222222222222220000000 | |
000d6680000a9000007777000deeeed0628878800000100000200200000000000000000000000000000000000000000000000002272222222222222220000000 | |
00888800009494000067670000dddd00228878800000000000222200000000000000000000000000000000000000000000000027722222227222222000000000 | |
0fff4444444141110000000000000000fff4444444411110007ccc00000000000000000000000000000000000000000000002227222222277222000000000000 | |
0ff4444444441111ff770000000076ffff4444444414111000700c00000000000000000000000000000000000000000000222277727722270000000000000000 | |
07dd77ddddddddd6ffdd70000007ddff7dddaddddddddd6007c00cc000000000000000000000000000000000000000002022772dd27722777000000000000000 | |
07dd7dddddddddd6f4dd7700007d7df479a7a9aaada999600c0000c00000000007777700000000000000000077777000222277222277772dd000000077777000 | |
0077dd7dddddd66044d7d77007d7dd4407779aa999996600c000000c000777770777770777700000007777707777707777727727727777200077777077777000 | |
00077dd9dd99660044dd7d707ddddd44007997aaa99960000c0000c0000777770770770777707777707777707707727777727727727722277077777077000000 | |
000077aa9996600044ddddd77ddddd44000779a99966000000c00c00000770770777770770007777707707707727722227727727727722277077077077777000 | |
000000767660000044ddddd67adadd440000777666000000000cc000000770770770000770007700007707707727727777727727727722277077777000077000 | |
000007776660000044dddd9769a9aa44000007676600000000000000000770770777770770007777707707707727727727727727727777277077000077777000 | |
00007d9a99d6000044aada9669a9a94400007da9dd60000000000000000777770ddddd077000000770777770dd2dd2777772772772dddd2770777770ddddd000 | |
0007d97aaa9d600044a9a9966999a9440007ddddddd6000000000000000777770000000dd000777770ddddd0002222ddddd2772dd222222772ddddd000000000 | |
007979aa99999600149999600699a914007d7ddddddd60000000000000077000000000000000ddddd0000000022222222222dd222222222dd200000000000000 | |
079a7a9aaaaa99604199966000699a4107d7ddddddddd60000000000000770000000000000000000000000000222222222222222222222222200000000000000 | |
069aaa999999a99611996600000699117ddddddddddddd6000000000000dd0000000000000000000000000000222222222222222222222222220000000000000 | |
0fff4444444141111199600000006911fff444444441111000000000000000000000000000000000000000000000022222222222222222222220000000000000 | |
0ff44444444411111166000000000611ff4444444414111000000000000000000000000000000000000000000000000022222222222222222222200000000000 | |
00777700002222000000000000000000000880000002200000000000000000000000000000000000000000000000000000022222222222222222000000000000 | |
07000070020000200004289000000000008008000020020000000000000000000000000000000000000000000000000000022222222222222222000000000000 | |
07000070020000200002090000000000008008800220022000000000000000000000000000000000000000000000000000000002222222222222000000000000 | |
7777777722222222001d110000000000018008800c20022000000000000000000000000000000000000000000000000000000000000222222222000000000000 | |
777007772220022201d1111000000000011001800cc00c2000000000000000000000000000000000000000000000000000000000000000222220000000000000 | |
77770777222202220111111000000000011001100cc00c0000000000000000000000000000000000000000000000000000000000000000000220000000000000 | |
777777772222222201d11110000000000010010000c00c0000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
0777777002222220001111000000000000011000000cc00000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000000000000000100100000000000000000000000000000000000000000000000000000000000000000000000000 | |
0110011001000010111111110001111000000110001111000100001000100100400000000880088000000760000000000004400002200220a000000000044000 | |
010000100100001001000010001110000001011001111110010000100111011049000000878088880000766000e0080000777600272222727a0a0a0000777600 | |
000000000110011000100100011000100000100001011010001001000111111029900000e88888884007660008828880007996002262262277a727a000711600 | |
0000000001111110000110000100011000010100011111100010010001111110299000008e888888017660000e8888800079760052276225aa99999900717600 | |
010000100101101000100100000111000010000000100100010000100011110029000000088888800416000008888820079a99605526d255a902002007dc1160 | |
011001100011110011111111011110000100000000011000010000100001100020000000008888000a400000008882007979a99d05d55d50900900907d7dc11d | |
00000000000000000000000000000000000000000000000000100100000000000000000000088000d0040000000820000666ddd000555500000099000666ddd0 | |
000009900a900000000000c700000000990924990449099000000000011000000000000045080000000dd0000dd0000000088800888e00000000666651100000 | |
0009a888889a9000000000c707000000099994494499990000000000177100000000000500900000000110000110000000e888888888888000d6d6dddd110000 | |
000981881889000000000cc72770000099f0ffd999fd9ff9000000011171100011000004080800d100d11060011d0000088888888888888800d64dd6d2110000 | |
000888888888000000000cc722770000111ffff99dfff9f900000111111111101111011501d0dd1100d11676611d0000088888888888888800d4a4dd29210000 | |
00008711788200000000cc17227700009fd111fffff55ff90000000552520000011110111d0d111000d17667671d0000888882777688888e00d646dd12110000 | |
00008788782200000000ccc72777000044f111fffff77992000000077699a0000111107117011110000dc1661cd0000088882777776888e000ddddddd1110000 | |
00662888822550000000cccc7777000042fddd1111fdd9440000000776999a000011102882011100000016776100000088881117111788880005a1d191900000 | |
0006722222770000000cccccc677666029fff2f11f2ff9920000006677609990011111122111111000006555560000008888d07770d1888000005a1a19000000 | |
00016777567d0000000ccccc66776666999f2ff77ff2f444000066ddd77700000001111111111000000661551660000080886c676c67288000100aa991001000 | |
001117677711d00000ccccccc7776660949f2f7777f2f999000666ddd5777000000011111d11000000006d11d6000000008e7ce88c778800001d0d2dd4011000 | |
01111115611121d00ccccc11cc7760009294277117744409066ddddd5577600000005111111d0000000006dd60000000008077888c770800005d649429121100 | |
01882115515288210cccccccccc000009294941771949940dddddd5557776000000511111111d00000000676700d6d6000007ceeeec6000006d5299999942160 | |
18882d1111888821cccccc11ccc0000099494477779409447555557777660000000511111111d00000009d6d6966dd6d00000ef27fe0000012dd498998921165 | |
1282111111d882d1000ccccc6cccc00099494944949449900666666666000000000511111111d00000007a8897dd66d600000e2222e000005255288888842165 | |
1d211115111d211d00cccccc77ccc00022424944949904400000202000000000000551111115500000066699676ddddd000006eeee7000005ddd548888221225 | |
1d1115111511111d00cccccc7770000022429920220990440000e0e0000000000000555555550000006767666677d6d6000007666670000055d5dd1414151115 | |
__label__ | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
1111111111111111111111116611111111111122222211111111111188888811111111111115d661111111111111118881111111111111444211411111111111 | |
111aaa7111aaa1111111111667116661111112ddd777211ddd111111822228112221111111551167115551111111889911819991111111442141114441111111 | |
11aaa77711a1a1111114116671116161111112d11667211d1d111111828228112121111115dddddd51515111111189a998819191111111421412114141111111 | |
11aaaa7a11a1a1111111266711116161111112dd1677211d1d1111118218281121211111116d76761151511111189aaa98119191111111214124114141111111 | |
11aaaaaa11a1a11111114271111161611111112d1672111d1d1111118221281121211111116d76761151511111129aaa98819191111111441244114141111111 | |
119aaaa911aaa11111144421111166611111112dd772111ddd1111118222281122211111116d76761155511111112aaa22119991111111112444114441111111 | |
111999911111111111124114111111111111111222211111111111118888881111111111116d7676111111111111122221111111111111244444111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001111111111111111111 | |
01000010010000100100001001000010010000100100001001000010010000100100001001000010010000100100001001000010010001111111111111111111 | |
00000000000888888888888888888888888888888888888888888888888888888888888888888888888888888888888888000000000001111111111111111111 | |
00000000000822222222222222222222222222222222222222222222222222222222222222222222222222222222222228000000000001182118211111111111 | |
01000010010822882888288828882888288828822222282222222212222222222222222222222222444411222882288228000010010001872188821188818881 | |
f11001100118282228282828228228282282282822222822222221112222222222222222222222227d7dd6228782888828100110011001e88288821111818181 | |
0000000000082822288828882282288822822828222228222222221222222222222222222222222227a96222e8888888280000000000018e8888221118818181 | |
00000000000828222828282222822828228228282222282222222222222222222222222222222222226622228e88888828000000000001188882211111818181 | |
0110011001182288282828222282282828882828222228882222222222222222222222222222222226a962222888888228100110011001118822111188818881 | |
010000100108222222222222222222222222222222222222222222222222222222222222222222226a9996222288882228000010010001111221111111111111 | |
00000000000829929249924492992222222222222222222222222222222222222222222222222222444411222228822228000000000001111111111111111111 | |
00000000000822999944944999922222222222222222222222222222222222222222222222222222222222222222222228000000000000000000000000000000 | |
010000100108299f2ffd999fd9ff9222222222222222222222222222222222222222222222222222299922228282888228f00010010000100100001001000010 | |
0110011001182111ffff99dfff9f9222222222222222222222222222222222222222222222222222292922228282828228100110011001100110011001100110 | |
00000000000829fd111fffff55ff9222222222222222222222222222222222222222222222222222292922228882888228000000000000000066666666666666 | |
000f00000008244f111fffff77992222222222222222222222222222222222222222222222222222292922222282828228000000000000000060000000000000 | |
011001100118242fddd1111fdd944222222222222222222222222222222222222222222222222222299922222282888228100110011001100160011001100110 | |
010000100108229fff2f11f2ff992222222222222222222222222222222222222222222222222222222222222222222228000010010000100160001777666010 | |
0000000000082999f2ff77ff2f444222222222222222222222222222222222222222222222222222222222222222222228000000000000000060007777766600 | |
0000000000082949f2f7777f2f999222222444411222222222222222227622222222888888222222222222222222222228000000000000000060007117711600 | |
010000100108292942771177444292277727d7dd6222222277222222276622772222822228227722222aaa722222222228000010010000100160007117711610 | |
0110011001182929494177194994222722227a96222777222722242276622227222282822822272222aaa7772222222228100110011001100160017227722610 | |
0000000000082994944777794294422777222662222222222722221766222227222282182822272222aaaa7a2222222228000000000000000060007667766600 | |
0000000000082994949449494499222227226a96222777222722224162222227222282212822272222aaaaaa2222222228000000000000000060007777776600 | |
011001100118222424944949924422277726a99962222222777222a4222222777222822228227772229aaaa92222222228100110011001100160011767676110 | |
01000010010822242992222299244222222444411222222222222d22422222222222888888222222222999922222222228000010010000100160001001000010 | |
00000000000822222222222222222222222222222222222222222222222222222222222222222222222222222222222228000000000000000060000000000000 | |
00000000000888888888888888888888888888888888888888888888888888888888888888888888888888888888888888000000000000000066666666666666 | |
01000010010000100100001001000010010000100100001001000010010000100100001001000010010000100100001001000010010000100100001001000010 | |
01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 | |
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 | |
01000010010000100100001001000010010000100100001001000010010000100100001001000010010000100100001001000010010000100100001001000010 | |
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
01000010010000100100001001000010010000100100001001000010010000100100001001000010010000100100001001000010010000100100001001000010 | |
01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 | |
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 | |
01000010010000100100001001000010010000100100001001000010010000100100001001000010010000100100001001000010010000100100001001000010 | |
00000000ccccccccccccccc000001111111111111110000011111111111111100000111111111111111000001111111111111110000000000000000000000000 | |
00000000cfffffffffffffc000001ccccccccccccc1000001ccccccccccccc1000001eeeeeeeeeeeee1000001eeeeeeeeeeeee10000ccccccccccccc00000000 | |
01000010c4999444444444c001001daaaddddddddd1000101daaaddddddddd100100128882222222221000101282822222222210010c11111111111c01000010 | |
01100110c4449444444444c001101dddaddddddddd1001101dddaddddddddd100110128222222222221001101282822222222210010c11111111111c01100110 | |
00000000c4999444444444c000001dddaddddddddd1000001ddaaddddddddd100000128882222222221000001288822222222210000c11111111111c00000000 | |
00000000c4911111111144c000001d11a1111111dd1000001d11a1111111dd100000121181111111221000001211811111112210000c11111111111c00000000 | |
01100110c4999000000044c001101d00a0000000dd1001101daaa0000000dd100110128880000000221001101200800000002210010c11111111111c01100110 | |
01000010c4000000000044c001001d0000000000dd1000101d0000000000dd100100120000000000221000101200000000002210010c11111111111c01000010 | |
00000000c4000000000044c000001d0000000000dd1000001d0000000000dd100000120000000000221000001200000000002210000c11111111111c00000000 | |
00000000c4000aa9900044c000001d0004444000dd1000001d000aaa0000dd1000001200000ddd00221000001200777776002210000c11112211111c00000000 | |
01000010c400aaa9990044c001001d0044444400dd1000101d00a9aa9000dd10010012000dd111d0221000101207777777602210010c11121121111c01000010 | |
01100110c400aaaa990044c001101d0066554400dd1001101d009949a900dd1001101200d1111110221001101207077077702210010c11221122111c01100110 | |
00000000c400a111190044c000001d0f6ff654f0dd1000001d0a44449aa0dd100000120011661110221000001200277207702210000c11c21122111c00000000 | |
00000000c400aa11990044c000001d067f7f5f40dd1000001d0914144a90dd10000012016d6d6110221000001207077077602210000c11cc11c2111c00000000 | |
01100110c4000aa9900044c001101d06fdfff640dd1001101d0a4e44aaa0dd1001101200f1f1f6d0221001101207677677602210010c11cc11c1111c01100110 | |
01000010c4000199100044c001001d06ffff6440dd1000101d0794477490dd10010012066fff0660221000101207111766002210010c111c11c1111c01000010 | |
00000000c4099111199044c000001d00dffd0400dd1000001d00a77a4aa0dd10000012060fff0600221000001207111160002210000c1111cc11111c00000000 | |
00000000c409a9999a9044c000001d00dddd0000dd1000001d08a88a8a20dd100000120602220600221000001207222270002210000c11111111111c00000000 | |
01000010c4019aaaa91044c001001d0d2dd24600dd1000101d08a9888280dd100100120011111660221000101207722670602210010c11111111111c01000010 | |
01100110c40199aa991044c001101d0442244d00dd1001101d0788882270dd100110120111111160221001101206776770002210010c11111111111c01100110 | |
00000000c4059a99a95044c000001d044444d5d0dd1000001d0774884770dd100000120012e21160221000001200667776002210000c11111111111c00000000 | |
00000000c405aa99aa5044c000001d04dd444d50dd1000001d0088888200dd1000001201fe88f100221000001200066777702210000c11111111111c00000000 | |
01100110c40099aa990044c001101d0d9addd0d0dd1001101d0888282220dd1001101201288e2110221001101200006667602210010c11111111111c01100110 | |
01000010c4002a99a20044c001001d04dd4440d0dd1000101d0888828220dd100100120112221110221000101207067060702210010c11111111111c01000010 | |
00000000c4009222290044c000001d0444444000dd1000001d0888282220dd100000120112221110221000001200007006002210000c11111111111c00000000 | |
00000000c1111111111111c000001111111111111110000011111111111111100000111111111111111000001111111111111110000ccccccccccccc00000000 | |
01000010ccccccccccccccc001001111111111111110001011111111111111100100111111111111111000101111111111111110010000000000000001000010 | |
01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 | |
00000000001000010000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
00000000011100111001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
01100110011001110110111001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 | |
01000010010000100100001001000010010000100100001001000010010000100100001001000010010000100100001001000010010000100100001001000010 | |
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f0 | |
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
0100f010f1000010f10000100100001001000010010000100100001001000010010000100100001001000010010000100100001001ee001001eee01001000010 | |
0110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001e0e11e01e0011001100110 | |
00000000000000000000000f00000f00000000000000000000000000f0000000000000ff00ff000000000000000000000000000000e0e00000eee00000000000 | |
000000000000f000000000000f000000000000000000000000000000000000000000000000000000f0000000000000000000000000e0e00e0000e000f000f000 | |
01100110f1100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001eee11001eee11001100110 | |
0100001001000010010000100100001001f0001001000010010000100100001001000010010000100100001001000010010000100100001001000010010f0010 | |
0000000000000000000000000000000000000000000000000000f000000000000f0000000000000000000000000000000f0000f000f00000f000000000000000 | |
000000002222222222222220000022222222222222200000222222222222222000002222222222222220000022222222222222200000ee0fee00ee00e0000000 | |
010000102fffffffffffff2001002fffffffffffff2000102fffffffffffff2001002fffffffffffff2000102fffffffffffff200108888888888888e1000010 | |
0110011024999444444444200110249994444444442001102499944444444420011024999444444444200110249994444444442001e822222222222801100110 | |
0000000024949444444444200000249494444444442000002494944444444420000024949444444444200000249494444444442000e822222222222800000000 | |
000000f02494944444444420000024949444444444200000249494444444442000002494944444444420000024949444444444200008222222222228e0000000 | |
0110011024919111111144200110249191111111442001102491911111114420f1102491911111114420011024919111111144200108222222222228e1100110 | |
010000102499900000f0442001002499900000004420001024999000000044200100249990000000442000102499900000004420f1e822222222222801000010 | |
000000002400000f000044200000240000000000442000002400000000004420000024000000000044200000240000000000442000e822222222222800f00000 | |
000000002400000000f0442000002400000f0000442000002400000000004420000024f0000000004420000024000000000044200008222222222228e0000000 | |
010000102400000044004420010024000000440044200010240000004400442001002400056650004420001024000000440044200108222288222228e1000010 | |
0110011024004444440044200110240044444400442001102400444444004420011024005766750044200110240044444400442001e822282282222801100110 | |
0000000024004ffff4004420000024004ffff4004420000024004ffff400442000002406761167604420000024004ffff400442000e822282288222800000000 | |
00000000240f11f11ff044200000240f11f11ff04420f000240f11f11ff04420000024051211215044200000240f11f11fff44200f08221822882228e0000000 | |
01100110240fffdffff044200110240fffdffff044200110240fffdffff0442001102406611116604420011f240fffdffff044200108221122182228e1100110 | |
01000010240024444a9044200100240024444a9044200010240024444a904420010024006611660044200010240024444a90442001e822112211222801000010 | |
000000f024008244a9a04420000024008244a9a04420000024008244a9a0442000002400261162004420000024008244a9a0442000e822212212222800000000 | |
00000000240888299a1044200000240888299a1044200000240888299a104420000024000222200044200000240888299a1044200008222211222228e0000000 | |
0100001024088999912044200100240889999120442000102408899991204420010024007d22d7004420001024088999912044200108222222222228e100001f | |
01100110240899191280442001102408991912804420011024089919128044200110240766dd667044200110240899191280442001e822222222222801100110 | |
000000002409911912804420000024099119128f4420000024099119128f4420000024011766711044200000240991191280442000e822222222222800000000 | |
000000002409919912804420000024099199128044200000240991991280442000002405d16615d04420000024099199128044200008222222222228e0000000 | |
01100110240999911280442001102409999112804420011024099991128044200110240d676676504420011024099991128044200108222222222228e1100110 | |
010000102401991122804420010024019911228044200010240199112280442001002405166661d044200010240199112280442001e822222222222801000010 | |
0000000f240111122880442000002401111228804420000024011112288044200000240d51661d5044200000240111122880442000e822222222222800000000 | |
0000000024022222888044200000240222228880442000002402222288804420000f2405d511d5504420000024022222888044200008222222222228e0000000 | |
010000102111111111111120010021111111111111200010211111111111112001002111111111111120001021111111111111200108888888888888e1000010 | |
01100110222222222222222f0110222222222222222001102222222222222220011022222222222222200110222222222222222001ee00ee00ee00ee01100110 | |
0000000000000000000000f000000000000f0f00000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000 | |
0000000000f00000f0f000f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11777777711111111111117771777177717771111177717171711171111111171111111777771111111111111177717711771111117771717177717711111111 | |
11717771711111777111117171717171117171111171117171711171111111171111117717177111117771111171117171717111111711717171717171111111 | |
11777777711111111111117771771177117771111177117171711171111111171111117771777111111111111177117171717111111711717177117171111111 | |
11711111711111777111117171717171117171111171117171711171111111171111117717177111117771111171117171717111111711717171717171111111 | |
11777777711111111111117171717177717171111171111771777177711111171111111777771111111111111177717171777111111711177171717171111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
__gff__ | |
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007000000000000000000 | |
__sfx__ | |
000100002e620073302b6300433023630073301d6301b63019630186301663014630116300c6300863005630046200462006320086200462001620003200162003620063200562003610016100b3200061000620 | |
000400002e73332545327433253500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
000400003276326754157432174400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
0102000032763395653476332565397633456532763395651a6441a6421a6321a6321a6221a6221a6121a61200000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
010300003e72302665002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
01040000326131a765326133176330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
0115000026761297652d765307652f7652b7652d7652d763327523275532742327453273232735327223272400000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
011500003276132765317633176530763307652f7632f7652d7532d7552d7422d7452d7322d7352d7222d72400000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
000200002672332735000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
010300001a6441a6421a6341a6321a6241a6221a6141a6121a6001a6001a6001a6001a6001a6001a6001a6001a6001a6001a6001a6001a6001a6001a6001a6000000000000000000000000000000000000000000 | |
00040000006000060000600006000432018620343200832006320316202d62029620216201a620196201762003320056200062000600006000060000600006000060000600006000060000600006000060000600 | |
001500002673028730297302673028730287322573025732267302873029730267302b7302b7322b7322b7342d7302b730297302d7302b7302b73228730287322973128735267352873525730257322573225734 | |
001500001a7351d7351a7351d7351c7351f7351c7351f7351a7351d7351a7351d735187351c735187351c735187351d735187351d735187351c735187351c7351a7351d7351a7351d735197351c735197351c735 | |
001500000e0350e0240e0200e020090350902409020090200e0350e0240e0200e0200c0350c0240c0200c020110351102411020110200c0350c0240c0200c0200e0350e0240e0200e02009035090240902009020 | |
001500000262339615396153961502623396153961539615026233961539615396150262339615396153961502623396153961539615026233961539615396150262339615396153961502623396153961539615 | |
00150000267302873029730267302873028732257302573226730297302d73032730307303073230732307342e7312d7352b7352e7352d7312b735297352d7352b73729733287352973526731267352673526734 | |
001500001a7351d7351a7351d7351c7351f7351c7351f7351a7351d7351a7351d735187351c735187351c735187351d735187351d735187351c735187351c7351a7351d735197351c7351a7351d7352173526735 | |
001500000e0350e0240e0200e020090350902409020090200e0350e0240e0200e0200c0350c0240c0200c020110351102411020110200c0350c0240c0200c0200e0350e02409025090240e0350e0240e0200e020 | |
001500000262339615396153961502623396153961539615026233961539615396150262339615396153961502623396153961539615026233961539615396150262339615026153961502623216152d61539615 | |
001500003272326525327272652531723255253172725525327232652532727265253472328525347272852535723295253572729525347232852534727285253272326525327272652531723255253172725525 | |
001500001d7231d1251d7211d1251c7231c1251c7211c1251d7231d1251d7211d1251f7231f1251f7211f125217232112521721211251f7231f1251f7211f1251d7231d1251d7211d1251c7231c1251c7211c125 | |
001500000e0350e0250e0250e025090350902509025090250e0350e0250e0250e0250c0350c0250c0250c025110351102511025110250c0350c0250c0250c0250e0350e0250e0250e02509035090250902509025 | |
001500003272326525327272652531723255253172725525327232652532727265253472328525347272852535723295253572729525347232852534727285253272326525317272552532723295253972726525 | |
001500001d7231d1251d7211d1251c7231c1251c7211c1251d7231d1251d7211d1251f7231f1251f7211f125217232112521721211251f7231f1251f7211f1251d7231d1251c7211c1251d7231a125157210e125 | |
001500000e0350e0240e0200e020090350902409020090200e0350e0240e0200e0200c0350c0240c0250c025110351102411020110200c0350c0240c0200c0200e0350e02409025090240e0350e0240e0200e020 | |
001500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
001500001a7101a7101a7201a7201c7301c7301c7401c7401d7401d7401d7301d7301c7201c7201c7101c7101a7101a7101a7201a7201c7301c7301c7401c7401d7401d7401d7301d7301f7201f7201f7101f710 | |
001500000e0430e0300e0200e010090430903009020090100e0430e0300e0200e0100c0430c0300c0200c010110431103011020110100c0430c0300c0200c0100e0430e0300e0200e01009043090300902009010 | |
001500001d7101d7101d7201d7201f7301f7301f7401f740217402174021730217301f7201f7201f7101f7101d7101d7101d7201d7201f7301f7301f7401f74021740217401f7301f7301d7201d7201d7101d710 | |
001500001a7101a7101a7201a7201c7301c7301c7401c7401d7401d7401d7301d7301c7201c7201c7101c7101a7101a7101a7201a7201c7301c7301c7401c7401d7401d7401c7301c7301a7201a7201a7101a710 | |
001500000e0430e0300e0200e010090430903009020090100e0430e0300e0200e0100c0430c0300c0200c010110431103011020110100c0430c0300c0200c0100e0430e03009020090100e0430e0300e0200e010 | |
001500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
001500001a7131a7151a7231a7251c7331c7351c7431c7451d7431d7451d7331d7351c7231c7251c7131c7151a7131a7151a7231a7251c7331c7351c7431c7451d7431d7451d7331d7351f7231f7251f7131f715 | |
001500000e0430e0300e0200e010090430903009020090100e0430e0300e0200e0100c0430c0300c0200c010110431103011020110100c0430c0300c0200c0100e0430e0300e0200e01009043090300902009010 | |
001500001d7131d7151d7251d7251f7331f7351f7451f745217432174521735217351f7231f7251f7151f7151d7131d7151d7251d7251f7331f7351f7451f74521743217451f7331f7351d7231d7271d7151d717 | |
001500001a7131a7151a7251a7251c7331c7351c7451c7451d7431d7451d7351d7351c7231c7251c7151c7151a7131a7151a7251a7251c7331c7351c7451c7451d7431d7451c7331c7351a7231a7251a7151a715 | |
001500000e0430e0300e0200e010090430903009020090100e0430e0300e0200e0100c0430c0300c0200c010110431103011020110100c0430c0300c0200c0100e0430e03009020090100e0430e0300e0200e010 | |
001500002673028520297302652028730285222573025522267302852029730265202b7302b5222b7322b5242d7302b520297302d5202b7302b52228730285222973128525267352852525730255222573225524 | |
001500001a5251d7351a5251d7351c5251f7351c5251f7351a5251d7351a5251d735185251c735185251c735185251d735185251d735185251c735185251c7351a5251d7351a5251d735195251c735195251c735 | |
001500000e0331a025260251a025090331502521025150250e0331a025260251a0250c033180252402518025110331d025290251d0250c0331802524025180250e0331a025260251a02509033150252102515025 | |
00150000267302852029730265202873028527257302552226730295202d73732527307303052230732305242e7312d5252b7332e5252d7312b525297332d5252b73729523287352d52532731325253273532524 | |
001500001a5251d7351a5251d7351c5251f7351c5251f7351a5251d7351a5251d735185251c735185251c735185251d735185251d735185251c735185251c7351a5251d735195251c7351a5251d7352152526735 | |
001500000e0331a025260251a025090331502521025150250e0331a025260251a0250c033180252402518025110331d025290251d0250c0331802524025180250e0331a02509023150250e0331a0252602532025 | |
001500003271226012327172601231722250223172725022327322603232737260323472228022347272802235712290123571729012347222802234727280223273226032327372603231722250223172725022 | |
001500001d0121d7171d0121d7121c0221c7271c0221c7221d0321d7371d0321d7321f0221f7271f0221f722210122171721012217121f0221f7271f0221f7221d0321d7371d0321d7321c0221c7271c0221c722 | |
001500000e0331a0250e0251a025090331502509025150250e0331a0250e0251a0250c033180250c02518025110331d025110251d0250c033180250c025180250e0331a0250e0251a02509033150250902515025 | |
001500003271326012327122601231723250223172225022327332603232732260323472328022347222802235713290123571229012347232802234722280223273326032317332503232743290453974526045 | |
001500001d0131d7121d0121d7121c0231c7221c0221c7221d0331d7321d0321d7321f0231f7221f0221f722210132171221012217121f0231f7221f0221f7221d0331d7321c0331c7321d0231a725150250e725 | |
001500000e0331a0250e0231a025090331502509023150250e0331a0250e0231a0250c033180250c02318025110331d025110231d0250c033180250c02318025020330e0250902315025020330e025020230e025 | |
001500001a0151a7151a0151a7151c0251c7251c0251c7251d0351d7351d0351d7351f0251f7251f0251f725210152171521015217151f0251f7251f0251f7251d0351d7351d0351d7351c0251c7251c0251c725 | |
001500000e0331a0250e0251a025090331502509025150250e0331a0250e0251a0250c033180250c02518025110331d025110251d0250c033180250c025180250e0331a0250e0251a02509033150250902515025 | |
001500001a015267151a015267151c025287251c025287251d035297351d035297351f0252b7251f0252b725210152d715210152d7151f0252b7251f0252b7251d035297351c035287351a025297252102526725 | |
001500000e0331a0250e0231a025090331502509023150250e0331a0250e0231a0250c033180250c02318025110331d025110231d0250c033180250c02318025020330e0250902315025020330e025020230e025 | |
001500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002623216152d61539615 | |
__music__ | |
00 41424344 | |
01 0b0c0d0e | |
00 0f101112 | |
00 1314150e | |
00 16171812 | |
00 2526270e | |
00 28292a12 | |
00 2b2c2d0e | |
00 2e2f3012 | |
00 41313275 | |
02 41333435 | |
01 191a1b44 | |
00 1c1d1e44 | |
00 1f202144 | |
02 22232444 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment