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