Tome of Destruction


If it doesn't fit anywhere else, it belongs here. Also, come here if you just need to get hammered.

Tomb Titivator

Posts: 799

Joined: Saturday, 23rd February 2013, 22:25

Post Sunday, 9th June 2013, 15:05

Tome of Destruction

Kay, one of my characters recently got one.
I assumed it would be useless, as said character was a caster and didn't need much help with ranged fighting.
Anyway, a while later I'm in a fight and I run out of MP so I use the book.
After reading it once and launching a fireball, I notice something: no turns have passed.
After reading the book a few more times, it still stays the same turn.
Is this supposed to happen? An infinite amount of spells costing no mana seems slightly overpowered.
User avatar

Dungeon Master

Posts: 762

Joined: Thursday, 25th April 2013, 02:43

Post Sunday, 9th June 2013, 16:34

Re: Tome of Destruction

That's definitely a bug if it's actually happening, and Tome of Destruction is so terrible that I can see a glitch like this not getting noticed. The whole "all monster brands deal 0 damage" was in for a year.There's an effort to make evocable items better right now, so some code could have easily been changed.
*begins compiling a recent version of the game*
EDIT: Looks fine from Trunk a couple days ago, I'm did a git pull and I'm recompiling right now.
EDIT2: Yeah, I can't replicate this glitch in Trunk Wiz mode. It could be a Stable only glitch, but the commit logs don't have anything saying the Tomb of Destruction code was changed. You might want to try it out again on a rat or something- maybe there was some weird circumstance that made it look like it was taking no time.
On IRC my nick is reaverb. I play online under the name reaver, though.
User avatar

Pandemonium Purger

Posts: 1341

Joined: Monday, 24th October 2011, 06:13

Post Sunday, 9th June 2013, 21:37

Re: Tome of Destruction

Speaking of the tome, is it really as bad as the knowledge bots say? I'm running a felid evoker with a lot of cash and saw one in a shop. I don't even know if I can use it, like wands or rods.
seattle washington. friends for life. mods hate on me and devs ignore my posts. creater of exoelfs and dc:pt
User avatar

Dungeon Master

Posts: 762

Joined: Thursday, 25th April 2013, 02:43

Post Sunday, 9th June 2013, 22:10

Re: Tome of Destruction

You have a 30% chance of a hostile abomination or a cloud that either damages you or does nothing. There is ~1.5% chance the Tome will destroy itself each time you use it. If you do get a spell from it, Things like Magic Dart, Dazzling Spray and Throw Flame/Frost are on the list. I imagine it is as bad as they say.
On IRC my nick is reaverb. I play online under the name reaver, though.
User avatar

Dungeon Master

Posts: 762

Joined: Thursday, 25th April 2013, 02:43

Post Sunday, 9th June 2013, 22:21

Re: Tome of Destruction

Here is the function which determines what a Tome of Destruction does. It's in evoke.cc:
  Code:
void tome_of_power(int slot)
 454 {
 455     if (you.form == TRAN_WISP)
 456     {
 457         crawl_state.zero_turns_taken();
 458         return mpr("You can't handle books in this form.");
 459     }
 460
 461     const int powc = 5 + you.skill(SK_EVOCATIONS)
 462                        + roll_dice(5, you.skill(SK_EVOCATIONS));
 463
 464     msg::stream << "The book opens to a page covered in "
 465                 << weird_writing() << '.' << endl;
 466
 467     you.turn_is_over = true;
 468
 469     if (player_mutation_level(MUT_BLURRY_VISION) > 0
 470         && x_chance_in_y(player_mutation_level(MUT_BLURRY_VISION), 4))
 471     {
 472         mpr("The page is too blurry for you to read.");
 473         return;
 474     }
 475
 476     mpr("You find yourself reciting the magical words!");
 477     practise(EX_WILL_READ_TOME);
 478     count_action(CACT_EVOKE, EVOC_MISC);
 479
 480     if (x_chance_in_y(7, 50))
 481     {
 482         mpr("A cloud of weird smoke pours from the book's pages!");
 483         big_cloud(random_smoke_type(), &you, you.pos(), 20, 10 + random2(8));
 484         xom_is_stimulated(12);
 485     }
 486     else if (x_chance_in_y(2, 43))
 487     {
 488         mpr("A cloud of choking fumes pours from the book's pages!");
 489         big_cloud(CLOUD_POISON, &you, you.pos(), 20, 7 + random2(5));
 490         xom_is_stimulated(50);
 491     }
 492     else if (x_chance_in_y(2, 41))
 493     {
 494         mpr("A cloud of freezing gas pours from the book's pages!");
 495         big_cloud(CLOUD_COLD, &you, you.pos(), 20, 8 + random2(5));
 496         xom_is_stimulated(50);
 497     }
 498     else if (x_chance_in_y(3, 39))
 499     {
 500         if (one_chance_in(5))
 501         {
 502             mpr("The book disappears in a mighty explosion!");
 503             dec_inv_item_quantity(slot, 1);
 504         }
 505
 506         immolation(15, IMMOLATION_TOME, you.pos(), false, &you);
 507
 508         xom_is_stimulated(200);
 509     }
 510     else if (one_chance_in(36))
 511     {
 512         if (create_monster(
 513                 mgen_data::hostile_at(MONS_ABOMINATION_SMALL,
 514                     "a tome of Destruction",
 515                     true, 6, 0, you.pos())))
 516         {
 517             mpr("A horrible Thing appears!");
 518             mpr("It doesn't look too friendly.");
 519         }
 520         xom_is_stimulated(200);
 521     }
 522     else
 523     {
 524         viewwindow();
 525
 526         const int temp_rand =
 527             min(25, random2(23)
 528                     + random2(you.skill_rdiv(SK_EVOCATIONS, 1, 3)));
 529
 530         const spell_type spell_casted =
 531             ((temp_rand > 24) ? SPELL_LEHUDIBS_CRYSTAL_SPEAR :
 532              (temp_rand > 21) ? SPELL_BOLT_OF_FIRE :
 533              (temp_rand > 18) ? SPELL_BOLT_OF_COLD :
 534              (temp_rand > 16) ? SPELL_LIGHTNING_BOLT :
 535              (temp_rand > 10) ? SPELL_FIREBALL :
 536              (temp_rand >  9) ? SPELL_VENOM_BOLT :
 537              (temp_rand >  8) ? SPELL_BOLT_OF_DRAINING :
 538              (temp_rand >  7) ? SPELL_BOLT_OF_INACCURACY :
 539              (temp_rand >  6) ? SPELL_STICKY_FLAME_RANGE :
 540              (temp_rand >  5) ? SPELL_TELEPORT_SELF :
 541              (temp_rand >  4) ? SPELL_DAZZLING_SPRAY :
 542              (temp_rand >  3) ? SPELL_POLYMORPH :
 543              (temp_rand >  2) ? SPELL_MEPHITIC_CLOUD :
 544              (temp_rand >  1) ? SPELL_THROW_FLAME :
 545              (temp_rand >  0) ? SPELL_THROW_FROST
 546                               : SPELL_MAGIC_DART);
 547
 548         your_spells(spell_casted, powc, false);
 549     }
 550 }
On the bright side, nothing about felids being unable to evoke it.
On IRC my nick is reaverb. I play online under the name reaver, though.

Tomb Titivator

Posts: 799

Joined: Saturday, 23rd February 2013, 22:25

Post Sunday, 9th June 2013, 22:40

Re: Tome of Destruction

I think I figured out what happened. If you read it from the inventory instead of from the read menu, after the spell is cast you are immediately returned to the inventory, and no time has passed. If you use the read menu it functions properly.
User avatar

Dungeon Master

Posts: 762

Joined: Thursday, 25th April 2013, 02:43

Post Monday, 10th June 2013, 00:10

Re: Tome of Destruction

I just confirmed that khail-if you use the Tome from the menu, it can take no time. It behaved a bit inconsistently for me-I think it would take time if I go a cloud effect, or if I left the inventory screen before evoking it again. I'll file a mantis bug report.
On IRC my nick is reaverb. I play online under the name reaver, though.

Return to Crazy Yiuf's Corner

Who is online

Users browsing this forum: No registered users and 179 guests

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.