2 ITEM(scrollofenchantweapon
, scroll
)
5 virtual void FinishReading(character
*);
13 void scrollofenchantweapon::FinishReading(character
* Reader
)
19 if(!Reader
->SelectFromPossessions(Item
, CONST_S("Choose a weapon to enchant:"), NO_MULTI_SELECT
|SELECT_PAIR
, &item::IsWeapon
))
21 ADD_MESSAGE("You notice you haven't got anything to enchant.");
27 if(!Item
[0]->CanBeEnchanted())
29 ADD_MESSAGE("You cast the spell, but the magic is not powerful enough to affect %s!", Item
[0]->CHAR_NAME(DEFINITE
|(Item
.size() == 1 ? 0 : PLURAL
)));
33 if(Item
[0]->HandleInPairs() && Item
.size() == 1)
35 ADD_MESSAGE("Only one %s will be enchanted.", Item
[0]->CHAR_NAME(UNARTICLED
));
37 if(!game::TruthQuestion(CONST_S("Still continue? [y/N]")))
41 if(Item
[0]->GetEnchantment() >= 5 && RAND_GOOD(Item
[0]->GetEnchantment() - 3))
44 ADD_MESSAGE("Magic energies swirl around %s, but they fail to enchant it further!", Item
[0]->CHAR_NAME(DEFINITE
));
46 ADD_MESSAGE("Magic energies swirl around %s, but they fail to enchant them further!", Item
[0]->CHAR_NAME(DEFINITE
|PLURAL
));
52 ADD_MESSAGE("Your %s glows briefly red. It feels very warm now.", Item
[0]->CHAR_NAME(UNARTICLED
));
54 ADD_MESSAGE("Your %s glow briefly red. They feel very warm now.", Item
[0]->CHAR_NAME(PLURAL
));
56 for(uInt c
= 0; c
< Item
.size(); ++c
)
57 Item
[c
]->EditEnchantment(1);
61 else if(game::TruthQuestion(CONST_S("Really cancel read? [y/N]")))
67 Reader
->EditExperience(INTELLIGENCE
, 300, 1 << 12);