view UIHouses.h @ 947:99aa9c8464cf

Improved conditions handling.
author Nomad
date Wed, 01 May 2013 14:30:02 +0200
parents 4dc2252e0b03
children c45d51b3f4f4
line wrap: on
line source

#pragma once
#include "stru159.h"

enum HOUSE_DIALOGUE_MENU: unsigned __int32
{
  HOUSE_DIALOGUE_NULL = 0,
  HOUSE_DIALOGUE_MAIN = 1,
  HOUSE_DIALOGUE_SHOP_BUY_STANDARD = 2,
  HOUSE_DIALOGUE_SHOP_SELL = 3,
  HOUSE_DIALOGUE_SHOP_IDENTIFY = 4,
  HOUSE_DIALOGUE_SHOP_REPAIR = 5,
  HOUSE_DIALOGUE_SHOP_6 = 6,
  HOUSE_DIALOGUE_BANK_7 = 7,
  HOUSE_DIALOGUE_BANK_8 = 8,
  HOUSE_DIALOGUE_9 = 9,
  HOUSE_DIALOGUE_TEMPLE_HEAL = 10,
  HOUSE_DIALOGUE_TEMPLE_DONATE = 11,
  HOUSE_DIALOGUE_12 = 12,
  HOUSE_DIALOGUE_13 = 13,
  HOUSE_DIALOGUE_14 = 14,
  HOUSE_DIALOGUE_TAVERN_REST = 15,
  HOUSE_DIALOGUE_TAVERN_BUY_FOOD = 16,
  HOUSE_DIALOGUE_TRAININGHALL_TRAIN = 17,
  HOUSE_DIALOGUE_GUILD_BUY_BOOKS = 18,
  //...
  HOUSE_DIALOGUE_36 = 36,
  //..
  HOUSE_DIALOGUE_GUILD_LEARN_SKILL = 72,
  //...
  HOUSE_DIALOGUE_SHOP_DISPLAY_EQUIPMENT = 94,
  HOUSE_DIALOGUE_SHOP_BUY_SPECIAL = 95,
  HOUSE_DIALOGUE_LEARN_SKILLS = 96,
  HOUSE_DIALOGUE_97 = 97,
  HOUSE_DIALOGUE_98 = 98,
  HOUSE_DIALOGUE_TOWNHALL_99 = 99,
  HOUSE_DIALOGUE_TOWNHALL_100 = 100,
  HOUSE_DIALOGUE_TAVERN_ARCOMAGE_MAIN = 101,
  HOUSE_DIALOGUE_TAVERN_ARCOMAGE_RULES = 102,
  HOUSE_DIALOGUE_TAVERN_ARCOMAGE_VICTORY_CONDITIONS = 103,
  HOUSE_DIALOGUE_TAVERN_ARCOMAGE_RESULT = 104,
  HOUSE_DIALOGUE_TRANSPORT_SCHEDULE_1 = 105,
  HOUSE_DIALOGUE_TRANSPORT_SCHEDULE_2 = 106,
  HOUSE_DIALOGUE_TRANSPORT_SCHEDULE_3 = 107,
  HOUSE_DIALOGUE_TRANSPORT_SCHEDULE_4 = 108,
  HOUSE_DIALOGUE_OTHER = -1
};

/*  349 */
enum HOUSE_ID
{
  HOUSE_SMITH_EMERALD_ISLE = 1,
  HOUSE_ARMOURER_EMERALD_ISLE = 15,
  HOUSE_MAGE_EMERALD_ISLE = 29,
  HOUSE_MAGE_HARMONDALE = 30,
  HOUSE_ALCHEMIST_EMERALD_ISLE = 42,
  HOUSE_ALCHEMIST_HARMONDALE = 43,
  HOUSE_STABLES_HARMONDALE = 54,
  HOUSE_STABLES_STEADWICK = 55,
  HOUSE_STABLES_56 = 56,
  HOUSE_STABLES_57 = 57,
  HOUSE_STABLES_58 = 58,
  HOUSE_STABLES_59 = 59,
  HOUSE_STABLES_60 = 60,
  HOUSE_STABLES_61 = 61,
  HOUSE_STABLES_62 = 62,
  HOUSE_BOATS_63 = 63,
  HOUSE_BOATS_64 = 64,
  HOUSE_BOATS_65 = 65,
  HOUSE_BOATS_66 = 66,
  HOUSE_BOATS_67 = 67,
  HOUSE_BOATS_68 = 68,
  HOUSE_BOATS_69 = 69,
  HOUSE_BOATS_70 = 70,
  HOUSE_BOATS_71 = 71,
  HOUSE_BOATS_72 = 72,
  HOUSE_BOATS_73 = 73,
  HOUSE_TEMPLE_EMERALD_ISLE = 74,
  HOUSE_TEMPLE_HARMONDALE = 75,
  HOUSE_TRAINING_HALL_EMERALD_ISLE = 89,
  HOUSE_TRAINING_HALL_HARMONDALE = 90,
  HOUSE_TRAINING_HALL_91 = 91,
  HOUSE_TRAINING_HALL_92 = 92,
  HOUSE_TRAINING_HALL_93 = 93,
  HOUSE_TRAINING_HALL_94 = 94,
  HOUSE_TRAINING_HALL_95 = 95,

  HOUSE_TOWNHALL_HARMONDALE = 102,
  HOUSE_TAVERN_EMERALD_ISLE = 107,
  HOUSE_BANK_HARMONDALE = 128,
  HOUSE_FIRE_GUILD_INITIATE_EMERALD_ISLE = 139,
  HOUSE_AIR_GUILD_INITIATE_EMERALD_ISLE = 143,
  HOUSE_SPIRIT_GUILD_INITIATE_EMERALD_ISLE = 155,
  HOUSE_BODY_GUILD_INITIATE_EMERALD_ISLE = 163,
  HOUSE_BODY_GUILD_ERATHIA = 165,
  HOUSE_DARK_GUILD_PIT = 170,
  HOUSE_LORD_AND_JUDGE_EMERALD_ISLE = 186,
  HOUSE_JAIL = 187,
  HOUSE_JUDGE_HARMONDALE = 190,
  HOUSE_224_EMERALD_ISLE = 224,
  HOUSE_225_EMERALD_ISLE = 225,
  HOUSE_238_EMERALD_ISLE = 238,
  HOUSE_466_HARMONDALE = 466,
  HOUSE_467_HARMONDALE = 467,
  HOUSE_468_HARMONDALE = 468,
  HOUSE_472_HARMONDALE = 472,
  HOUSE_488_HARMONDALE = 488,
  HOUSE_489_HARMONDALE = 489,
  HOUSE_600 = 600,//???
  HOUSE_601 = 601//???
};

enum HouseSoundID: unsigned __int32
{
  HouseSound_Greeting = 1,        // General greeting
  HouseSound_NotEnoughMoney_TrainingSuccessful = 2,
  HouseSound_Greeting_2 = 3,      // Polite Greeting when you're guild member
  HouseSound_Goodbye = 4          // farewells when bought something
};

void TrainingDialog();
void JailDialog();
void  MagicShopDialog();
void  GuildDialog();
void  sub_4B6478();
bool __fastcall IsTravelAvailable(int a1);
void __cdecl TravelByTransport();
void TempleDialog();
void __cdecl TownHallDialog();
void __cdecl BankDialog();
void __cdecl TavernDialog();
void PlayHouseSound(unsigned int uHouseID, HouseSoundID sound); // idb
void __cdecl WeaponShopDialog();
void __cdecl AlchemistDialog();
void __cdecl ArmorShopDialog();

extern int uHouse_ExitPic; // weak
extern int dword_591080; // weak
extern  const stru159 pAnimatedRooms[196];
extern int in_current_building_type; // 00F8B198
extern HOUSE_DIALOGUE_MENU dialog_menu_id; // 00F8B19C