Adds juice
- Dust puffs when tiles begin to fall - Fixed shop prices. 100 gold is a lot of money and it impacts your score when buying.
This commit is contained in:
parent
46fbdc1b3c
commit
af0c61684d
|
@ -70,6 +70,7 @@
|
|||
#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 }
|
||||
#define C_GREY (SDL_Color) { 89, 89, 89, 255 }
|
||||
|
||||
// MSVC seems to have min/max defined.
|
||||
// Haven't looked into it further.
|
||||
|
|
|
@ -418,6 +418,9 @@ void map_room_destroy(Room *room)
|
|||
void
|
||||
map_trigger_tile_fall(MapTile *tile)
|
||||
{
|
||||
if (tile->sprite->state != SPRITE_STATE_FALLING && tile->sprite->state != SPRITE_STATE_PLUMMETED)
|
||||
particle_engine_dust_puff(tile->sprite->pos, tile->sprite->dim);
|
||||
|
||||
tile->sprite->state = SPRITE_STATE_FALLING;
|
||||
tile->lethal = true;
|
||||
}
|
||||
|
|
|
@ -525,7 +525,7 @@ l_create_shop_artifact(lua_State *L)
|
|||
|
||||
Artifact *a = artifact_create_random(player, 2);
|
||||
a->sprite->pos = POS(x, y);
|
||||
artifact_add_price(a, map->level * 50);
|
||||
artifact_add_price(a, 100);
|
||||
|
||||
linkedlist_append(&map->artifacts, a);
|
||||
|
||||
|
|
|
@ -691,7 +691,7 @@ monster_drop_loot(Monster *monster, Map *map, Player *player)
|
|||
}
|
||||
|
||||
if (strcmp(monster->label, "The Trader") == 0) {
|
||||
Item *treasure = item_builder_build_treasure(PLATINUM, 25 * monster->stats.lvl);
|
||||
Item *treasure = item_builder_build_treasure(PLATINUM, 10 * monster->stats.lvl);
|
||||
treasure->sprite->pos = monsterTilePos;
|
||||
linkedlist_append(&map->items, treasure);
|
||||
}
|
||||
|
|
|
@ -188,6 +188,38 @@ particle_engine_eldritch_explosion(Position pos, Dimension dim)
|
|||
create_explosion(pos, dim, 1, C_GREEN);
|
||||
}
|
||||
|
||||
void
|
||||
particle_engine_dust_puff(Position pos, Dimension dim)
|
||||
{
|
||||
check_engine();
|
||||
for (unsigned int i = 0; i < 50; ++i) {
|
||||
int x, y, xv, yv, w, h;
|
||||
unsigned int lt;
|
||||
Particle *p;
|
||||
|
||||
x = get_random(dim.width) + pos.x;
|
||||
y = get_random(dim.height) + pos.y;
|
||||
|
||||
xv = get_random(200) - 100;
|
||||
yv = get_random(200) - 100;
|
||||
|
||||
lt = get_random(10) + 10;
|
||||
|
||||
w = get_random(3);
|
||||
h = get_random(3);
|
||||
|
||||
p = create_rect_particle();
|
||||
p->particle.rect.pos = (Position) { x, y };
|
||||
p->particle.rect.dim = (Dimension) { w, h };
|
||||
p->velocity = (Vector2d) { (float) xv, (float) yv };
|
||||
p->movetime = lt;
|
||||
p->lifetime = lt;
|
||||
p->color = C_GREY;
|
||||
p->blend_mode = SDL_BLENDMODE_BLEND;
|
||||
linkedlist_append(&engine->game_particles, p);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
particle_engine_speed_lines(Position pos, Dimension dim, bool horizontal)
|
||||
{
|
||||
|
|
|
@ -37,6 +37,9 @@ particle_engine_fire_explosion(Position, Dimension);
|
|||
void
|
||||
particle_engine_eldritch_explosion(Position, Dimension);
|
||||
|
||||
void
|
||||
particle_engine_dust_puff(Position, Dimension);
|
||||
|
||||
void
|
||||
particle_engine_speed_lines(Position, Dimension, bool horizontal);
|
||||
|
||||
|
|
Loading…
Reference in New Issue