From 223a3b00c161c7a10e65771bd31a5305542b9bed Mon Sep 17 00:00:00 2001 From: Linus Probert Date: Thu, 9 May 2019 10:16:38 +0200 Subject: [PATCH] Implements the blink skill The icon still needs to be created but the skill is complete --- Makefile | 14 +++--- assets/Sounds/FX/blink.wav | Bin 0 -> 98682 bytes src/defines.h | 1 + src/mixer.c | 1 + src/mixer.h | 1 + src/particle_engine.c | 7 +++ src/particle_engine.h | 3 ++ src/player.c | 5 +- src/skill.c | 92 +++++++++++++++++++++++++++++++++++++ src/skill.h | 3 +- 10 files changed, 117 insertions(+), 10 deletions(-) create mode 100644 assets/Sounds/FX/blink.wav diff --git a/Makefile b/Makefile index c1da974..6c735ca 100644 --- a/Makefile +++ b/Makefile @@ -1,18 +1,18 @@ all: - @make -C _build/debug + @make -sC _build/debug .PHONY: all release: - @make -C _build/release + @make -sC _build/release .PHONY: release clean: - @make clean -C _build/debug - @make clean -C _build/release + @make clean -sC _build/debug + @make clean -sC _build/release .PHONY: clean test: - @make test -C _build/debug + @make test -sC _build/debug .PHONY: test run: $(all) @@ -24,9 +24,9 @@ playtest: $(all) .PHONY: run lint: - @make lint -C _build/debug + @make lint -sC _build/debug .PHONY: lint package: - @make package -C _build/release + @make package -sC _build/release .PHONY: package diff --git a/assets/Sounds/FX/blink.wav b/assets/Sounds/FX/blink.wav new file mode 100644 index 0000000000000000000000000000000000000000..e9bd8ba7c987a050728f65b2021736075f2eb588 GIT binary patch literal 98682 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

MxPRs34o+CE|jVCQ2-YGZ2^|EGm(wOr87 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 T22MEj*waoB4Si+u9|Zm%*ao5Z literal 0 HcmV?d00001 diff --git a/src/defines.h b/src/defines.h index b3dd6ff..b90ab1a 100644 --- a/src/defines.h +++ b/src/defines.h @@ -67,6 +67,7 @@ #define C_RED (SDL_Color) { 255, 0, 0, 255 } #define C_GREEN (SDL_Color) { 0, 255, 0, 255 } #define C_BLUE (SDL_Color) { 60, 134, 252, 255 } +#define C_LIGHTBLUE (SDL_Color) { 143, 178, 234, 255 } #define C_YELLOW (SDL_Color) { 255, 255, 0, 255 } #define C_BLACK (SDL_Color) { 0, 0, 0, 255 } #define C_PURPLE (SDL_Color) { 137, 16, 229, 255 } diff --git a/src/mixer.c b/src/mixer.c index 18bc85c..4560ff7 100644 --- a/src/mixer.c +++ b/src/mixer.c @@ -90,6 +90,7 @@ load_effects(void) effects[BURST] = load_effect("Sounds/FX/burst.wav"); effects[DOOR_OPEN] = load_effect("Sounds/FX/door_open.wav"); effects[KEY_PICKUP] = load_effect("Sounds/FX/key_pickup.wav"); + effects[BLINK_EFFECT] = load_effect("Sounds/FX/blink.wav"); } void diff --git a/src/mixer.h b/src/mixer.h index df77b8a..9708fd2 100644 --- a/src/mixer.h +++ b/src/mixer.h @@ -66,6 +66,7 @@ typedef enum Fx_t { BURST, DOOR_OPEN, KEY_PICKUP, + BLINK_EFFECT, LAST_EFFECT } Fx; diff --git a/src/particle_engine.c b/src/particle_engine.c index be2e6f5..9077974 100644 --- a/src/particle_engine.c +++ b/src/particle_engine.c @@ -187,6 +187,13 @@ particle_engine_fire_explosion(Position pos, Dimension dim) create_explosion(pos, dim, 3, C_YELLOW, C_YELLOW, C_RED); } +void +particle_engine_blink(Position pos, Dimension dim) +{ + check_engine(); + create_explosion(pos, dim, 3, (SDL_Color) { 0, 0, 255, 255 }, C_BLUE, C_LIGHTBLUE); +} + void particle_engine_eldritch_explosion(Position pos, Dimension dim) { diff --git a/src/particle_engine.h b/src/particle_engine.h index e115d5f..2acc0d0 100644 --- a/src/particle_engine.h +++ b/src/particle_engine.h @@ -37,6 +37,9 @@ particle_engine_bloodspray(Position, Dimension, unsigned int count); void particle_engine_fire_explosion(Position, Dimension); +void +particle_engine_blink(Position, Dimension); + void particle_engine_eldritch_explosion(Position, Dimension); diff --git a/src/player.c b/src/player.c index 3c034a5..d8c7fbe 100644 --- a/src/player.c +++ b/src/player.c @@ -42,8 +42,8 @@ #include "steam/steamworks_api_wrapper.h" #endif // STEAM_BUILD -#define ENGINEER_STATS { 12, 12, 5, 7, 2, 2, 1, false, false } -#define MAGE_STATS { 12, 12, 5, 7, 1, 2, 1, false, false } +#define ENGINEER_STATS { 12, 12, 5, 7, 2, 1, 1, false, false } +#define MAGE_STATS { 12, 12, 5, 7, 1, 1, 1, false, false } #define PALADIN_STATS { 12, 12, 8, 9, 3, 1, 1, false, false } #define ROGUE_STATS { 9, 9, 6, 9, 4, 2, 1, false, false } #define WARRIOR_STATS { 12, 12, 8, 9, 3, 1, 1, false, false } @@ -542,6 +542,7 @@ player_create(class_t class, Camera *cam) case MAGE: m_strcpy(asset, 100, "Commissions/Mage.png"); player->stats = (Stats) MAGE_STATS; + player->skills[2] = skill_create(BLINK, cam); break; case PALADIN: m_strcpy(asset, 100, "Commissions/Paladin.png"); diff --git a/src/skill.c b/src/skill.c index 35a3b38..35a8f66 100644 --- a/src/skill.c +++ b/src/skill.c @@ -156,6 +156,24 @@ static char *charge_tooltip[] = { NULL }; +static char *blink_tooltip[] = { + "BLINK", "", + "", + " You blink in a chosen direction into the first obstructing", "", + " object. Monsters will not obstruct your blink.", "", + "", + "COOLDOWN:", "", + " 5 turns", "", + "", + "USAGE:", + " activate the skill (press ", "3", ")", "", + " followed by a direction (left, right, up or down)", "", + "", + "", + "Press ", "ESC", " to close", "", + NULL +}; + static char *dagger_tooltip[] = { "THROW DAGGER", "", "", @@ -752,6 +770,76 @@ create_charge(void) return skill; } +static bool +skill_blink(Skill *skill, SkillData *data) +{ + UNUSED(skill); + + Player *player = data->player; + RoomMatrix *matrix = data->matrix; + + Position playerStartPos = position_to_matrix_coords(&player->sprite->pos); + Position destination = playerStartPos; + + // Find collider + destination.x += (int) data->direction.x; + destination.y += (int) data->direction.y; + RoomSpace *space = &matrix->spaces[destination.x][destination.y]; + Position lastAvailableDest = playerStartPos; + while (position_in_roommatrix(&destination)) + { + if (space->occupied) { + break; + } + + if (!space->monster) { + lastAvailableDest = destination; + } + + destination.x += (int) data->direction.x; + destination.y += (int) data->direction.y; + space = &matrix->spaces[destination.x][destination.y]; + } + + destination = lastAvailableDest; + + // Move player + Position playerOriginPos = player->sprite->pos; + Sint32 xdiff = destination.x - playerStartPos.x; + Sint32 ydiff = destination.y - playerStartPos.y; + player->sprite->pos.x += xdiff * TILE_DIMENSION; + player->sprite->pos.y += ydiff * TILE_DIMENSION; + Position playerDestinationPos = player->sprite->pos; + player_turn(data->player, &data->direction); + + particle_engine_blink(playerOriginPos, DIM(32, 32)); + particle_engine_blink(playerDestinationPos, DIM(32, 32)); + mixer_play_effect(BLINK_EFFECT); + + Position lastTilePos = position_to_matrix_coords(&playerDestinationPos); + RoomSpace *destSpace = &matrix->spaces[lastTilePos.x][lastTilePos.y]; + + perform_pickups_for_space(destSpace, player); + handle_space_effects(destSpace, player); + + return true; +} + +static Skill * +create_blink(void) +{ + Texture *t = texturecache_add("Extras/Skills.png"); + Sprite *s = sprite_create(); + sprite_set_texture(s, t, 0); + s->dim = GAME_DIMENSION; + s->clip = CLIP32(32, 0); + s->fixed = true; + Skill *skill = create_default("Blink", s); + skill->levelcap = 4; + skill->use = skill_blink; + return skill; +} + Skill* skill_create(enum SkillType t, Camera *cam) { @@ -769,6 +857,10 @@ skill_create(enum SkillType t, Camera *cam) skill = create_charge(); skill->tooltip = tooltip_create(charge_tooltip, cam); break; + case BLINK: + skill = create_blink(); + skill->tooltip = tooltip_create(blink_tooltip, cam); + break; case DAGGER_THROW: skill = create_throw_dagger(); skill->tooltip = tooltip_create(dagger_tooltip, cam); diff --git a/src/skill.h b/src/skill.h index 8e23291..89863f0 100644 --- a/src/skill.h +++ b/src/skill.h @@ -35,7 +35,8 @@ enum SkillType { SIP_HEALTH, BACKSTAB, TRIP, - PHASE + PHASE, + BLINK }; typedef struct SkillData_t {