diff --git a/assets.mdesk b/assets.mdesk index d2a8e3c..1dfc593 100644 --- a/assets.mdesk +++ b/assets.mdesk @@ -22,6 +22,10 @@ { filepath: "_Roll.png", } +@image boots: +{ + filepath: "boots.png", +} @image new_knight_idle: { filepath: "copyrighted/knight_idle.png", diff --git a/assets/boots.png b/assets/boots.png new file mode 100644 index 0000000..bea61de Binary files /dev/null and b/assets/boots.png differ diff --git a/assets/new_level.json b/assets/new_level.json index 50417ed..5893d3d 100644 --- a/assets/new_level.json +++ b/assets/new_level.json @@ -359,8 +359,8 @@ "rotation":0, "visible":true, "width":32, - "x":529.333333333333, - "y":566.333333333333 + "x":510.333333333333, + "y":604.333333333333 }, { "class":"", @@ -399,12 +399,12 @@ "class":"ITEM", "height":32, "id":6, - "name":"Tripod", + "name":"Boots", "rotation":0, "visible":true, "width":32, - "x":600, - "y":324 + "x":1109, + "y":847 }, { "class":"", @@ -471,6 +471,17 @@ "width":32, "x":2229.33333333333, "y":1462.66666666667 + }, + { + "class":"ITEM", + "height":32, + "id":13, + "name":"Tripod", + "rotation":0, + "visible":true, + "width":32, + "x":599, + "y":322 }], "opacity":1, "type":"objectgroup", @@ -479,7 +490,7 @@ "y":0 }], "nextlayerid":5, - "nextobjectid":13, + "nextobjectid":14, "orientation":"orthogonal", "renderorder":"right-down", "tiledversion":"1.9.2", diff --git a/elements.mdesk b/elements.mdesk index 144faba..81c75c0 100644 --- a/elements.mdesk +++ b/elements.mdesk @@ -72,6 +72,13 @@ actions: discard_message: "The player is no longer holding the white square.", } +@item Boots: +{ + global_prompt_message: "The player is holding the boots of speed. He is a force to be recogned with in this state, he has great speed while holding the boots.", + possess_message: "The player is now holding the boots of speed", + discard_message: "The player is no longer holding the boots of speed", +} + @item Tripod: { global_prompt_message: "The player is holding a tripod used for holding things up. It's got an odd construction, but Block really likes it for some reason.", diff --git a/main.c b/main.c index a08209e..8af9da7 100644 --- a/main.c +++ b/main.c @@ -2847,14 +2847,11 @@ void frame(void) speed = PLAYER_SPEED; if(player->is_rolling) speed = PLAYER_ROLL_SPEED; - if(player->boots_modifier < 0) + if(gete(player->holding_item) && gete(player->holding_item)->item_kind == ITEM_Boots) { - speed *= 1.0f / (1.0f + -(float)player->boots_modifier * 0.1f); - } - if(player->boots_modifier > 0) - { - speed *= 1.0f + ((float)player->boots_modifier * 0.1f); + speed *= 2.0f; } + if(LenV2(movement) == 0.0) { player->state = CHARACTER_IDLE; @@ -3094,6 +3091,10 @@ void frame(void) { draw_quad((DrawParams){true, drawn, IMG(image_tripod), WHITE}); } + else if(it->item_kind == ITEM_Boots) + { + draw_quad((DrawParams){true, drawn, IMG(image_boots), WHITE}); + } else if(it->item_kind == ITEM_WhiteSquare) { colorquad(true, drawn, WHITE); diff --git a/makeprompt.h b/makeprompt.h index 0444671..7d3fee3 100644 --- a/makeprompt.h +++ b/makeprompt.h @@ -131,7 +131,6 @@ typedef struct Entity bool is_character; EntityRef holding_item; Vec2 to_throw_direction; - int boots_modifier; CharacterState state; EntityRef talking_to; // Maybe should be generational index, but I dunno. No death yet bool is_rolling; // can only roll in idle or walk states diff --git a/todo.txt b/todo.txt index 89792ff..fb221c8 100644 --- a/todo.txt +++ b/todo.txt @@ -5,13 +5,16 @@ DONE - Maybe factor actions! into the game to replace ** stuff. In beginning of DONE - Help you fight and fight you actions DONE- Handle wanting another request, dirty perception, when already waiting on a request DONE - Do not use webhooks (shitty, bad idea propagated by bad docs) query stripe for if the payment went through on request if not fulfilled yet - - New characters/items from fate DONE - New art in DON'T NEED - Old man in beginning is invincible - Make new openai key (it was leaked) - Add cancel button - Style buttons - - Make map better + - Make map better, add new characters/items from fate + - Animate text characters coming in + - Instead of roll animation, 5 sprite long trail of past moves for juice + - Sword combat for sword npcs + - Third button for dialog/item stuff, not roll button. E on desktop. Touchscreen button only visible when appropriate to let player know what it's for DONE - Fade dialog with distance DONE - Make vignette in front - Ignore keyrepeat events