diff options
author | Luca Barbieri <luca@luca-barbieri.com> | 2010-05-25 01:29:27 +0200 |
---|---|---|
committer | Robert Vollmert <rvollmert@gmx.net> | 2010-07-28 19:21:46 +0200 |
commit | 0d0c82d5f7445506631bf78a800d22ea554c7fe7 (patch) | |
tree | a8048845a1b7af82ed219e8d1313987255fd1efe /crawl-ref/source/tags.h | |
parent | 8f49829c07527cc5d5b9eabbad7e6d6c71d46753 (diff) | |
download | crawl-ref-0d0c82d5f7445506631bf78a800d22ea554c7fe7.tar.gz crawl-ref-0d0c82d5f7445506631bf78a800d22ea554c7fe7.zip |
Make monster_info store all the player's knowledge on a monster (v3)
Changes in v3 (rob):
- update for master (bleeding, deflect missiles, ...)
- fix misled not ending
- fix all monsters getting extreme fire resistance
Changes in v2:
- add operator =
monster_info is changed from the monster list's structure to a general
purpose structure storing player-known information about a monster.
The plan is to make all the user interface code read data from
moster_info, so that:
1. There is no risk of accidental leaks, since all the sensitive code
is in one place
2. Complicated things like misled and fake monsters are correctly
handled, and the code exists once
3. The structure can be serialized for client/server play, and the
deserialized structure can be passed to the UI code (this is still
theoretical)
This will be done in a successive patch.
Signed-off-by: Robert Vollmert <rvollmert@gmx.net>
Diffstat (limited to 'crawl-ref/source/tags.h')
-rw-r--r-- | crawl-ref/source/tags.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/crawl-ref/source/tags.h b/crawl-ref/source/tags.h index acd36801da..4e6db8c300 100644 --- a/crawl-ref/source/tags.h +++ b/crawl-ref/source/tags.h @@ -13,6 +13,7 @@ #include "tag-version.h" struct show_type; +struct monster_info; enum tag_type // used during save/load process to identify data blocks { @@ -135,6 +136,7 @@ void marshallString4 (writer &, const std::string &); void marshallCoord (writer &, const coord_def &); void marshallItem (writer &, const item_def &); void marshallMonster (writer &, const monsters &); +void marshallMonsterInfo (writer &, const monster_info &); void marshallShowtype (writer &, const show_type &); void marshallEnumVal (writer &, const enum_info *, int); @@ -192,6 +194,7 @@ void unmarshallString4 (reader &, std::string&); coord_def unmarshallCoord (reader &); void unmarshallItem (reader &, item_def &item); void unmarshallMonster (reader &, monsters &item); +void unmarshallMonsterInfo (reader &, monster_info &mi); show_type unmarshallShowtype (reader &); int unmarshallEnumVal (reader &, const enum_info *); |