1/*
2 *
3 *  Copyright (C) 2006  The Exult Team
4 *
5 *  This program is free software; you can redistribute it and/or modify
6 *  it under the terms of the GNU General Public License as published by
7 *  the Free Software Foundation; either version 2 of the License, or
8 *  (at your option) any later version.
9 *
10 *  This program is distributed in the hope that it will be useful,
11 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 *  GNU General Public License for more details.
14 *
15 *  You should have received a copy of the GNU General Public License
16 *  along with this program; if not, write to the Free Software
17 *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 */
19
20/*  2016-07-07 List updated to display items in the order the party finds them,
21 *  instead of the original haphazard list. Order is Avatar, Shamino, Dupre, Iolo.
22 *  Also fixes the spacing so adding companion-authors does not push text down.
23 *
24 *  2016-07-15 Added Quality 122 section to allow accusing Marsten of betraying
25 *  his city, and if Pomdirgun is dead, sets the flag Monitor NPCs check.
26 */
27
28void Scroll shape#(0x31D) ()
29{
30	var quality = get_item_quality();
31	UI_play_sound_effect2(0x5E, item);
32	book_mode();
33	// Found in the Goblin King's treasure room, signed by Marsten, Lord of Monitor.
34	if (quality == 0x7A)
35	{	// Marsten can be accused.
36		gflags[CAN_ACCUSE_MARSTEN] = true;
37		// If the Goblin King is dead.
38		if (UI_get_item_flag(GOBLIN_KING, DEAD))
39		{	// Conversations in Monitor will reflect his death.
40			gflags[POMDIRGUN_IS_DEAD] = true;
41		}
42	}
43
44	if (quality == 0xBD) // Equipment Scroll
45	{
46
47		say("The list of items which we found ourselves with after the storm:~");
48		say("Prepared by Shamino.");
49		if (gflags[DUPRE_MADE_EQUIPMENT_LIST])
50			say("With additional notes by Dupre.");
51		else say (""); // added a blank line
52		if (gflags[IOLO_MADE_EQUIPMENT_LIST])
53			say("And further comments by Iolo, since being freed from that vile Monitorian prison cell!");
54		else say ("~~"); // Iolo's comment gets to three lines.
55		say("");
56
57		// Avatar's New Equipment
58		if (gflags[STORM_PINECONE])
59		{
60			if (gflags[KNOWS_PINECONE_OWNER])
61				say("A pinecone from the northern woods.");
62			else
63				say("A pinecone (or, at least, it appears to be one).");
64		}
65
66		if (gflags[STORM_STOCKINGS])
67		{
68			if (gflags[KNOWS_MOONSILK_OWNER])
69				say("A pair of moonsilk stockings, such as the enchantress Columna doth wear.");
70			else
71				say("A fine pair of sheer stockings, probably women's attire.");
72		}
73
74		if (gflags[STORM_LAB_APPARATUS])
75		{
76			if (gflags[KNOWS_LAB_APPARATUS_OWNER])
77				say("The missing apparatus from the laboratory of Erstam, the so-called Mad Mage.");
78			else if (gflags[HAS_CLUE_LAB_APPARATUS])
79				say("A specimen of laboratory apparatus from a mage's laboratory.");
80			else
81				say("A strange apparatus of glass and copper.");
82		}
83
84		if (gflags[STORM_PUMICE])
85		{
86			if (gflags[KNOWS_PUMICE_ORIGIN])
87				say("A pumice rock from the fiery depths of some dungeon.");
88			else
89				say("A rock.");
90		}
91
92		if (gflags[STORM_WEDDING_RING])
93		{
94			if (gflags[KNOWS_RING_OWNER])
95				say("The engagement ring belonging to Alyssand of Fawn.");
96			else if (gflags[HAS_CLUE_RING])
97				say("A finely crafted silver ring, probably the lost engagement ring of a lass named Alyssand.");
98			else
99				say("A finely crafted ring, of silver, of a size to fit a small woman or a child.");
100		}
101
102		if (gflags[STORM_FUR_CAP])
103		{
104			if (gflags[KNOWS_FURCAP_OWNER] || gflags[GAVE_FURCAP_BACK])
105				say("The elegant fur cap which Filbercio the MageLord purchased for his favorite, the sorceress Frigidazzi.");
106			else if (gflags[HAS_CLUE_FURCAP])
107				say("An expensive fur cap, which the MageLord of Moonshade obtained for one of his many lovers.");
108			else
109				say("A ridiculous fur cap.");
110		}
111
112		if (gflags[STORM_BREAST_PLATE])
113		{
114			if (gflags[KNOWS_BREAST_PLATE_OWNER])
115				say("The ceremonial breastplate of the Priestess of Beauty, who is Kylista of Fawn. A very attractive lady, I should add.");
116			else
117				say("An enameled breastplate, suitable for ceremonial occasions.");
118		}
119
120		if (gflags[STORM_ICEWINE])
121		{
122			if (gflags[KNOWS_ICEWINE_ORIGIN])
123				say("A bottle of that excellent vintage of wine sold by the Rangers of Moonshade. Why, I should sample some now...");
124			else
125				say("A bottle of ice wine -- whatever that is!");
126		}
127
128		if (gflags[STORM_FILARI])
129		{
130			if (gflags[KNOWS_FILARI_OWNER])
131				say("Jeweled coins from the City of Beauty, Fawn.");
132			else
133				say("Strange baubles -- silver disks with jewels in the center.");
134		}
135
136		if (gflags[STORM_RUDDY_ROCK])
137		{
138			if (gflags[KNOWS_STONEHEART_ORIGIN])
139				say("The dangerous mineral known as Stoneheart, which is used to produce the illegal reagent Bloodspawn.");
140			else
141				say("A red hunk of stone.");
142		}
143
144		// Shamino's New Equipment
145		if (gflags[STORM_SLIPPERS])
146		{
147			if (gflags[KNOWS_SLIPPERS_OWNER])
148				say("The well-worn slippers belonging to Devra, the mistress of the Inn of the Sleeping Bull.");
149			else
150				say("Some very old and worn slippers, such as might be worn in the privacy of one's home.");
151		}
152
153		if (gflags[STORM_GOBLIN_BRUSH])
154		{
155			if (gflags[KNOWS_GOBLIN_BRUSH_ORIGIN])
156				say("A grisly brush made from the bones of some poor victim of the Goblins. How foul!");
157			else
158				say("A crude brush.");
159		}
160
161		if (gflags[STORM_BEAR_SKULL])
162		{
163			if (gflags[KNOWS_BEAR_SKULL_ORIGIN])
164				say("The skull of a great mountain bear.");
165			else
166				say("A large skull, no doubt belonging to some large and dead animal.");
167		}
168
169		if (gflags[STORM_SEVERED_HAND])
170		{
171			if (gflags[KNOWS_SEVERED_HAND_OWNER])
172				say("The severed hand from one of the Mad Mage's experiments. It is not dead, yet not living -- it doth not decay.");
173			else
174				say("A bloody hand, severed from its corpse. It shows no sign of decay, yet...");
175		}
176
177		// Dupre's New Equipment
178		if (gflags[STORM_BLUE_EGG])
179		{
180			if (gflags[KNOWS_BLUE_EGG_OWNER])
181				say("A penguin egg, such as may be found in the ice fields of the distant north.");
182			else
183				say("A strange blue egg.");
184		}
185
186		if (gflags[STORM_MONITOR_SHIELD])
187		{
188			if (gflags[KNOWS_MONITOR_SHIELD_ORIGIN])
189				// I changed this one from the original:
190 				// say("One of the common shields used by the Pikemen of Monitor.");
191				say("A sturdy shield belonging to Luther of Monitor.");
192 				// Added a brand new one:
193			else if (gflags[HAS_CLUE_MONITOR_SHIELD])
194				say("A shield from Monitor which possibly belongs to Luther.");
195			else
196				say("An inexpensive shield, sturdy and suitable for battle.");
197		}
198
199		// Iolo's New Equipment
200		if (gflags[STORM_URN])
201		{
202			if (gflags[KNOWS_URN_ORIGIN])
203				say("A funerary urn containing the Ashes of the Dead, taken from the Caves of Monitor.");
204			else
205				say("Some sort of vase, with soot inside.");
206		}
207	}
208	else
209		Scroll.original();
210}
211