/* for store / bank / inn ui screens */ T_void MessageSetAlternateOutputOn(T_void) { DebugRoutine ("MessageSetAlternateOutputOn"); if (G_alternateOutput==FALSE) { /* create alternate textbox */ G_altOutputBox = TxtboxCreate (OUTPUT_BOX_X1, OUTPUT_BOX_Y1, OUTPUT_BOX_X2, OUTPUT_BOX_Y2, "FontMedium", 0, 0, FALSE, Txtbox_JUSTIFY_CENTER, Txtbox_MODE_VIEW_NOSCROLL_FORM, NULL); TxtboxSetData(G_altOutputBox,""); G_alternateOutput=TRUE; } DebugEnd(); }
/* game, and either issuing a 'begin' or 'cancel' command for the created game */ T_void GuildUIConfirmCreateGame (T_void) { DebugRoutine ("GuildUIConfirmCreateGame"); /* switch control buttons to 'begin game' and 'cancel game' */ ButtonDelete (G_joinButton); ButtonDelete (G_createButton); G_joinButton=ButtonCreate (6, 127, "UI/GUILD/BEGIN", FALSE, KeyDual(KEY_SCAN_CODE_B,KEY_SCAN_CODE_ALT), NULL, GuildUIBeginGame); G_createButton=ButtonCreate (109, 127, "UI/GUILD/CANCEL", FALSE, KeyDual(KEY_SCAN_CODE_C,KEY_SCAN_CODE_ALT), NULL, GuildUICancelCreateGame); /* delete adventure list box and replace with information */ /* concerning status */ TxtboxDelete (G_displayBoxes[GUILD_GAME_LIST]); TxtboxDelete (G_displayBoxes[GUILD_MAPS_LIST]); ButtonSetCallbacks (G_upButtons[GUILD_GAME_LIST],NULL,NULL); ButtonSetCallbacks (G_dnButtons[GUILD_GAME_LIST],NULL,NULL); ButtonSetCallbacks (G_upButtons[GUILD_MAPS_LIST],NULL,NULL); ButtonSetCallbacks (G_dnButtons[GUILD_MAPS_LIST],NULL,NULL); G_displayBoxes[GUILD_GAME_LIST]=TxtboxCreate (6, 28, 95, 75, "FontTiny", 0, 0, FALSE, Txtbox_JUSTIFY_CENTER, Txtbox_MODE_VIEW_NOSCROLL_FORM, NULL); TxtboxSetData (G_displayBoxes[GUILD_GAME_LIST], "^003Creating game:^007\r\rplease wait for\rother players\r\r^005Select begin button\rTo start game."); DebugEnd(); }
T_formObjectID FormAddTextBox( T_word16 x1, T_word16 y1, T_word16 x2, T_word16 y2, T_byte8 *fontname, T_word32 maxlength, T_byte8 hotkey, E_Boolean numericonly, E_TxtboxJustify justify, E_TxtboxMode boxmode, T_word32 idnum) { T_word16 i; T_TxtboxID TxtboxID; DebugRoutine("FormAddTextBox"); DebugCheck(fontname != NULL); DebugCheck(maxlength > 0); DebugCheck(justify < Txtbox_JUSTIFY_UNKNOWN); DebugCheck(boxmode < Txtbox_MODE_UNKNOWN); G_formHasTextBoxes = TRUE; for (i = 0; i < MAX_FORM_OBJECTS; i++) { /* find an empty slot */ if (G_formObjectArray[i] == NULL ) { /* found one, create a new textform */ TxtboxID = TxtboxCreate(x1, y1, x2, y2, fontname, maxlength, hotkey, numericonly, justify, boxmode, FormReportTextBox); TxtboxSetCallback(TxtboxID, FormReportTextBox); /* now that a textform has been created, make an objstruct for it */ G_formObjectArray[i] = FormCreateObject(FORM_OBJECT_TEXTBOX, (T_formObjectID)TxtboxID, idnum); /* we made a new object struct, break from the loop */ break; } } /* make sure we haven't exceeded any limits */ DebugCheck(i!=MAX_FORM_OBJECTS); DebugEnd(); /* return the ID for the object created */ return (G_formObjectArray[i]); }
T_void GuildUIStart (T_word32 formNum) { T_word16 i; const T_word16 arrowCoordX[4]= { 97, 97, 200, 200}; const T_word16 upArrowCoordY[4]= { 28, 77, 28, 77 }; const T_word16 dnArrowCoordY[4]= { 67, 117, 67, 117}; const T_word16 scrollBarY[4]= { 38, 87, 38, 87 }; const T_word16 dispWindowX1[4]= { 6, 6, 109, 109}; const T_word16 dispWindowY1[4]= { 28, 77, 28, 77 }; const T_word16 dispWindowX2[4]= { 95, 95, 198, 198}; const T_word16 dispWindowY2[4]= { 75, 125, 75, 125}; const E_TxtboxMode dispWindowMode[4]={Txtbox_MODE_SELECTION_BOX, Txtbox_MODE_VIEW_SCROLL_FORM, Txtbox_MODE_SELECTION_BOX, Txtbox_MODE_VIEW_SCROLL_FORM}; const E_TxtboxJustify dispWindowJustify[4]={Txtbox_JUSTIFY_LEFT, Txtbox_JUSTIFY_LEFT, Txtbox_JUSTIFY_CENTER, Txtbox_JUSTIFY_CENTER}; DebugRoutine ("GuildUIStart"); /* load backdrop */ G_backgroundPic=GraphicCreate (4,3,"UI/GUILD/GLDBACK"); for (i=GUILD_GAME_LIST;i<=GUILD_MAPS_DESC;i++) { /* set up display textboxes */ /* scroll bars and control arrows */ G_displayBoxes[i]=TxtboxCreate (dispWindowX1[i], dispWindowY1[i], dispWindowX2[i], dispWindowY2[i], "FontTiny", 0, 0, FALSE, dispWindowJustify[i], dispWindowMode[i], NULL); TxtboxSetData (G_displayBoxes[i]," "); G_upButtons[i]=ButtonCreate (arrowCoordX[i], upArrowCoordY[i], "UI/COMMON/UPARROW", FALSE, 0, NULL, GuildUIUpDisplay); ButtonSetData (G_upButtons[i],i); G_dnButtons[i]=ButtonCreate (arrowCoordX[i], dnArrowCoordY[i], "UI/COMMON/DNARROW", FALSE, 0, NULL, GuildUIDnDisplay); ButtonSetData (G_dnButtons[i],i); if (i%2==0) { G_scrollBars[i]=GraphicCreate (arrowCoordX[i], scrollBarY[i], "UI/GUILD/SB1"); } else { G_scrollBars[i]=GraphicCreate (arrowCoordX[i], scrollBarY[i], "UI/GUILD/SB1"); } TxtboxSetScrollBarObjIDs(G_displayBoxes[i],G_upButtons[i],G_dnButtons[i],G_scrollBars[i]); } /* set up control buttons */ G_joinButton=ButtonCreate (6, 127, "UI/GUILD/JOIN", FALSE, KeyDual(KEY_SCAN_CODE_J,KEY_SCAN_CODE_ALT), NULL, GuildUIJoinGame); G_createButton=ButtonCreate (109, 127, "UI/GUILD/CREATE", FALSE, KeyDual(KEY_SCAN_CODE_C,KEY_SCAN_CODE_ALT), NULL, GuildUICreateGame); /* build map list */ GuildUIBuildMapList(); /* initialize game/player listings */ G_gameList=DoubleLinkListCreate(); G_playerList=DoubleLinkListCreate(); /* set up control callbacks */ TxtboxSetCallback (G_displayBoxes[GUILD_MAPS_LIST],GuildDisplayMapInfo); TxtboxSetCallback (G_displayBoxes[GUILD_GAME_LIST],GuildDisplayGameInfo); /* notify server to send a list of active games */ GuildUIRequestGameList(); /* update graphics */ GraphicUpdateAllGraphics(); /* Set up what we are out. */ ClientSyncSetGameGroupID(*DirectTalkGetNullBlankUniqueAddress()) ; PeopleHereSetOurAdventure(0) ; PeopleHereSetOurState(PLAYER_ID_STATE_NONE) ; /* Ask for people to show themselves. */ PeopleHereReset() ; /* add journal help page if necessary */ if (StatsPlayerHasNotePage(30)==FALSE && StatsPlayerHasNotePage(0)==TRUE) { StatsAddPlayerNotePage(30); } DebugEnd(); }
T_void InnUIStart(T_word32 formNum) { T_word16 i; T_byte8 stmp[32]; T_word16 hotkey[4]; DebugRoutine("InnUIStart"); /* load backdrop */ G_backgroundPic = GraphicCreate(4, 3, "UI/INN/INNBACK"); hotkey[0] = KeyDual(KEY_SCAN_CODE_C,KEY_SCAN_CODE_ALT); hotkey[1] = KeyDual(KEY_SCAN_CODE_S,KEY_SCAN_CODE_ALT); hotkey[2] = KeyDual(KEY_SCAN_CODE_L,KEY_SCAN_CODE_ALT); hotkey[3] = KeyDual(KEY_SCAN_CODE_U,KEY_SCAN_CODE_ALT); for (i = 0; i < 4; i++) { /* place rent buttons */ sprintf(stmp, "UI/INN/ROOMBTN%d", i + 1); G_rentButtons[i] = ButtonCreate(45, 24 + (i * 28), stmp, FALSE, hotkey[i], NULL, InnUIRent); ButtonSetData(G_rentButtons[i], i); /* set up rent cost displays */ G_rentCostDisplays[i] = TxtboxCreate(45, 37 + (i * 28), 110, 46 + (i * 28), "FontMedium", 0, 0, TRUE, Txtbox_JUSTIFY_CENTER, Txtbox_MODE_VIEW_NOSCROLL_FORM, NULL); /* set up current funds display */ G_financeDisplays[i] = TxtboxCreate(164, 32 + (i * 11), 204, 41 + (i * 11), "FontMedium", 0, 0, TRUE, Txtbox_JUSTIFY_CENTER, Txtbox_MODE_VIEW_NOSCROLL_FORM, NULL); sprintf(stmp, "%d", StatsGetPlayerCoins(3-i)); TxtboxSetData(G_financeDisplays[i], stmp); } /* set rent prices */ TxtboxSetData(G_rentCostDisplays[0], "free!"); TxtboxSetData(G_rentCostDisplays[1], "2 gold"); TxtboxSetData(G_rentCostDisplays[2], "1 platinum"); TxtboxSetData(G_rentCostDisplays[3], "2 platinum"); GraphicUpdateAllGraphics(); /* welcome user */ MessageAdd("^007Welcome to the inn!"); /* add journal help page if necessary */ if (StatsPlayerHasNotePage(31) == FALSE && StatsPlayerHasNotePage(0) == TRUE) { StatsAddPlayerNotePage(31); } DebugEnd(); }
T_void BankUIStart (T_word32 formNum) { T_word16 i; T_byte8 stmp[64]; E_statsAdventureNumber adv=ADVENTURE_NONE; DebugRoutine ("BankUIStart"); /* load backdrop */ G_backgroundPic=GraphicCreate (4,3,"UI/BANK/BANKBACK"); for (i=0;i<4;i++) { /* load deposit/withdraw buttons */ G_depositButtons[i]=ButtonCreate(119, 32+(i*11), "UI/COMMON/LTARROW", FALSE, 0, NULL, BankUIDeposit); ButtonSetData(G_depositButtons[i],3-i); G_withdrawButtons[i]=ButtonCreate(131, 32+(i*11), "UI/COMMON/RTARROW", FALSE, 0, NULL, BankUIWithdraw); ButtonSetData(G_withdrawButtons[i],3-i); /* create financial display fields */ G_financeDisplays[i]=TxtboxCreate(57, 31+(i*11), 109, 40+(i*11), "FontMedium", 0, 0, TRUE, Txtbox_JUSTIFY_CENTER, Txtbox_MODE_VIEW_NOSCROLL_FORM, NULL); sprintf (stmp,"%d",StatsGetPlayerSavedCoins(3-i)); TxtboxSetData(G_financeDisplays[i],stmp); G_financeDisplays[i+4]=TxtboxCreate(148, 31+(i*11), 200, 40+(i*11), "FontMedium", 0, 0, TRUE, Txtbox_JUSTIFY_CENTER, Txtbox_MODE_VIEW_NOSCROLL_FORM, NULL); sprintf (stmp,"%d",StatsGetPlayerCoins(3-i)); TxtboxSetData(G_financeDisplays[i+4],stmp); } GraphicUpdateAllGraphics(); /* set up bank inventory */ StoreSetUpInventory(10,82,112,124,6,3); /* tell store what items we will buy */ StoreAddBuyType(EQUIP_OBJECT_TYPE_RING); StoreAddBuyType(EQUIP_OBJECT_TYPE_AMULET); adv=StatsGetCompletedAdventure(); switch (adv) { case ADVENTURE_7: /* Ring of Strength 2 */ StoreAddItem (408,1); /* Ring of Speed 2 */ StoreAddItem (430,1); /* Amulet of Quickness */ StoreAddItem (611,1); /* Amulet of Hiding */ StoreAddItem(609, 1); case ADVENTURE_6: /* Amulet of Speed */ StoreAddItem (602,1); /* Amulet of Mana Regeneration */ StoreAddItem (619,1); case ADVENTURE_5: /* Amulet of Accuracy */ StoreAddItem (605,1); /* Ring of Stealth */ StoreAddItem(438, 1); /* Ring of Armor 1 */ StoreAddItem (415,1); /* Amulet of Spell Focus */ StoreAddItem (600,1); case ADVENTURE_4: /* Ring of Regen 2 */ StoreAddItem(406, 1); /* Ring of Speed 1 */ StoreAddItem (429,1); /* Ring of Accuracy 2 */ StoreAddItem (421,1); case ADVENTURE_3: /* Ring of Strength 1 */ StoreAddItem (407,1); /* Ring of Map */ StoreAddItem (435,1); case ADVENTURE_2: /* Ring of Accuracy 1 */ StoreAddItem (420,1); case ADVENTURE_1: /* Amulet of Stealth */ StoreAddItem(603, 1); /* Ring of Regen 1 */ StoreAddItem(405, 1); case ADVENTURE_NONE: default: /* Ring of Food Conservation */ StoreAddItem (426,1); /* Ring of Water Conservation */ StoreAddItem (427,1); /* Ring of Water Walk */ StoreAddItem (400,1); /* Ring of Traction */ StoreAddItem (432,1); break; case ADVENTURE_UNKNOWN: DebugCheck(0); break; } /* Amulet of Falling */ /// StoreAddItem (614,1); /* Ring of Regen 2 */ // StoreAddItem (406,1); /* Ring of Strength 3 */ // StoreAddItem (409,1); /* Ring of Strength 4 */ // StoreAddItem (410,1); /* Ring of Strength 5 */ // StoreAddItem (411,1); /* Ring of Armor 2 */ // StoreAddItem (416,1); /* Ring of Armor 3 */ // StoreAddItem (417,1); /* Ring of Armor 4 */ // StoreAddItem (418,1); /* Ring of Armor 5 */ // StoreAddItem (419,1); /* Ring of Accuracy 3 */ // StoreAddItem (422,1); /* Ring of Accuracy 4 */ // StoreAddItem (423,1); /* Ring of Accuracy 5 */ // StoreAddItem (424,1); /* Ring of Speed 4 */ // StoreAddItem (428,1); /* Ring of Speed 3 */ // StoreAddItem (431,1); /* Ring of Jumping */ // StoreAddItem (434,1); /* Amulet of Regeneration */ // StoreAddItem (601,1); /* Amulet of Strength */ // StoreAddItem (604,1); /* Amulet of Poison Protection */ // StoreAddItem (606,1); /* Amulet of Fire Protection */ // StoreAddItem (607,1); /* Amulet of Lava Walk */ // StoreAddItem (608,1); /* Amulet of Eternal Nourishment */ // StoreAddItem (610,1); /* Amulet of Jumping */ // StoreAddItem (612,1); /* Amulet of Flying */ // StoreAddItem (613,1); /* Amulet of Super Armor */ // StoreAddItem (615,1); /* Amulet of Acid Protection */ // StoreAddItem (616,1); /* Amulet of Electricity Protection */ // StoreAddItem (617,1); /* Amulet of Mana Drain Protection */ // StoreAddItem (618,1); InventoryReorder(INVENTORY_STORE,TRUE); InventoryDrawInventoryWindow (INVENTORY_STORE); /* set up store control callback */ StoreSetControlCallback (BankUIUpdateGraphics); /* welcome user */ MessageAdd ("^007Welcome to the bank!"); /* add journal help page if necessary */ if (StatsPlayerHasNotePage(33)==FALSE && StatsPlayerHasNotePage(0)==TRUE) { StatsAddPlayerNotePage(33); } else { /* force loading of inventory banner display */ BannerOpenForm(BANNER_FORM_INVENTORY); } DebugEnd(); }
/* loads 'store ui' */ T_void StoreUIStart (T_word32 formNum) { T_word16 i; E_statsAdventureNumber adv=ADVENTURE_NONE; const T_word16 firstArmor=12988; const T_word16 firstWeapon=12488; /* bronze, silver, steel, hsteel */ const T_word16 materialOffsets[4]={0,8192,12288,16384}; DebugRoutine ("StoreUIStart"); /* load backdrop */ G_backgroundPic=GraphicCreate (4,3,"UI/STORE/STORBACK"); for (i=0;i<4;i++) { /* create financial display fields */ G_financeDisplays[i]=TxtboxCreate(164, 32+(i*11), 204, 41+(i*11), "FontMedium", 0, 0, TRUE, Txtbox_JUSTIFY_CENTER, Txtbox_MODE_VIEW_NOSCROLL_FORM, NULL); } StoreUIUpdateGraphics(); GraphicUpdateAllGraphics(); /* set up store inventory */ StoreSetUpInventory(10,26,112,124,6,7); /* set up what items the store will buy */ StoreAddBuyType (EQUIP_OBJECT_TYPE_WEAPON); StoreAddBuyType (EQUIP_OBJECT_TYPE_ARMOR); StoreAddBuyType (EQUIP_OBJECT_TYPE_POTION); StoreAddBuyType (EQUIP_OBJECT_TYPE_WAND); StoreAddBuyType (EQUIP_OBJECT_TYPE_SCROLL); StoreAddBuyType (EQUIP_OBJECT_TYPE_THING); StoreAddBuyType (EQUIP_OBJECT_TYPE_BOLT); StoreAddBuyType (EQUIP_OBJECT_TYPE_QUIVER); adv=StatsGetCompletedAdventure(); switch (adv) { case ADVENTURE_7: /* Potion of Invisibility */ StoreAddItem (815,1); /* Wand of Disintegrate */ StoreAddItem (918,1); /* Mage rune 9 */ StoreAddItem (308,1); /* Adiminium long sword */ StoreAddItem (45260, 1); /* Adaminium dagger */ StoreAddItem (45256, 1); /* Adaminium mace */ StoreAddItem (45257, 1); case ADVENTURE_6: /* Axe of Power */ StoreAddItem (232,1); /* Dagger of Piercing */ StoreAddItem (215,1); /* Scroll of Health 3 */ StoreAddItem (356,1); /* Scroll of Flying */ StoreAddItem (360,1); /* Scroll of Invisibility */ StoreAddItem (361,1); /* Potion of Healing 3 */ StoreAddItem (802,1); /* Potion of Armor 5 */ StoreAddItem (811,1); /* Wand of Homing Deathballs */ StoreAddItem (905,1); /* Wand of Lightning Bolts */ StoreAddItem (907,1); /* Mage rune 6, 8 */ StoreAddItem (305, 1); StoreAddItem (307, 1); /* Obsidian dagger */ StoreAddItem(37064, 1); /* Obsidian short sword */ StoreAddItem(37067,1); case ADVENTURE_5: /* Long Sword of Striking */ StoreAddItem (212,1); /* Potion of Flying */ StoreAddItem (805,1); /* Potion of Armor 4 */ StoreAddItem (810,1); /* Potion of Lava Walking */ StoreAddItem (813,1); /* Potion of Translucency */ StoreAddItem (816,1); /* Potion of Demon Strength */ StoreAddItem (820,1); /* Wand of Homing Fireballs */ StoreAddItem (904,1); /* Wand of Berserk */ StoreAddItem (914,1); /* Quiver of piercing bolts */ StoreAddItem (147,1); /* Mage rune 7 */ StoreAddItem (306,1); /* Cleric rune 9 */ StoreAddItem (317,1); /* Dagger of fire */ StoreAddItem (214,1); /* Mithril staff */ StoreAddItem(32970,1); /* Mithril short sword */ StoreAddItem(32971,1); /* Mithril long sword */ StoreAddItem(32972,1); /* Mithril heavy armor */ StoreAddItem (33476,1); StoreAddItem (33477,1); StoreAddItem (33478,1); StoreAddItem (33479,1); case ADVENTURE_4: /* Dagger of Acid */ StoreAddItem (230,1); /* Staff of Poison */ StoreAddItem (219,1); /* Mace of Speed */ StoreAddItem (224,1); /* Short Sword of Striking */ StoreAddItem (211,1); /* Scroll of Health 2 */ StoreAddItem (355,1); /* Potion of Regen 2 */ StoreAddItem (804,1); /* Potion of Cure Poison 2 */ StoreAddItem (807,1); /* Wand of Acid */ StoreAddItem (902,1); /* Wand of Fireballs */ StoreAddItem (903,1); /* Wand of Earthsmite */ StoreAddItem (906,1); /* Wand of Slow */ StoreAddItem (917,1); /* Quiver of electricity bolts */ StoreAddItem (149,1); /* Hsteel long sword */ StoreAddItem (28876, 1); /* Hsteel axe */ StoreAddItem (28877, 1); /* Hsteel mace */ StoreAddItem (28873, 1); /* Hsteel staff */ StoreAddItem (28874, 1); /* Mithril light armor, hsteel heavy armor */ StoreAddItem (33472, 1); StoreAddItem (33473, 1); StoreAddItem (33474, 1); StoreAddItem (33475, 1); StoreAddItem (29380, 1); StoreAddItem (29381, 1); StoreAddItem (29382, 1); StoreAddItem (29383, 1); case ADVENTURE_3: /* Axe of Accuracy */ StoreAddItem (228,1); /* Staff of Speed */ StoreAddItem (225,1); /* Scroll of identify all */ StoreAddItem (351,1); /* Gain Strength Scroll */ StoreAddItem (364,1); /* Gain Magic Scroll */ StoreAddItem (367,1); /* Gain Speed Scroll */ StoreAddItem (368,1); /* Potion of Holy Strength */ StoreAddItem (819,1); /* Wand of Poison Missile */ StoreAddItem (912,1); /* Quiver of poison bolts */ StoreAddItem (146,1); /* Cleric runes 7, 8 */ StoreAddItem (315, 1); StoreAddItem (316, 1); /* Steel mace */ StoreAddItem(24777,1); /* Steel short sword */ StoreAddItem(24779,1); /* Steel long sword */ StoreAddItem(24780,1); /* Steel Axe */ StoreAddItem(24781,1); /* Hsteel dagger */ StoreAddItem(28872,1); /* steel heavy armor */ StoreAddItem (25284, 1); StoreAddItem (25285, 1); StoreAddItem (25286, 1); StoreAddItem (25287, 1); /* Hsteel light armor */ StoreAddItem (29376, 1); StoreAddItem (29377, 1); StoreAddItem (29378, 1); StoreAddItem (29379, 1); case ADVENTURE_2: /* Dagger of Speed */ StoreAddItem (223,1); /* Scroll of Regeneration 1 */ StoreAddItem (357,1); /* Gain Mana Scroll #2 */ StoreAddItem (363,1); /* Gain Electric Attack Scroll */ StoreAddItem (370,1); /* Potion of Armor 3 */ StoreAddItem (809,1); /* Potion of Speed */ StoreAddItem (814,1); /* Wand of Homing Darts */ StoreAddItem (901,1); /* Quiver of acid bolts */ StoreAddItem (148,1); /* mage runes 4, 5 */ StoreAddItem (303,1); StoreAddItem (304,1); /* Cleric runes 4, 5, 6*/ StoreAddItem (312,1); StoreAddItem (313,1); StoreAddItem (314,1); /* Silver long sword */ StoreAddItem(20684, 1); /* Silver Axe */ StoreAddItem(20685, 1); /* Steel dagger */ StoreAddItem(24776, 1); /* Steel staff */ StoreAddItem(24778, 1); /* Steel armor */ StoreAddItem (25277, 1); StoreAddItem (25278, 1); StoreAddItem (25279, 1); StoreAddItem (25280, 1); StoreAddItem (25281, 1); StoreAddItem (25282, 1); StoreAddItem (25283, 1); case ADVENTURE_1: /* Dagger of Accuracy */ StoreAddItem (227,1); /* Gain Accuracy Scroll */ StoreAddItem (365,1); /* Gain Stealth Scroll */ StoreAddItem (366,1); /* Gain Fire Attack Scroll */ StoreAddItem (371,1); /* Potion of Healing 2 */ StoreAddItem (801,1); /* Potion of Regen 1 */ StoreAddItem (803,1); /* Potion of Cure Poison 1 */ StoreAddItem (806,1); /* Potion of Feather Falling */ StoreAddItem (817,1); /* Potion of Night Vision */ StoreAddItem (823,1); /* Potion of Traction */ StoreAddItem (824,1); /* Potion of Giant Strength */ StoreAddItem (818,1); /* Wand of Darts */ StoreAddItem (900,1); /* Wand of Confusion */ StoreAddItem (913,1); /* Wand of Unlock Door */ StoreAddItem (920,1); /* Quiver of fire bolts */ StoreAddItem (145,1); /* mage runes 2 and 3 */ StoreAddItem (301,1); StoreAddItem (302,1); /* Cleric rune 2 and 3 */ StoreAddItem (310,1); StoreAddItem (311,1); /* Silver dagger */ StoreAddItem(20680,1); /* Silver mace */ StoreAddItem(20681,1); /* Silver short sword */ StoreAddItem(20683,1); /* Silver studded leather */ StoreAddItem (21181, 1); StoreAddItem (21182, 1); StoreAddItem (21183, 1); StoreAddItem (21184, 1); StoreAddItem (21185, 1); StoreAddItem (21186, 1); StoreAddItem (21187, 1); StoreAddItem (21188, 1); StoreAddItem (21189, 1); StoreAddItem (21190, 1); StoreAddItem (21191, 1); case ADVENTURE_NONE: default: /* apple */ StoreAddItem (19,1); /* Berries */ StoreAddItem (243,1); /* Carrot */ StoreAddItem (244,1); /* Cherry */ StoreAddItem (245,1); /* Water gourd */ StoreAddItem (246,1); /* Chicken */ StoreAddItem (247,1); /* Grape */ StoreAddItem (248,1); /* Banana */ StoreAddItem (249,1); /* Pineapple */ StoreAddItem (251,1); /* crossbow */ StoreAddItem (28,1); /* Iron Dagger */ StoreAddItem (200,1); /* Iron Mace */ StoreAddItem (201,1); /* Iron Staff */ StoreAddItem (202,1); /* Iron Short Sword */ StoreAddItem (203,1); /* Iron Long Sword */ StoreAddItem (204,1); /* Iron Axe */ StoreAddItem (205,1); /* Dagger of Striking */ StoreAddItem (210,1); /* Scroll of identify readied */ StoreAddItem (350,1); /* Scroll of Health 1 */ StoreAddItem (354,1); /* Scroll of Armor */ StoreAddItem (358,1); /* Gain Mana Scroll #1 */ StoreAddItem (362,1); /* Potion of Healing 1 */ StoreAddItem (800,1); /* Potion of Armor 1 */ StoreAddItem (808,1); /* Potion of Water Walking */ StoreAddItem (812,1); /* Potion of Food */ StoreAddItem (821,1); /* Potion of Water */ StoreAddItem (822,1); /* Wand of Earthbind */ StoreAddItem (911,1); /* Wand of Pushing */ StoreAddItem (915,1); /* Wand of Pulling */ StoreAddItem (916,1); /* Leather Breast */ StoreAddItem (701,1); /* Leather Arm */ StoreAddItem (702,1); /* Leather Leg */ StoreAddItem (703,1); /* Mail Helm */ StoreAddItem (704,1); /* Mail Chest */ StoreAddItem (705,1); /* Mail Arm */ StoreAddItem (706,1); /* Mail Leg */ StoreAddItem (707,1); /* Plate Helm */ StoreAddItem (708,1); /* Plate Chest */ StoreAddItem (709,1); /* Plate Arm */ StoreAddItem (710,1); /* Plate Leg */ StoreAddItem (711,1); /* Quiver of normal bolts */ StoreAddItem (144,1); /* Thieving tools */ StoreAddItem (143,1); /* Mage rune 1 */ StoreAddItem (300,1); /* Cleric rune 1 */ StoreAddItem (309,1); break; case ADVENTURE_UNKNOWN: DebugCheck(0); break; } /* loop weapons */ /* for (i=1;i<(3>adv?adv:3);i++) { for (j=0;j<6;j++) { item=firstWeapon+materialOffsets[i]+j; StoreAddItem(item,1); } } */ // multiplayer?? */ /* Wand of Lock Door */ // StoreAddItem (919,1); /* Wand of Dispell Magic 2 */ // StoreAddItem (910,1); /* Quiver of mana drain bolts */ // StoreAddItem (150,1); /* Gain Mana Drain Attack Scroll */ // StoreAddItem (372,1); /* Wand of Mana Drain */ // StoreAddItem (908,1); /* Leather Cap */ // StoreAddItem (700,1); /* Wand of Dispell Magic 1 */ // StoreAddItem (909,1); /* Potion of Poison */ // StoreAddItem (825,1); /* Potion of Fire */ // StoreAddItem (826,1); /* Potion of Hurt */ // StoreAddItem (827,1); /* Gain Experience Scroll */ // StoreAddItem (214,1); /* Short Sword of Piercing */ // StoreAddItem (216,1); /* Long Sword of Piercing */ // StoreAddItem (217,1); /* Dagger of Poison */ // StoreAddItem (220,1); /* Short Sword of Poison */ // StoreAddItem (221,1); /* Long Sword of Speed */ // StoreAddItem (226,1); /* Mace of Poison */ // StoreAddItem (231,1); /* Staff of Power */ // StoreAddItem (233,1); /* Mace of Electricity */ // StoreAddItem (234,1); /* loop armors */ /* for (i=1;i<(3>adv?adv:3);i++) { for (j=1;j<12;j++) { item=firstArmor+materialOffsets[i]+j; StoreAddItem(item,1); } } */ /* secondary armor loop - hardened armor has no 'light' armor */ /* if (adv >= 3) { for (j=4;j<12;j++) { item=firstArmor+materialOffsets[3]+j; // printf ("adding armor item:%d\n",item); // fflush (stdout); StoreAddItem (item,1); // printf ("done\n"); // fflush (stdout); } } */ InventoryReorder(INVENTORY_STORE,TRUE); InventoryDrawInventoryWindow (INVENTORY_STORE); /* set up store control callback */ StoreSetControlCallback (StoreUIUpdateGraphics); /* welcome user */ MessageAdd ("^007Welcome to the store!"); /* add journal help page if necessary */ if (StatsPlayerHasNotePage(32)==FALSE && StatsPlayerHasNotePage(0)==TRUE) { StatsAddPlayerNotePage(32); } else { /* force loading of inventory banner display */ BannerOpenForm(BANNER_FORM_INVENTORY); } DebugEnd(); }