with (hopefully) more useful variants. We tried to achieve a balance between shortness and and being easy to understand. I also moved around the order, so that the most important properties, esp. negative ones, come first, and added the terse ego descriptor for randarts weapons.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3409 c06c8d41-db1a-0410-9941-cceddc491573
5YYQEHOEBH6H4FXW3H6RAQ7U6VZ33BVP3S3I3BE3GM5IUL5DAKYQC IXLNOTBJGHKESBCTME6QAR6XVWFNCHYGMS62V62ZJEA7VLQHXO2QC 6UPCB64Z2W243QR3JQD7WPQMPVNVBPYRG7GTGZK6LTKKBBSKBHZQC TXVVUZNKI2O5YJXC2N4GPG3RJFNC6LSC5IJZKD5XLS4LGJHD2H7AC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC 6GDKXNFXPKQ6AVNOSMJECN7CLELM2KCMVRM2A7BARLK2NNILN6SAC 7K5P2GRF6QUXTMERG2R3BB6DZFQYJQ6V2KNPMBPFDLOP36NQILPAC KPU2SA6G7UECM5N6PNXOT5CCQAYFBN47K5JYBQMFBD25HL2A5GIAC // Positive, quantative attributes{ "AC", RAP_AC, 0 },{ "EV", RAP_EVASION, 0 },{ "Str", RAP_STRENGTH, 0 },{ "Dex", RAP_DEXTERITY, 0 },{ "Int", RAP_INTELLIGENCE, 0 },{ "Acc", RAP_ACCURACY, 0 },{ "Dam", RAP_DAMAGE, 0 },// Resists{ "RF", RAP_FIRE, 1 },{ "RC", RAP_COLD, 1 },{ "RE", RAP_ELECTRICITY, 1 },{ "RP", RAP_POISON, 1 },{ "RN", RAP_NEGATIVE_ENERGY, 1 },{ "MR", RAP_MAGIC, 2 },
// (Generally) negative attributes// These come first, so they don't get chopped off!{ "-CAST", RAP_PREVENT_SPELLCASTING, 2 },{ "-TELE", RAP_PREVENT_TELEPORTATION, 2 },{ "MUT", RAP_MUTAGENIC, 2 },{ "*Rage", RAP_ANGRY, 2 },{ "*TELE", RAP_CAUSE_TELEPORTATION, 2 },{ "Hunger", RAP_METABOLISM, 1 },{ "Noisy", RAP_NOISES, 2 },
// Positive, qualitative attributes{ "MP", RAP_MAGICAL_POWER, 0 },{ "SInv", RAP_EYESIGHT, 2 },{ "Stl", RAP_STEALTH, 2 },
// Evokable abilities come second{ "+Blink", RAP_BLINK, 2 },{ "+Tele", RAP_CAN_TELEPORT, 2 },{ "+Rage", RAP_BERSERK, 2 },{ "+Inv", RAP_INVISIBLE, 2 },{ "+Lev", RAP_LEVITATE, 2 },{ "+Map", RAP_MAPPING, 2 },
// (Generally) negative attributes{ "Ang", RAP_BERSERK, 2 },{ "Noi", RAP_NOISES, 2 },{ "-Spl", RAP_PREVENT_SPELLCASTING, 2 },{ "-Tp", RAP_PREVENT_TELEPORTATION, 2 },{ "+Tp", RAP_CAUSE_TELEPORTATION, 2 },{ "Hun", RAP_METABOLISM, 1 },{ "Mut", RAP_MUTAGENIC, 2 },
// Resists, also really important{ "rElec", RAP_ELECTRICITY, 1 },{ "rPois", RAP_POISON, 2 },{ "rF", RAP_FIRE, 1 },{ "rC", RAP_COLD, 1 },{ "rN", RAP_NEGATIVE_ENERGY, 1 },{ "MR", RAP_MAGIC, 2 },
// Evokable abilities{ "Inv", RAP_INVISIBLE, 2 },{ "Lev", RAP_LEVITATE, 2 },{ "Blk", RAP_BLINK, 2 },{ "?Tp", RAP_CAN_TELEPORT, 2 },{ "Map", RAP_MAPPING, 2 }
// Positive, quantative attributes{ "AC", RAP_AC, 0 },{ "EV", RAP_EVASION, 0 },{ "Str", RAP_STRENGTH, 0 },{ "Dex", RAP_DEXTERITY, 0 },{ "Int", RAP_INTELLIGENCE, 0 },{ "Acc", RAP_ACCURACY, 0 },{ "Dam", RAP_DAMAGE, 0 },
const int sval = std::min(std::abs(val), 3);work << std::string(sval, (val > 0 ? '+' : '-'))<< propanns[i].name;
int sval = std::min(std::abs(val), 3);// list one '+' less for hunger, stealth, and shock resistanceif ((propanns[i].prop == RAP_METABOLISM|| propanns[i].prop == RAP_STEALTH|| propanns[i].prop == RAP_ELECTRICITY) && sval > 0){sval--;}work << propanns[i].name<< std::string(sval, (val > 0 ? '+' : '-'));