Changes stun icon and fixes some syntax reports from codacy
This commit is contained in:
parent
9fe2edee85
commit
d8615b2f14
|
@ -52,7 +52,7 @@ monster_set_sprite_clip_for_current_state(Monster *m)
|
||||||
m->stateIndicator.sprite->clip = CLIP16(16 * 10, 16 * 4);
|
m->stateIndicator.sprite->clip = CLIP16(16 * 10, 16 * 4);
|
||||||
break;
|
break;
|
||||||
case STUNNED:
|
case STUNNED:
|
||||||
m->stateIndicator.sprite->clip = CLIP16(16 * 13, 16 * 3);
|
m->stateIndicator.sprite->clip = CLIP16(16 * 10, 16 * 1);
|
||||||
break;
|
break;
|
||||||
case SCANNING:
|
case SCANNING:
|
||||||
m->stateIndicator.sprite->clip = CLIP16(16 * 13, 16 * 4);
|
m->stateIndicator.sprite->clip = CLIP16(16 * 13, 16 * 4);
|
||||||
|
|
56
src/stats.c
56
src/stats.c
|
@ -27,31 +27,51 @@
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
#include "defines.h"
|
#include "defines.h"
|
||||||
|
|
||||||
|
static int
|
||||||
|
get_attack_roll(Stats *attacker)
|
||||||
|
{
|
||||||
|
int roll;
|
||||||
|
int firstRoll = get_random(19) + 1;
|
||||||
|
int secondRoll = get_random(19) + 1;
|
||||||
|
|
||||||
|
if (attacker->advantage)
|
||||||
|
roll = max(firstRoll, secondRoll);
|
||||||
|
else if (attacker->disadvantage)
|
||||||
|
roll = min(firstRoll, secondRoll);
|
||||||
|
else
|
||||||
|
roll = firstRoll;
|
||||||
|
|
||||||
|
return roll + attacker->atk;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
get_defence_roll(Stats *defender)
|
||||||
|
{
|
||||||
|
int roll;
|
||||||
|
int firstRoll = get_random(19) + 1;
|
||||||
|
int secondRoll = get_random(19) + 1;
|
||||||
|
|
||||||
|
if (defender->advantage)
|
||||||
|
roll = max(firstRoll, secondRoll);
|
||||||
|
else if (defender->disadvantage)
|
||||||
|
roll = min(firstRoll, secondRoll);
|
||||||
|
else
|
||||||
|
roll = firstRoll;
|
||||||
|
|
||||||
|
return roll + defender->def;
|
||||||
|
}
|
||||||
|
|
||||||
unsigned int
|
unsigned int
|
||||||
stats_fight(Stats *attacker, Stats *defender)
|
stats_fight(Stats *attacker, Stats *defender)
|
||||||
{
|
{
|
||||||
int atkRoll, defRoll, dmgRoll;
|
|
||||||
bool critical = false;
|
bool critical = false;
|
||||||
|
|
||||||
if (attacker->advantage)
|
int atkRoll = get_attack_roll(attacker);
|
||||||
atkRoll = max(get_random(19), get_random(19)) + 1;
|
if (atkRoll - attacker->atk == 20)
|
||||||
else if (attacker->disadvantage)
|
|
||||||
atkRoll = min(get_random(19), get_random(19)) + 1;
|
|
||||||
else
|
|
||||||
atkRoll = get_random(19) + 1;
|
|
||||||
|
|
||||||
if (atkRoll == 20)
|
|
||||||
critical = true;
|
critical = true;
|
||||||
atkRoll += attacker->atk;
|
int defRoll = get_defence_roll(defender);
|
||||||
|
|
||||||
if (defender->advantage)
|
|
||||||
defRoll = max(get_random(19), get_random(19)) + 1 + defender->def;
|
|
||||||
else if (defender->disadvantage)
|
|
||||||
defRoll = min(get_random(19), get_random(19)) + 1 + defender->def;
|
|
||||||
else
|
|
||||||
defRoll = get_random(19) + 1 + defender->def;
|
|
||||||
dmgRoll = 0;
|
|
||||||
|
|
||||||
|
int dmgRoll = 0;
|
||||||
if (atkRoll >= defRoll) {
|
if (atkRoll >= defRoll) {
|
||||||
if (attacker->dmg > 0)
|
if (attacker->dmg > 0)
|
||||||
dmgRoll = get_random(attacker->dmg) + 1;
|
dmgRoll = get_random(attacker->dmg) + 1;
|
||||||
|
|
Loading…
Reference in New Issue