diff options
author | Bardur Arantsson <bardur@scientician.net> | 2010-07-15 08:45:41 +0200 |
---|---|---|
committer | Bardur Arantsson <bardur@scientician.net> | 2010-07-15 08:48:12 +0200 |
commit | 2c04e5788424ad6e69115b4e439101f1a9895a04 (patch) | |
tree | 11e167f08c5e73e4fe548687e632e3733ea2c28d /src | |
parent | 1ef448df8ecf64e7dd28328ba230191df77f76fa (diff) |
Applied fixes and tweaks to Thaumaturgy by Lord Estraven.
Diffstat (limited to 'src')
-rw-r--r-- | src/spells1.c | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/src/spells1.c b/src/spells1.c index 4d088f6c..a7b0ad41 100644 --- a/src/spells1.c +++ b/src/spells1.c @@ -9237,20 +9237,18 @@ void generate_spell(int plev) power = rand_int(15); dice = plev / 5; - sides = plev * 2; + sides = plev; mana = plev; /* Make the spell more or less powerful. */ - dice += power / 5; - sides += power / 2; - mana += (plev * power) / 8; + dice += power; + sides += power; + mana += (plev * power) / 15; /* Stay within reasonable bounds. */ if (dice < 1) dice = 1; - if (dice > 10) dice = 10; if (sides < 5) sides = 5; - if (sides > 100) sides = 100; if (mana < 1) mana = 1; @@ -9267,8 +9265,9 @@ void generate_spell(int plev) if (plev == 1 || chance < 25) { rspell->proj_flags |= PROJECT_STOP; - rspell->dam_dice = dice; - rspell->dam_sides = sides; + /* Swap dice and sides for better damage */ + rspell->dam_dice = sides; + rspell->dam_sides = dice; rspell->radius = 0; } else if (chance < 50) @@ -9281,9 +9280,9 @@ void generate_spell(int plev) else if (chance < 76) { rspell->proj_flags |= PROJECT_STOP; - rspell->radius = dice; - rspell->dam_dice = sides; - rspell->dam_sides = 1; + rspell->radius = dice / 3; + rspell->dam_dice = dice; + rspell->dam_sides = sides; ball_desc = TRUE; } else if (chance < 83) @@ -9299,8 +9298,9 @@ void generate_spell(int plev) else if (chance < 90) { rspell->proj_flags |= PROJECT_METEOR_SHOWER; - rspell->dam_dice = dice; - rspell->dam_sides = sides; + /* Area effect spells do way less damage "per shot" */ + rspell->dam_dice = dice / 5; + rspell->dam_sides = sides / 5; rspell->radius = sides / 3; if (rspell->radius < 4) rspell->radius = 4; @@ -9309,8 +9309,9 @@ void generate_spell(int plev) else { rspell->proj_flags |= PROJECT_VIEWABLE; + /* View spells do less damage */ rspell->dam_dice = dice; - rspell->dam_sides = sides; + rspell->dam_sides = sides / 2; } /* Both a destructive and a simple spell requested -- |