/* Require boosted dice */
if ((o_ptr->dd == k_ptr->dd) && (o_ptr->ds == k_ptr->ds))
return FALSE;
+
+ /* In Vault Quest, Dice must be hide.*/
+ if(!object_is_known(o_ptr) && object_is_quest_target(o_ptr))
+ {
+ return FALSE;
+ }
}
/*** Weapons which dd*ds is more than nn ***/
extern u32b counts_read(int where);
/* flavor.c */
+extern bool object_is_quest_target(object_type *o_ptr);
extern void get_table_name_aux(char *out_string);
extern void get_table_name(char *out_string);
extern void get_table_sindarin_aux(char *out_string);
*ptr = '\0';
}
+bool object_is_quest_target(object_type *o_ptr)
+{
+ if (p_ptr->inside_quest)
+ {
+ int a_idx = quest[p_ptr->inside_quest].k_idx;
+ if (a_idx)
+ {
+ artifact_type *a_ptr = &a_info[a_idx];
+ if (!(a_ptr->gen_flags & TRG_INSTA_ART))
+ {
+ if((o_ptr->tval == a_ptr->tval) && (o_ptr->sval == a_ptr->sval))
+ {
+ return TRUE;
+ }
+ }
+ }
+ }
+ return FALSE;
+}
+
/*
* Creates a description of the item "o_ptr", and stores it in "out_val".
case TV_DIGGING:
/* In Vault Quest, hide the dice of target weapon. */
- if (!known && p_ptr->inside_quest)
+ if(object_is_quest_target(o_ptr) && !known)
{
- int a_idx = quest[p_ptr->inside_quest].k_idx;
- if (a_idx)
- {
- artifact_type *a_ptr = &a_info[a_idx];
- if (!(a_ptr->gen_flags & TRG_INSTA_ART))
- {
- if((o_ptr->tval == a_ptr->tval) && (o_ptr->sval == a_ptr->sval))
- {
- break;
- }
- }
- }
+ break;
}
/* Append a "damage" string */