I didn't make them "new artifacts" either – they're enchantable now.
QB4KZOYREZ2ZF3M6KKN5PJIJOYUTDGSYLDSXE2C4WPMCXFSCYSKQC
FN7DJD6MTAC4RM4CPGE5ZNEEW2I2CS7ABVWBOHOOEKWQQJQ2HPFAC
YMATGAN7P3T5WYPA4AW6PJG42D64ZD7FHW7IMIZY4SHBQ5BPEBJQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
LY7DLLD7IKL6ZQPVROLDJ46XRM5CMAAEBRFDKJ4M53CPC5GFCGSQC
3BJ2OOF4F524G6UKVGOZVT6W3FSTSHHTKRJADUBZCHDXZWV3KANQC
BRGAZR5AXWC2IALBVXO5SB354IRQEIRHSK55RZPGFI4AGIOD4LUQC
DCZTGQOKB4UO7GTDDG55NYMJXJIZKPMC75IVEGPEDOLTQHXBNQJQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
DCZMEKDHQWSQCQYQD6ZXB3XOMWLVLPSPVSBVVMPXMSZF7GO3BVCAC
YBXZWBUWXXLLYKP5IHXU46AHJ4YO55NM5QE34I3DFB25NLPQXZPAC
KU5FY6KSLTGH44KEZT4SFANRKCTWCQC7VABCMNYJRZNJSYSOXAKQC
YMHW3J35NIGDPAVSUN723OCCXZB6NCKZSN4W3HTTA6HFCA36HDUQC
HQSI2RK5QGNSOR5Y67GZDK4ZWFZ5DSRPASXAV4VHYVB5TUXFZWJQC
NKFL4XC436F2KUPVAX6ZK3VDXTHRVLCTD533OP5NY2CE5HDU56JAC
FAVME2A2U4OUKN2BTISAG5PCI5Y4BN6YVFKCSQQHHZLEVVVF4LKAC
3P6R443Q7BHDL2CB34CW5XNWWJ5RXQZUAL7RKVZCNRZPZRLTJS6QC
XI7X6SNTHG67D4NQWM75HWB6TVRXVFDPGNSQLTXN6JAZBZIVZXIQC
MGJRFND6ON2UWFGG3P7PBHBTR6MEBXVELWY6BY4WYRT6IXRRCH7AC
bool make_item_blessed_blade( item_def &item )
{
if (item.base_type != OBJ_WEAPONS)
return (false);
// already is an artefact
if (is_artefact(item))
return (false);
// mark as a random artefact
item.flags |= ISFLAG_RANDART;
ASSERT(!item.props.exists( KNOWN_PROPS_KEY ));
item.props[KNOWN_PROPS_KEY].new_vector(SV_BOOL).resize(ART_PROPERTIES);
CrawlVector &known = item.props[KNOWN_PROPS_KEY].get_vector();
known.set_max_size(ART_PROPERTIES);
for (vec_size i = 0; i < ART_PROPERTIES; i++)
known[i] = (bool) false;
ASSERT(!item.props.exists( ARTEFACT_PROPS_KEY ));
item.props[ARTEFACT_PROPS_KEY].new_vector(SV_SHORT).resize(ART_PROPERTIES);
CrawlVector &rap = item.props[ARTEFACT_PROPS_KEY].get_vector();
rap.set_max_size(ART_PROPERTIES);
for (vec_size i = 0; i < ART_PROPERTIES; i++)
rap[i] = (short) 0;
// blessed blade of the Shining One
rap[ARTP_BRAND] = (short) SPWPN_HOLY_WRATH;
// set artefact name
ASSERT(!item.props.exists( ARTEFACT_NAME_KEY ));
item.props[ARTEFACT_NAME_KEY].get_string() = "Blessed Blade";
// set artefact appearance
ASSERT(!item.props.exists( ARTEFACT_APPEAR_KEY ));
item.props[ARTEFACT_APPEAR_KEY].get_string() = "brightly glowing blade";
// in case this is ever needed anywhere
item.special = (random_int() & RANDART_SEED_MASK);
return (true);
}