git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6907 c06c8d41-db1a-0410-9941-cceddc491573
IG3AVXDAP3IAVQEV34X7PWSM6TFNWPIMHD3KTZXKSUNVI4ZZAXEQC
SIDH2P7NBIG5KEOE27XHD3ZT2NQ2OJZFN6VZXWNWYFFY5YVXSSVQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
YCL3W2PFE6ILTGBFODCSXNPDIA46KVSZP2TI7HDMYAOEJT65RIEAC
XRZPPYWPWUOM4SFNI6BHKH2UKJQNLKOV6Y7XIEPEZXE5QYRT26PAC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
S34LKQDIQJLIWVIPASOJBBZ6ZCXDHP5KPS7TRBZJSCDRVNCLK6UAC
4HLF6Q3OBOOHCCJ76L2BXVIYI6EMJ2G7O4XXZPFTLFP6BQGSUZNAC
2H32CFFM2FNS63JJPNM2S6HMO543EX72GMPOU5GI6HTMQYPL6I3AC
7YUGK5Q64KG5O7GJGTUBRRLHAHBCJ5YOE23YUPT6UBKUSB67CYAQC
6GQU5BMORHTHJGGVYPGJZSEIHPOVXDAS23BE7OHU4X6WVDYRC2MAC
TPSWWHKYGM5IZZUBDWBH5RSD6W3F6H2F3Q4QDU2HSIXIRTDKX3QAC
CIPVRZGLOZHCERK6YPOBV3P2E4IAB4H6D5EHLRQE2O5E4P4VCBUAC
VEPHAIXR3GSPHBLOW5DWFFU4ULEMVWRQG4G5PKSKRA2I6RHYROUAC
KFWX5LI235XQYQOSUSSAKKQUNB2OCN3NOYP6E7D3HSM2UOSBGYHQC
std::string itname = you.inv[wpn].name(DESC_CAP_YOUR);
// If there's no brand, make it vorpal.
if (get_weapon_brand(wpn) == SPWPN_NORMAL)
{
alert_nearby_monsters();
mprf("%s emits a brilliant flash of light!",
wpn.name(DESC_CAP_YOUR).c_str());
set_item_ego_type(wpn, OBJ_WEAPONS, SPWPN_VORPAL);
return true;
}
switch (get_weapon_brand( you.inv[wpn] ))
// If there's a permanent brand, fail.
if (you.duration[DUR_WEAPON_BRAND] == 0)
return false;
// There's a temporary brand, attempt to make it permanent.
const std::string itname = wpn.name(DESC_CAP_YOUR);
bool success = true;
bool msg = true;
switch (get_weapon_brand(wpn))
beam.name = "fiery explosion";
beam.aux_source = "a fiery explosion";
beam.type = dchar_glyph(DCHAR_FIRED_BURST);
beam.damage = dice_def( 3, 10 );
beam.flavour = BEAM_FIRE;
beam.target = you.pos();
beam.colour = RED;
beam.thrower = KILL_YOU;
beam.ex_size = 2;
beam.is_tracer = false;
beam.is_explosion = true;
beam.name = "fiery explosion";
beam.aux_source = "a fiery explosion";
beam.type = dchar_glyph(DCHAR_FIRED_BURST);
beam.damage = dice_def( 3, 10 );
beam.flavour = BEAM_FIRE;
beam.target = you.pos();
beam.colour = RED;
beam.thrower = KILL_YOU;
beam.ex_size = 2;
beam.is_tracer = false;
beam.is_explosion = true;
// Successfully affixing the enchantment will print
// its own message.
if (!affix_weapon_enchantment())
{
const std::string iname =
you.inv[you.equip[EQ_WEAPON]].name(DESC_CAP_YOUR);
item_def& wpn = *you.weapon();
mprf("%s glows bright yellow for a while.",
wpn.name(DESC_CAP_YOUR).c_str() );
if (coinflip())
_handle_enchant_weapon( ENCHANT_TO_DAM, true );
}
nthing = you.equip[EQ_WEAPON];
if (nthing == -1
|| you.inv[ nthing ].base_type != OBJ_WEAPONS
|| (you.inv[ nthing ].base_type == OBJ_WEAPONS
&& (is_fixed_artefact( you.inv[ nthing ] )
|| is_random_artefact( you.inv[ nthing ] )
|| you.inv[nthing].sub_type == WPN_BLOWGUN)))
{
id_the_scroll = _vorpalise_weapon();
if ( !id_the_scroll )
break;
}
mprf("%s emits a brilliant flash of light!",
you.inv[nthing].name(DESC_CAP_YOUR).c_str());
alert_nearby_monsters();
if (get_weapon_brand( you.inv[nthing] ) != SPWPN_NORMAL)
{
mpr("You feel strangely frustrated.");
break;
}
you.wield_change = true;
set_item_ego_type( you.inv[nthing], OBJ_WEAPONS, SPWPN_VORPAL );