Use macro for spell pw cost per spell level

This commit is contained in:
Pasi Kallinen
2022-02-28 22:21:37 +02:00
parent 3cf1b87914
commit b172957831
3 changed files with 7 additions and 4 deletions
+3
View File
@@ -25,4 +25,7 @@ struct spell {
#define spellid(spell) g.spl_book[spell].sp_id #define spellid(spell) g.spl_book[spell].sp_id
#define spellknow(spell) g.spl_book[spell].sp_know #define spellknow(spell) g.spl_book[spell].sp_know
/* how much Pw a spell of level lvl costs to cast? */
#define SPELL_LEV_PW(lvl) ((lvl) * 5)
#endif /* SPELL_H */ #endif /* SPELL_H */
+1 -1
View File
@@ -924,7 +924,7 @@ spelleffects(int spell_otyp, boolean atme)
* Note: dotele() also calculates energy use and checks nutrition * Note: dotele() also calculates energy use and checks nutrition
* and strength requirements; if any of these change, update it too. * and strength requirements; if any of these change, update it too.
*/ */
energy = (spellev(spell) * 5); /* 5 <= energy <= 35 */ energy = SPELL_LEV_PW(spellev(spell)); /* 5 <= energy <= 35 */
/* /*
* Spell casting no longer affects knowledge of the spell. A * Spell casting no longer affects knowledge of the spell. A
+3 -3
View File
@@ -932,10 +932,10 @@ u_init(void)
break; break;
} }
/* If we have at least one spell, force starting Pw to be 5, /* If we have at least one spell, force starting Pw to be enough,
so hero can cast the level 1 spell they should have */ so hero can cast the level 1 spell they should have */
if (num_spells() && (u.uenmax < 5)) if (num_spells() && (u.uenmax < SPELL_LEV_PW(1)))
u.uen = u.uenmax = u.uenpeak = u.ueninc[u.ulevel] = 5; u.uen = u.uenmax = u.uenpeak = u.ueninc[u.ulevel] = SPELL_LEV_PW(1);
return; return;
} }