I updated the tags, so it should be save compatible but I'm not making any promises.
Also fix the Wild magic card not being documented correctly.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10679 c06c8d41-db1a-0410-9941-cceddc491573
XDACRDVLDEUFUBN4L7ES5WBD3YSLBHMRZ4Q5PXIUMOK44D3TLWSAC BSIG3VLGTR2XVKBNM3QGJA4WNRXCCAR5MJ7XB47SDHQCCVIAAVJAC P3BJTL5YIPHLV3IZBMYM7FBS7QKTUPZVAS2353LCNUEGGSCR42RAC GQQ6ASWTYODIHG7X32JNUUHP5NMOVZJIHWGS3F3MKRYZGAHP6NVQC L4JPYWN3JUHIH2TCJUSVQOEWOMKGIO6I5C5QEIAMRBCXQ26V6HYAC 77H4BWWPPGLM3PLZH4QTAJRXIZTSDVNCOKZE223I437FN2UJ34RQC PDOFPXD2X6VI23AHKCGQ5RVDBG74CNP2E3YOHKXLOARHHBXEK3HQC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC TAHSTXR7ROOMDFUSBUU4ZAIEWQLAS5CIRCTARLD4Q2BGNLSL7E5QC SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC WEZLXS4OSKPX6ZFFZZKKEO4NKG2QC4AFANVC34IYNDAEDGWJJHLQC ZNMT5CZHP2FC4HTLNA7KYEDGFBXSCUE5QHJOALVPE6RDPHSEDXRQC 45OFFQNRRS46LXSPQ3SPNP2OXMBECE22A6NWQPITDEOXLRKYSQKAC WF2DSJGR6PKLGQSXEFF4ZW4EZZFGMHXPXWUYAKYBPFJH6KJKAANQC RS2Q66UPKG2NLNBE6UMX273UEVNGTNLVEITB2PCRVHZWTS2WXTAQC GWGKGHFGBLVPDSSDWYFORHZHMWOR3SFC5PJNF732V7FEKWWJKPOAC LLKV4OYGEDB4GVJS5JVBZP5JQFW7VMPZ2CBRSITJ5XCFS3QNWIBQC AM7QPHDAWNXHLUEVUHVRHG2RO2DOIEFFU4GV3DCIROW6O5HW7H4AC AVCMVFA3MKCXHO6H44UK5KJNIHTGQV7UA7GYXM26VI6TXXU5ZN6QC 52J7CYVAW3QCUEWA5OKWPDGOP6JZR5NJSE3JDLZFBCR7B6LH5ASAC 6PDCEA2CDME5PVGWTDVXI62APFIWKRDPZIBGO4DBYATYDZPPFU5QC DOZORMA366M4HB5JKSS27BMCR6ET7QNZNND2B7KV3NVEEPR5H7EAC HBPUTW5HDHUEPB62DMJ6GGP2D2GLZB53O5VRTWDLQ4Z53NWB3MKQC PSCYVKJ7DGXAL3V5U4O6AJTRV6Q3N3SHQWAZ73VIPRTE4W64F2XAC XYBPIU6AQ77EID4VNOMI7KQZULZI4VBZHHIGBRYO7QRJVCODEKYAC 5BJPWUPLJFS34FUTFJVKA4A52YMIGV6EWDXLNSDCWBJWBGVSQFGQC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC I2WJK6VZZCWKSJ2XQH7W4HXRNZZ2MSCKO65IIRFBGGMWMUZ2VZ6QC I7QLYOTE6DLQZM7YWUWYLKHRJRB2A3STQ42ALSRGQICEWKD2QTEQC VCG3BRIYRTNNWYC3LOXD6KFGXOX37HAFW2HNV7WXVG2V7EUHLDZQC LSFNAB57FI3ERTIMXZI6MRIN6Z6AUZSVX4RKIOEKQWREDP36IYDQC HVEU33HIUHCYFINJMVSSOIRUPZGGVC7NMWUN2EADG2W373JP3WOAC X26ED6BN3FPOBSGWRMLPUSKZTZTVUOWMWVWIBKFIPTBC526644FQC 7TYQGU6OE2XHYIHGHZZN22ER52TD5THR5ZHE2F76F7LE4HFKOSBAC void toggle_exclude(const coord_def &p);void set_exclude(const coord_def &p, int radius2);
void toggle_exclude(const coord_def &p, bool autoexcl = false);void set_exclude(const coord_def &p, int radius2, bool autoexcl = false);void maybe_remove_autoexclusion(const coord_def &p);std::string get_exclusion_desc();
coord_def pos; // exclusion centreint radius; // exclusion radisuenv_show_grid show; // los from exclusion centrebool uptodate; // Is show up to date?
coord_def pos; // exclusion centreint radius; // exclusion radiusbool autoexclude; // Was set automatically.int mon; // Monster around which exclusion is centered.env_show_grid show; // los from exclusion centrebool uptodate; // Is show up to date?
travel_exclude(const coord_def &p, int r = LOS_RADIUS): pos(p), radius(r)
travel_exclude(const coord_def &p, int r = LOS_RADIUS,bool autoexcl = false, int mons = NON_MONSTER): pos(p), radius(r), autoexclude(autoexcl), mon(mons)
}}// If a grid that was placed automatically no longer contains the original// monster (or it is invisible), remove the exclusion.void maybe_remove_autoexclusion(const coord_def &p){ASSERT(in_bounds(p) && see_grid(p) && is_exclude_root(p));for (int i = 0, count = curr_excludes.size(); i < count; ++i){if (curr_excludes[i].pos == p){if (curr_excludes[i].autoexclude){const monsters *m = monster_at(p);if (!m || !you.can_see(m) || m->type != curr_excludes[i].mon){set_exclude(p, 0);set_level_exclusion_annotation(get_exclusion_desc());}}break;}}}// Lists alls exclusions on the current level.std::string get_exclusion_desc(){std::vector<std::string> monsters;int count_other = 0;for (int i = 0, count = curr_excludes.size(); i < count; ++i){if (curr_excludes[i].mon != NON_MONSTER)monsters.push_back(get_monster_data(curr_excludes[i].mon)->name);elsecount_other++;
if (count_other > 0){snprintf(info, INFO_SIZE, "%d %sexclusion%s",count_other, monsters.empty() ? "" : "more ",count_other > 1 ? "s" : "");monsters.push_back(info);}else if (monsters.empty())return "";std::string desc = "";if (monsters.size() > 1 || count_other == 0){snprintf(info, INFO_SIZE, "exclusion%s: ",monsters.size() > 1 ? "s" : "");desc += info;}return (desc + comma_separated_line(monsters.begin(), monsters.end(),", and ", ", "));
excludes.push_back(travel_exclude(c, radius));
bool autoexcl = false;int mon = NON_MONSTER;if (minorVersion >= TAG_ANNOTATE_EXCL){autoexcl = unmarshallBoolean(inf);mon = unmarshallShort(inf);}excludes.push_back(travel_exclude(c, radius, autoexcl, mon));
std::string get_level_annotation(level_id li)
void set_level_exclusion_annotation(std::string str, level_id li){if (str.empty()){clear_level_exclusion_annotation(li);return;}level_exclusions[li] = str;}void clear_level_exclusion_annotation(level_id li){level_exclusions.erase(li);}std::string get_level_annotation(level_id li, bool skip_excl)
scrolls, casting spells, praying or yelling in the reader's vicinityimpossible. (Applies to reader too, of course.) This silence will nothide your presence, since its oppressive, unnatural effect will almost
scrolls, casting spells, praying or yelling in the reader's vicinityimpossible. (Applies to reader too, of course.) This silence will nothide your presence, since its oppressive, unnatural effect will almost
Wild Magic cardThis card causes wild magic, as if from miscasting a spell, to act upon you.It is usually only found in Nemelex Xobeh's deck of punishment.%%%%