summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/beam.cc12
-rw-r--r--crawl-ref/source/effects.cc6
-rw-r--r--crawl-ref/source/fight.cc3
-rw-r--r--crawl-ref/source/food.cc1
-rw-r--r--crawl-ref/source/invent.cc2
-rw-r--r--crawl-ref/source/it_use2.cc1
-rw-r--r--crawl-ref/source/item_use.cc2
-rw-r--r--crawl-ref/source/itemname.cc62
-rw-r--r--crawl-ref/source/makeitem.cc43
-rw-r--r--crawl-ref/source/player.cc4
-rw-r--r--crawl-ref/source/randart.cc373
-rw-r--r--crawl-ref/source/randart.h4
12 files changed, 278 insertions, 235 deletions
diff --git a/crawl-ref/source/beam.cc b/crawl-ref/source/beam.cc
index d288ca768d..9ef30e22da 100644
--- a/crawl-ref/source/beam.cc
+++ b/crawl-ref/source/beam.cc
@@ -1331,13 +1331,13 @@ static void _zappy( zap_type z_type, int power, bolt &pbolt )
}
// Fill
- pbolt.name = zinfo->name;
- pbolt.flavour = zinfo->flavour;
- pbolt.colour = zinfo->colour;
- pbolt.type = dchar_glyph(zinfo->glyph);
+ pbolt.name = zinfo->name;
+ pbolt.flavour = zinfo->flavour;
+ pbolt.colour = zinfo->colour;
+ pbolt.type = dchar_glyph(zinfo->glyph);
pbolt.obvious_effect = zinfo->always_obvious;
- pbolt.is_beam = zinfo->can_beam;
- pbolt.is_explosion = zinfo->is_explosion;
+ pbolt.is_beam = zinfo->can_beam;
+ pbolt.is_explosion = zinfo->is_explosion;
if (zinfo->power_cap > 0)
power = std::min(zinfo->power_cap, power);
diff --git a/crawl-ref/source/effects.cc b/crawl-ref/source/effects.cc
index 10087e2ddb..2d6da14541 100644
--- a/crawl-ref/source/effects.cc
+++ b/crawl-ref/source/effects.cc
@@ -1694,11 +1694,11 @@ bool acquirement(object_class_type class_wanted, int agent,
if (is_random_artefact(thing))
{
origin_acquired(thing, agent);
- if ( !is_unrandom_artefact(thing) )
+ if (!is_unrandom_artefact(thing))
{
- // give another name that takes god gift into account
+ // Give another name that takes god gift into account.
thing.props["randart_name"].get_string() =
- randart_name(thing, false);
+ artefact_name(thing, false);
}
}
}
diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc
index 40ac2c348d..465afc5ed3 100644
--- a/crawl-ref/source/fight.cc
+++ b/crawl-ref/source/fight.cc
@@ -4064,7 +4064,8 @@ static bool wielded_weapon_check(const item_def *weapon)
if (!you.received_weapon_warning && !you.confused()
&& (weapon && weapon->base_type != OBJ_STAVES
&& (weapon->base_type != OBJ_WEAPONS || is_range_weapon(*weapon))
- || you.attribute[ATTR_WEAPON_SWAP_INTERRUPTED]))
+ || you.attribute[ATTR_WEAPON_SWAP_INTERRUPTED]
+ && you_tran_can_wear(EQ_WEAPON)))
{
std::string prompt = "Really attack while ";
if (!weapon)
diff --git a/crawl-ref/source/food.cc b/crawl-ref/source/food.cc
index 69a1cb036f..a3cf2ee638 100644
--- a/crawl-ref/source/food.cc
+++ b/crawl-ref/source/food.cc
@@ -179,6 +179,7 @@ void weapon_switch(int targ)
you.time_taken /= 10;
}
+ you.wield_change = true;
you.turn_is_over = true;
}
diff --git a/crawl-ref/source/invent.cc b/crawl-ref/source/invent.cc
index b396e80fd3..b972967274 100644
--- a/crawl-ref/source/invent.cc
+++ b/crawl-ref/source/invent.cc
@@ -806,7 +806,7 @@ static bool _item_class_selected(const item_def &i, int selector)
switch (selector)
{
case OBJ_ARMOUR:
- return (you_tran_can_wear(i));
+ return (itype == OBJ_ARMOUR && you_tran_can_wear(i));
case OSEL_UNIDENT:
return !fully_identified(i);
diff --git a/crawl-ref/source/it_use2.cc b/crawl-ref/source/it_use2.cc
index f6f323e511..16ba9dfdd4 100644
--- a/crawl-ref/source/it_use2.cc
+++ b/crawl-ref/source/it_use2.cc
@@ -425,7 +425,6 @@ bool unwield_item(bool showMsgs)
if (showMsgs)
mpr("You feel less violent.");
break;
- case SPWPN_SCYTHE_OF_CURSES:
case SPWPN_STAFF_OF_OLGREB:
item.plus = 0;
item.plus2 = 0;
diff --git a/crawl-ref/source/item_use.cc b/crawl-ref/source/item_use.cc
index b566cbcac0..d28de4113f 100644
--- a/crawl-ref/source/item_use.cc
+++ b/crawl-ref/source/item_use.cc
@@ -718,7 +718,7 @@ void wield_effects(int item_wield_2, bool showMsgs)
case SPWPN_SCYTHE_OF_CURSES:
you.special_wield = SPWLD_CURSE;
- if (!item_cursed(item) && one_chance_in(5))
+ if (!item_cursed(item) && one_chance_in(3))
do_curse_item(item, false);
break;
diff --git a/crawl-ref/source/itemname.cc b/crawl-ref/source/itemname.cc
index 83f4b58792..b13d633ed0 100644
--- a/crawl-ref/source/itemname.cc
+++ b/crawl-ref/source/itemname.cc
@@ -261,54 +261,6 @@ std::string item_def::name(description_level_type descrip,
}
-static const char* fixed_artefact_name( const item_def& item, bool ident )
-{
- if (ident)
- {
- switch (item.special)
- {
- case SPWPN_SINGING_SWORD: return "Singing Sword";
- case SPWPN_WRATH_OF_TROG: return "Wrath of Trog";
- case SPWPN_SCYTHE_OF_CURSES: return "Scythe of Curses";
- case SPWPN_MACE_OF_VARIABILITY: return "Mace of Variability";
- case SPWPN_GLAIVE_OF_PRUNE: return "Glaive of Prune";
- case SPWPN_SCEPTRE_OF_TORMENT: return "Sceptre of Torment";
- case SPWPN_SWORD_OF_ZONGULDROK: return "Sword of Zonguldrok";
- case SPWPN_SWORD_OF_CEREBOV: return "Sword of Cerebov";
- case SPWPN_STAFF_OF_DISPATER: return "Staff of Dispater";
- case SPWPN_SCEPTRE_OF_ASMODEUS: return "Sceptre of Asmodeus";
- case SPWPN_SWORD_OF_POWER: return "Sword of Power";
- case SPWPN_KNIFE_OF_ACCURACY: return "Knife of Accuracy";
- case SPWPN_STAFF_OF_OLGREB: return "Staff of Olgreb";
- case SPWPN_VAMPIRES_TOOTH: return "Vampire's Tooth";
- case SPWPN_STAFF_OF_WUCAD_MU: return "Staff of Wucad Mu";
- default: return "Brodale's Buggy Bola";
- }
- }
- else
- {
- switch (item.special)
- {
- case SPWPN_SINGING_SWORD: return "golden long sword";
- case SPWPN_WRATH_OF_TROG: return "bloodstained battleaxe";
- case SPWPN_SCYTHE_OF_CURSES: return "warped scythe";
- case SPWPN_MACE_OF_VARIABILITY: return "shimmering mace";
- case SPWPN_GLAIVE_OF_PRUNE: return "purple glaive";
- case SPWPN_SCEPTRE_OF_TORMENT: return "jewelled golden mace";
- case SPWPN_SWORD_OF_ZONGULDROK: return "bone long sword";
- case SPWPN_SWORD_OF_CEREBOV: return "great serpentine sword";
- case SPWPN_STAFF_OF_DISPATER: return "golden staff";
- case SPWPN_SCEPTRE_OF_ASMODEUS: return "ruby sceptre";
- case SPWPN_SWORD_OF_POWER: return "chunky great sword";
- case SPWPN_KNIFE_OF_ACCURACY: return "thin dagger";
- case SPWPN_STAFF_OF_OLGREB: return "green glowing staff";
- case SPWPN_VAMPIRES_TOOTH: return "ivory dagger";
- case SPWPN_STAFF_OF_WUCAD_MU: return "ephemeral quarterstaff";
- default: return "buggy bola";
- }
- }
-}
-
const char* weapon_brand_name(const item_def& item, bool terse)
{
switch (get_weapon_brand(item))
@@ -1053,15 +1005,9 @@ std::string item_def::name_aux( description_level_type desc,
buff << " ";
}
- if (is_random_artefact( *this ) && !dbname)
- {
- buff << get_randart_name(*this);
- break;
- }
-
- if (is_fixed_artefact( *this ) && !dbname)
+ if (is_artefact( *this ) && !dbname)
{
- buff << fixed_artefact_name( *this, know_type );
+ buff << get_artefact_name(*this);
break;
}
@@ -1168,7 +1114,7 @@ std::string item_def::name_aux( description_level_type desc,
// When asking for the base item name, randartism is ignored.
if (is_random_artefact( *this ) && !basename && !dbname)
{
- buff << get_randart_name(*this);
+ buff << get_artefact_name(*this);
break;
}
@@ -1419,7 +1365,7 @@ std::string item_def::name_aux( description_level_type desc,
if (is_randart && !dbname)
{
- buff << get_randart_name(*this);
+ buff << get_artefact_name(*this);
break;
}
diff --git a/crawl-ref/source/makeitem.cc b/crawl-ref/source/makeitem.cc
index d70d8e4955..bd7131e0bd 100644
--- a/crawl-ref/source/makeitem.cc
+++ b/crawl-ref/source/makeitem.cc
@@ -347,48 +347,9 @@ void item_colour( item_def &item )
switch (item.base_type)
{
case OBJ_WEAPONS:
- if (is_unrandom_artefact( item ))
- break; // unrandarts already coloured
+ if (is_unrandom_artefact( item ) || is_fixed_artefact( item ))
+ break; // unrandarts and fixed arts already coloured
- if (is_fixed_artefact( item ))
- {
- switch (item.special)
- {
- case SPWPN_SINGING_SWORD:
- case SPWPN_SCEPTRE_OF_TORMENT:
- item.colour = YELLOW;
- break;
- case SPWPN_WRATH_OF_TROG:
- case SPWPN_SWORD_OF_POWER:
- item.colour = RED;
- break;
- case SPWPN_SCYTHE_OF_CURSES:
- item.colour = DARKGREY;
- break;
- case SPWPN_MACE_OF_VARIABILITY:
- item.colour = random_colour();
- break;
- case SPWPN_GLAIVE_OF_PRUNE:
- item.colour = MAGENTA;
- break;
- case SPWPN_SWORD_OF_ZONGULDROK:
- item.colour = LIGHTGREY;
- break;
- case SPWPN_KNIFE_OF_ACCURACY:
- item.colour = LIGHTCYAN;
- break;
- case SPWPN_STAFF_OF_OLGREB:
- item.colour = GREEN;
- break;
- case SPWPN_VAMPIRES_TOOTH:
- item.colour = WHITE;
- break;
- case SPWPN_STAFF_OF_WUCAD_MU:
- item.colour = BROWN;
- break;
- }
- break;
- }
if (is_demonic( item ))
item.colour = random_uncommon_colour();
diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc
index b386f0f4cb..3e1d8450fa 100644
--- a/crawl-ref/source/player.cc
+++ b/crawl-ref/source/player.cc
@@ -571,8 +571,8 @@ bool you_can_wear(int eq, bool special_armour)
if (you.species == SP_GHOUL && eq == EQ_GLOVES)
return (false);
- if (eq == EQ_HELMET
- && (player_mutation_level(MUT_HORNS) || player_mutation_level(MUT_BEAK)))
+ if (eq == EQ_HELMET && (player_mutation_level(MUT_HORNS)
+ || player_mutation_level(MUT_BEAK)))
{
return (special_armour);
}
diff --git a/crawl-ref/source/randart.cc b/crawl-ref/source/randart.cc
index 0d885378b1..ffaec3a50d 100644
--- a/crawl-ref/source/randart.cc
+++ b/crawl-ref/source/randart.cc
@@ -31,6 +31,8 @@
#define RANDART_NAME_KEY "randart_name"
#define RANDART_APPEAR_KEY "randart_appearance"
+static const char* _get_fixedart_name(const item_def &item);
+
// The initial generation of a randart is very simple - it occurs in
// dungeon.cc and consists of giving it a few random things - plus &
// plus2 mainly.
@@ -1290,7 +1292,7 @@ static bool _pick_db_name( const item_def &item )
}
}
-std::string randart_name(const item_def &item, bool appearance)
+std::string artefact_name(const item_def &item, bool appearance)
{
ASSERT(is_artefact(item));
@@ -1298,6 +1300,9 @@ std::string randart_name(const item_def &item, bool appearance)
|| item.base_type == OBJ_ARMOUR
|| item.base_type == OBJ_JEWELLERY);
+ if (is_fixed_artefact( item ))
+ return _get_fixedart_name( item );
+
if (is_unrandom_artefact( item ))
{
const unrandart_entry *unrand = _seekunrandart( item );
@@ -1411,7 +1416,7 @@ std::string randart_name(const item_def &item, bool appearance)
return result;
}
-std::string get_randart_name( const item_def &item )
+std::string get_artefact_name( const item_def &item )
{
ASSERT( is_artefact( item ) );
@@ -1420,12 +1425,12 @@ std::string get_randart_name( const item_def &item )
// print artefact's real name
if (item.props.exists(RANDART_NAME_KEY))
return item.props[RANDART_NAME_KEY].get_string();
- return randart_name(item, false);
+ return artefact_name(item, false);
}
// print artefact appearance
if (item.props.exists(RANDART_APPEAR_KEY))
return item.props[RANDART_APPEAR_KEY].get_string();
- return randart_name(item, false);
+ return artefact_name(item, false);
}
int find_unrandart_index(const item_def& artefact)
@@ -1482,11 +1487,222 @@ int find_okay_unrandart(unsigned char aclass, unsigned char atype)
return (ret);
}
+struct fixedart_setting
+{
+ int which;
+ const char* name;
+ const char* appearance;
+ object_class_type base;
+ int subtype;
+ int acc;
+ int dam;
+ int colour;
+ bool curse;
+};
+
+const fixedart_setting fixedarts[] = {
+
+ {
+ SPWPN_SINGING_SWORD,
+ "Singing Sword",
+ "golden long sword",
+ OBJ_WEAPONS,
+ WPN_LONG_SWORD,
+ 7,
+ 7,
+ YELLOW,
+ false
+ },
+
+ {
+ SPWPN_WRATH_OF_TROG,
+ "Wrath of Trog",
+ "bloodstained battleaxe",
+ OBJ_WEAPONS,
+ WPN_BATTLEAXE,
+ 3,
+ 11,
+ RED,
+ false
+ },
+
+ {
+ SPWPN_SCYTHE_OF_CURSES,
+ "Scythe of Curses",
+ "warped scythe",
+ OBJ_WEAPONS,
+ WPN_SCYTHE,
+ 13,
+ 13,
+ DARKGREY,
+ true
+ },
+
+ {
+ SPWPN_MACE_OF_VARIABILITY,
+ "Mace of Variability",
+ "shimmering mace",
+ OBJ_WEAPONS,
+ WPN_MACE,
+ random2(16) - 4,
+ random2(16) - 4,
+ random_colour(),
+ false
+ },
+
+ {
+ SPWPN_GLAIVE_OF_PRUNE,
+ "Glaive of Prune",
+ "purple glaive",
+ OBJ_WEAPONS,
+ WPN_GLAIVE,
+ 0,
+ 12,
+ MAGENTA,
+ false
+ },
+
+ {
+ SPWPN_SCEPTRE_OF_TORMENT,
+ "Sceptre of Torment",
+ "jewelled golden mace",
+ OBJ_WEAPONS,
+ WPN_MACE,
+ 7,
+ 6,
+ YELLOW,
+ false
+ },
+
+ {
+ SPWPN_SWORD_OF_ZONGULDROK,
+ "Sword of Zonguldrok",
+ "bone long sword",
+ OBJ_WEAPONS,
+ WPN_LONG_SWORD,
+ 9,
+ 9,
+ LIGHTGREY,
+ false
+ },
+
+ {
+ SPWPN_SWORD_OF_POWER,
+ "Sword of Power",
+ "chunky great sword",
+ OBJ_WEAPONS,
+ WPN_GREAT_SWORD,
+ 0, // set on wield
+ 0, // set on wield
+ RED,
+ false
+ },
+
+ {
+ SPWPN_KNIFE_OF_ACCURACY,
+ "Knife of Accuracy",
+ "thin dagger",
+ OBJ_WEAPONS,
+ WPN_DAGGER,
+ 27,
+ -1,
+ LIGHTCYAN,
+ false
+ },
+
+ {
+ SPWPN_STAFF_OF_OLGREB,
+ "Staff of Olgreb",
+ "green glowing staff",
+ OBJ_WEAPONS,
+ WPN_QUARTERSTAFF,
+ 0, // set on wield
+ 0, // set on wield
+ GREEN,
+ false
+ },
+
+ {
+ SPWPN_VAMPIRES_TOOTH,
+ "Vampire's Tooth",
+ "ivory dagger",
+ OBJ_WEAPONS,
+ WPN_DAGGER,
+ 3,
+ 4,
+ WHITE,
+ false
+ },
+
+ {
+ SPWPN_STAFF_OF_WUCAD_MU,
+ "Staff of Wucad Mu",
+ "ephemeral quarterstaff",
+ OBJ_WEAPONS,
+ WPN_QUARTERSTAFF,
+ 0, // set on wield
+ 0, // set on wield
+ BROWN,
+ false
+ },
+
+ {
+ SPWPN_SWORD_OF_CEREBOV,
+ "Sword of Cerebov",
+ "great serpentine sword",
+ OBJ_WEAPONS,
+ WPN_GREAT_SWORD,
+ 6,
+ 6,
+ YELLOW,
+ true
+ },
+
+ {
+ SPWPN_STAFF_OF_DISPATER,
+ "Staff of Dispater",
+ "golden staff",
+ OBJ_WEAPONS,
+ WPN_QUARTERSTAFF,
+ 4,
+ 4,
+ YELLOW,
+ false
+ },
+
+ {
+ SPWPN_SCEPTRE_OF_ASMODEUS,
+ "Sceptre of Asmodeus",
+ "ruby sceptre",
+ OBJ_WEAPONS,
+ WPN_QUARTERSTAFF,
+ 7,
+ 7,
+ RED,
+ false
+ }
+};
+
+static const char* _get_fixedart_name(const item_def &item)
+{
+ // Find the appropriate fixed artefact.
+ for (unsigned int i = 0; i < ARRAYSZ(fixedarts); ++i)
+ {
+ if (fixedarts[i].which == item.special)
+ {
+ const fixedart_setting *fixed = &fixedarts[i];
+ return (item_type_known(item) ? fixed->name : fixed->appearance);
+ }
+ }
+ return (item_type_known(item) ? "Unnamed Artefact" : "buggy fixedart");
+}
+
// which == 0 (default) gives random fixed artefact.
// Returns true if successful.
bool make_item_fixed_artefact( item_def &item, bool in_abyss, int which )
{
const bool force = (which != 0);
+ const fixedart_setting *fixedart = NULL;
if (!force)
{
@@ -1505,125 +1721,44 @@ bool make_item_fixed_artefact( item_def &item, bool in_abyss, int which )
return (false);
}
- switch (which)
+ // Find the appropriate fixed artefact.
+ for (unsigned int i = 0; i < ARRAYSZ(fixedarts); ++i)
{
- case SPWPN_SINGING_SWORD:
- item.base_type = OBJ_WEAPONS;
- item.sub_type = WPN_LONG_SWORD;
- item.plus = 7;
- item.plus2 = 7;
- break;
-
- case SPWPN_WRATH_OF_TROG:
- item.base_type = OBJ_WEAPONS;
- item.sub_type = WPN_BATTLEAXE;
- item.plus = 3;
- item.plus2 = 11;
- break;
-
- case SPWPN_SCYTHE_OF_CURSES:
- item.base_type = OBJ_WEAPONS;
- item.sub_type = WPN_SCYTHE;
- item.plus = 13;
- item.plus2 = 13;
- break;
-
- case SPWPN_MACE_OF_VARIABILITY:
- item.base_type = OBJ_WEAPONS;
- item.sub_type = WPN_MACE;
- item.plus = random2(16) - 4;
- item.plus2 = random2(16) - 4;
- break;
-
- case SPWPN_GLAIVE_OF_PRUNE:
- item.base_type = OBJ_WEAPONS;
- item.sub_type = WPN_GLAIVE;
- item.plus = 0;
- item.plus2 = 12;
- break;
-
- case SPWPN_SCEPTRE_OF_TORMENT:
- item.base_type = OBJ_WEAPONS;
- item.sub_type = WPN_MACE;
- item.plus = 7;
- item.plus2 = 6;
- break;
-
- case SPWPN_SWORD_OF_ZONGULDROK:
- item.base_type = OBJ_WEAPONS;
- item.sub_type = WPN_LONG_SWORD;
- item.plus = 9;
- item.plus2 = 9;
- break;
-
- case SPWPN_SWORD_OF_POWER:
- item.base_type = OBJ_WEAPONS;
- item.sub_type = WPN_GREAT_SWORD;
- item.plus = 0; // set on wield
- item.plus2 = 0; // set on wield
- break;
-
- case SPWPN_KNIFE_OF_ACCURACY:
- item.base_type = OBJ_WEAPONS;
- item.sub_type = WPN_DAGGER;
- item.plus = 27;
- item.plus2 = -1;
- break;
-
- case SPWPN_STAFF_OF_OLGREB:
- item.base_type = OBJ_WEAPONS;
- item.sub_type = WPN_QUARTERSTAFF;
- item.plus = 0; // set on wield
- item.plus2 = 0; // set on wield
- break;
-
- case SPWPN_VAMPIRES_TOOTH:
- item.base_type = OBJ_WEAPONS;
- item.sub_type = WPN_DAGGER;
- item.plus = 3;
- item.plus2 = 4;
- break;
-
- case SPWPN_STAFF_OF_WUCAD_MU:
- item.base_type = OBJ_WEAPONS;
- item.sub_type = WPN_QUARTERSTAFF;
- item.plus = 0; // set on wield
- item.plus2 = 0; // set on wield
- break;
-
- case SPWPN_SWORD_OF_CEREBOV:
- item.base_type = OBJ_WEAPONS;
- item.sub_type = WPN_GREAT_SWORD;
- item.plus = 6;
- item.plus2 = 6;
- item.colour = YELLOW;
- do_curse_item( item );
- break;
-
- case SPWPN_STAFF_OF_DISPATER:
- item.base_type = OBJ_WEAPONS;
- item.sub_type = WPN_QUARTERSTAFF;
- item.plus = 4;
- item.plus2 = 4;
- item.colour = YELLOW;
- break;
-
- case SPWPN_SCEPTRE_OF_ASMODEUS:
- item.base_type = OBJ_WEAPONS;
- item.sub_type = WPN_QUARTERSTAFF;
- item.plus = 7;
- item.plus2 = 7;
- item.colour = RED;
- break;
+ if (fixedarts[i].which == which)
+ {
+ fixedart = &fixedarts[i];
+ break;
+ }
+ }
- default:
- DEBUGSTR( "Trying to create illegal fixed artefact!" );
+ // None found?
+ if (fixedart == NULL)
+ {
+#ifdef DEBUG_DIAGNOSTICS
+ mprf(MSGCH_ERROR, "Couldn't find fixed artefact %d", which);
+#endif
return (false);
}
// If we get here, we've made the artefact
- item.special = which;
- item.quantity = 1;
+ item.base_type = fixedart->base;
+ item.sub_type = fixedart->subtype;
+ item.plus = fixedart->acc;
+ item.plus2 = fixedart->dam;
+ item.colour = fixedart->colour;
+ item.special = which;
+ item.quantity = 1;
+
+ // get true artefact name
+ ASSERT(!item.props.exists( RANDART_NAME_KEY ));
+ item.props[RANDART_NAME_KEY].get_string() = fixedart->name;
+
+ // get artefact appearance
+ ASSERT(!item.props.exists( RANDART_APPEAR_KEY ));
+ item.props[RANDART_APPEAR_KEY].get_string() = fixedart->appearance;
+
+ if (fixedart->curse)
+ do_curse_item(item);
// Items originally generated in the abyss and not found will be
// shifted to "lost in abyss", and will only be found there. -- bwr
@@ -1882,11 +2017,11 @@ bool make_item_randart( item_def &item )
// get true artefact name
ASSERT(!item.props.exists( RANDART_NAME_KEY ));
- item.props[RANDART_NAME_KEY].get_string() = randart_name(item, false);
+ item.props[RANDART_NAME_KEY].get_string() = artefact_name(item, false);
// get artefact appearance
ASSERT(!item.props.exists( RANDART_APPEAR_KEY ));
- item.props[RANDART_APPEAR_KEY].get_string() = randart_name(item, true);
+ item.props[RANDART_APPEAR_KEY].get_string() = artefact_name(item, true);
return (true);
}
diff --git a/crawl-ref/source/randart.h b/crawl-ref/source/randart.h
index 19b44981a3..e33d81e765 100644
--- a/crawl-ref/source/randart.h
+++ b/crawl-ref/source/randart.h
@@ -33,12 +33,12 @@ void set_unique_item_status( object_class_type base_type, int type,
/* ***********************************************************************
* called from: itemname
* *********************************************************************** */
-std::string get_randart_name( const item_def &item );
+std::string get_artefact_name( const item_def &item );
/* ***********************************************************************
* called from: effects
* *********************************************************************** */
-std::string randart_name( const item_def &item, bool appearance = false );
+std::string artefact_name( const item_def &item, bool appearance = false );
/* ***********************************************************************
* called from: describe