diff --git a/src/objects.c b/src/objects.c index 807f9598f..dd9b2a011 100644 --- a/src/objects.c +++ b/src/objects.c @@ -1191,13 +1191,11 @@ SPELL("reflection", "decrepit", P_MATTER_SPELL, 15, 3, 5, 1, IMM SPELL("flame sphere", "canvas", P_MATTER_SPELL, 15, 2, 1, 1, NODIR, CLR_BROWN), /* Slash'EM */ SPELL("freeze sphere", "hardcover", P_MATTER_SPELL, 15, 2, 1, 1, NODIR, CLR_BROWN), /* Slash'EM */ SPELL("cancellation", "shining", P_MATTER_SPELL, 15, 8, 7, 1, IMMEDIATE, CLR_WHITE), -/* Fire Bolt is the Flame Mage's special spell - not randomly generated. */ -SPELL("fire bolt", "feathered", P_MATTER_SPELL, 0, 2, 1, 1, IMMEDIATE, CLR_YELLOW), +SPELL("fire bolt", "feathered", P_MATTER_SPELL, 15, 2, 1, 1, IMMEDIATE, CLR_YELLOW), SPELL("slow monster", "light green", P_ENCHANTMENT_SPELL, 30, 2, 1, 1, IMMEDIATE, CLR_BRIGHT_GREEN), -SPELL("cause fear", "light blue", P_ENCHANTMENT_SPELL, 25, 3, 3, 1, NODIR, CLR_BRIGHT_BLUE), +SPELL("cause fear", "light blue", P_ENCHANTMENT_SPELL, 25, 3, 3, 1, NODIR, CLR_BRIGHT_BLUE), SPELL("charm monster", "magenta", P_ENCHANTMENT_SPELL, 15, 3, 4, 1, IMMEDIATE, CLR_MAGENTA), SPELL("confuse monster", "orange", P_ENCHANTMENT_SPELL, 30, 2, 1, 1, IMMEDIATE, CLR_ORANGE), - SPELL("haste self", "purple", P_ESCAPE_SPELL, 30, 4, 3, 1, NODIR, CLR_MAGENTA), SPELL("levitation", "tan", P_ESCAPE_SPELL, 20, 4, 4, 1, NODIR, CLR_BROWN), SPELL("teleport away", "gold", P_ESCAPE_SPELL, 15, 6, 5, 1, IMMEDIATE, HI_GOLD), diff --git a/src/zap.c b/src/zap.c index aae329981..c2770505b 100644 --- a/src/zap.c +++ b/src/zap.c @@ -202,7 +202,6 @@ struct obj *otmp; learn_it = TRUE; break; case SPE_FIRE_BOLT: - /* New special spell just for Flame Mages */ zap_type_text = "fire bolt"; dmg = 0; reveal_invis = TRUE; @@ -236,19 +235,22 @@ struct obj *otmp; xkilled(mtmp, XKILL_NOMSG | XKILL_NOCORPSE); } else if (!resist(mtmp, otmp->oclass, dmg, NOTELL) && !DEADMONSTER(mtmp)) { - /* Damage scales with level */ dmg = d(1, 10); /* Level 1 = 1d10 fire damage */ - if (u.ulevel >= 4) - dmg += d(1, 8); /* Level 4 = +1d8 */ - if (u.ulevel >= 8) - dmg += d(1, 8); /* Level 8 = +1d8 */ - if (u.ulevel >= 12) - dmg += d(1, 8); /* Level 12 = +1d8 */ - if (P_SKILL(P_MATTER_SPELL) >= P_SKILLED) { - dmg += d(1, 4); /* Skilled = +1d4 */ - } - if (P_SKILL(P_MATTER_SPELL) >= P_EXPERT) { - dmg += d(1, 4); /* Expert = +1d4 */ + + /* Flame mages are the true masters of this spell */ + if (Role_if(PM_FLAME_MAGE)) { + if (u.ulevel >= 4) + dmg += d(1, 8); /* Level 4 = +1d8 */ + if (u.ulevel >= 8) + dmg += d(1, 8); /* Level 8 = +1d8 */ + if (u.ulevel >= 12) + dmg += d(1, 8); /* Level 12 = +1d8 */ + if (P_SKILL(P_MATTER_SPELL) >= P_SKILLED) { + dmg += d(1, 4); /* Skilled = +1d4 */ + } + if (P_SKILL(P_MATTER_SPELL) >= P_EXPERT) { + dmg += d(1, 4); /* Expert = +1d4 */ + } } if (dbldam) dmg *= 2;