xp multiplier based on combo + challenging lv2
This commit is contained in:
parent
c786d35388
commit
127bb4076d
|
@ -1,6 +1,7 @@
|
|||
# Build files
|
||||
/build-fx
|
||||
/build-cg
|
||||
/build-cg-push
|
||||
/*.g1a
|
||||
/*.g3a
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ wave: 12s 1*fire_slime/4 1*bat/2 4*slime/1
|
|||
delay: 8s
|
||||
|
||||
# "Boss" wave #1
|
||||
wave: 12s 1*albinos_bat/6 2*fire_slime/4 4*bat/2 8*slime/1
|
||||
wave: 12s 1*albinos_bat/6 2*fire_slime/4 4*bat/2 8*slime/1 1*water_slime/8
|
||||
delay: 10s
|
||||
item: scepter2
|
||||
|
||||
|
@ -28,11 +28,13 @@ wave: 12s 4*fire_slime/4 4*bat/2
|
|||
wave: 8s 1*albinos_bat/6
|
||||
item: potion_hp
|
||||
delay: 5s
|
||||
wave: 18s 12*bat/2 12*slime/1
|
||||
wave: 18s 12*bat/2 6*slime/1 2*water_slime/8
|
||||
delay: 8s
|
||||
|
||||
# "Boss" wave #2
|
||||
wave: 2s 4*fire_slime/4 4*bat/2 4*slime/1
|
||||
delay: 4s
|
||||
wave: 1s 2*albinos_bat/6
|
||||
wave: 20s 40*slime/1
|
||||
|
||||
wave: 8s 4*water_slime/8 2*chemical_slime/10
|
||||
wave: 20s 20*slime/1 10*fire_slime/4 4*water_slime/8 2*chemical_slime/10
|
||||
|
|
|
@ -54,7 +54,7 @@ static enemy_t const bat_2 = {
|
|||
.stats_growth = { .HP=10, .ATK=3, .MAG=2, .DEF=1 },
|
||||
|
||||
.shadow_size = 4,
|
||||
.xp = 6,
|
||||
.xp = 8,
|
||||
.z = fix(0.75),
|
||||
.ai_data_size = sizeof(struct bat_ai),
|
||||
};
|
||||
|
@ -74,7 +74,7 @@ static enemy_t const fire_slime_4 = {
|
|||
.stats_growth = { .HP=8, .ATK=4, .MAG=4, .DEF=2 },
|
||||
|
||||
.shadow_size = 4,
|
||||
.xp = 14,
|
||||
.xp = 22,
|
||||
.z = 0,
|
||||
.ai_data_size = 0,
|
||||
};
|
||||
|
@ -94,7 +94,7 @@ static enemy_t const albinos_bat_6 = {
|
|||
.stats_growth = { .HP=10, .ATK=3, .MAG=2, .DEF=1 },
|
||||
|
||||
.shadow_size = 4,
|
||||
.xp = 20,
|
||||
.xp = 40,
|
||||
.z = fix(0.5),
|
||||
.ai_data_size = sizeof(struct bat_ai),
|
||||
};
|
||||
|
@ -113,7 +113,7 @@ static enemy_t const gunslinger_8 = {
|
|||
.stats_growth = { .HP=12, .ATK=4, .MAG=1, .DEF=1 },
|
||||
|
||||
.shadow_size = 4,
|
||||
.xp = 30,
|
||||
.xp = 60,
|
||||
.z = fix(0.25),
|
||||
.ai_data_size = 0,
|
||||
};
|
||||
|
@ -133,7 +133,7 @@ static enemy_t const water_slime_8 = {
|
|||
.stats_growth = { .HP=8, .ATK=4, .MAG=4, .DEF=2 },
|
||||
|
||||
.shadow_size = 4,
|
||||
.xp = 24,
|
||||
.xp = 32,
|
||||
.z = 0,
|
||||
.ai_data_size = 0,
|
||||
};
|
||||
|
@ -153,7 +153,7 @@ static enemy_t const chemical_slime_10 = {
|
|||
.stats_growth = { .HP=8, .ATK=2, .MAG=6, .DEF=2 },
|
||||
|
||||
.shadow_size = 4,
|
||||
.xp = 41,
|
||||
.xp = 71,
|
||||
.z = 0,
|
||||
.ai_data_size = 0,
|
||||
};
|
||||
|
|
|
@ -360,8 +360,10 @@ void game_remove_dead_entities(game_t *g)
|
|||
bool anim_finished = !v || (v->anim.frame == NULL);
|
||||
|
||||
if(f && f->HP == 0 && f->enemy != NULL && anim_finished) {
|
||||
/* Give XP points to player */
|
||||
bool lvup = player_add_xp(g->player, f->enemy->id->xp);
|
||||
/* Give XP points to player based on combo */
|
||||
int mult_percent = 100 + min(g->combo, 100);
|
||||
int xp = f->enemy->id->xp * mult_percent / 100;
|
||||
bool lvup = player_add_xp(g->player, xp);
|
||||
|
||||
if(lvup) {
|
||||
g->hud_xp_anim.frame = anims_hud_xp_Explode.start[0];
|
||||
|
|
Loading…
Reference in New Issue