TL; DR: Använd uppslagstabeller, eftersom vi inte längre är i Kansas.
Vi är borta för att se guiden ...
Bara tittar på trollkarlen, det verkar vara en ganska vanlig progression. Du får den första stavningen av stavningsnivå \ $ S \ $ när din klassnivå \ $ C \ $ uppfyller
\ begin {align} \ frac {C + 1} {2} & \ geq S & \ Leftrightarrow & & C-2S + 1 & \ geq 0 \ End {align}
Den andra, tredje och fjärde stavningen för varje nivå erhålls när
\ begin {align} C-2S + 1 \ geq 1, C-2S + 1 \ geq 3, C-2S + 1 \ geq 6 \ End {align}
Det här kan enkelt skrivas som
$$ C-2S + 1 = \ sum_ {i = 1} ^ {k-1} i = \ frac {k (k-1)} {2} $$
Vi kan lösa detta för \ $ k \ $, vilket ger
$$ k_S (C) = \ frac {1} {2} \ pm \ frac {1} {2} \ sqrt {1 + 8 (C-2S + 1)} $$
Den rätta lösningen här är den som har det positiva tecknet. Vi måste också runda ner till nästa heltal. Slutligen finns det högst 4 för trollkarlar:
$$ k_S (C) = \ min \ vänster (4, \ left \ lfloor \ frac {1} {2} + \ frac {1} {2} \ sqrt {1 + 8 (C-2S + 1)} \ rfloor \ höger) $$
Om det verkar ganska rimligt hittills beror det på att det inte står för avvikelser än. Denna formel gäller bara för \ $ 1 \ leq S \ leq7 \ $. Stavningsnivåerna 0, 8 och 9 har lite annorlunda framsteg (för att sluta med 4 slitsar på alla stavningsnivåer på nivå 20), som jag inte går in i i det här svaret (även om stavningsnivå 0 kan erhållas med användning av \ $ S = -0,5 \ $).
Samma beräkning fungerar också för clerics och druids, med undantag för att gränsen är 5, förutom 0-nivåer, som har en gräns på 6. Jag antar att klass 1 är helt enkelt bättre.
Den wicked häxa i väst sinisters trollkarl i söder
Om vi försöker anpassa detta till trollkarlen börjar sakerna bli wonky. Progressionen är annorlunda, maximin ökas till 6, det finns minst 3 om det inte är 0. Den shunted progressionen (nya stavningsnivåer vid udda nivåer) gör att stavningsnivå 1 avviker från mönstret.
För \ $ 2 \ leq S \ leq 8 \ $, har vi
$$ k_S (C) = \ start {cases} \ min \ left (6,3 + C-2S \ right) & C \ Geq 2S \\ 0 & C < 2S \ end {fall} $$
Stavningsnivå 1 kompenseras av 1 klassnivå, så
$$ k_1 (C) = \ min \ vänster (6,3 + C + 1-2S \ höger) $$
Låt de flygande aporna falla
Nu ska vi gå till där matte raser helt: Bards. Inte bara är Bard-spellprogressionen mycket konstig, med undantag som är lika vanliga som regler, måste du nu också hantera 0 stavningar per dag som skiljer sig från "" spells per dag.
Jag kommer inte ens att prata om Rangers och Paladins. Eller, du vet, klasser utanför PHB (som Duskblade). Eller prestige klasser (Sublime Chord kommer i åtanke).
Slutsats: Inte värt ansträngningen
Jag hoppas att detta illustrerar att medan WotC verkar ha startat med en plan, gör dussintals variationer för speciella fall inom samma klass, liksom stora skillnader mellan tecken, så att en lookup tabell, en kapslade om annars eller fall -strukturen är det enda riktiga sättet att hantera problemet.