1 /* This is the definitions file for quests.c, please look there for more information. 2 You may modify/use it freely as long as you give proper credit. - C. Blue 3 */ 4 5 6 #define QI_CODENAME_LEN 10 /* short, internal quest code name */ 7 #define QI_PREREQUISITES 5 /* max # of prerequisite quests for a follow-up quest */ 8 #define QI_QUESTORS 30 /* amount of questor(NPC)s, there can be more than one! */ 9 #define QI_STAGES 50 /* a quest can have these # of different stages */ 10 #define QI_TALK_LINES 15 /* amount of text lines per talk dialogue */ 11 #define QI_KEYWORDS 100 /* for dialogue with the questor */ 12 #define QI_KEYWORD_LEN 30 /* length of a keyword, for dialogue with the questor */ 13 #define QI_PASSWORDS 5 /* special keywords that are actually passwords that are randomly regenerated each session */ 14 #define QI_PASSWORD_LEN 12 /* length of a password-keyword, for dialogue with the questor */ 15 #define QI_KEYWORD_REPLIES 50 /* replies from for a questor, depending on keyword entered */ 16 #define QI_KEYWORDS_PER_REPLY 5 /* so many different keywords may trigger the same keyword-reply text */ 17 #define QI_STAGE_REWARDS 10 /* max # of rewards handed out per completed stage */ 18 #define QI_GOALS 5 /* main goals to complete a stage */ 19 #define QI_REWARD_GOALS 5 /* up to 5 different main/optional goals that have to be completed for a specific reward */ 20 #define QI_STAGE_GOALS 5 /* up to 5 different main/optional goals that have to be completed for changing to a specific next stage */ 21 #define QI_FOLLOWUP_STAGES 5 /* the # of possible follow-up stages of which one is picked depending on the completed stage goals */ 22 #define QI_FLAGS 16 /* global flags that range from 'a' to 'p' and can be set via uppercase letter, erased via lowercase letter. */ 23 #define QI_TERRAIN_PATCH_RADIUS 5 /* max radius for valid terrain of same type as target terrain (terrain patch extension for quest goals) --note: this uses distance() */ 24 #define QI_STAGE_AUTO_FEATS 15 /* max # of cave features to build on a stage start */ 25 #define QI_STAGE_AUTO_MSPAWNS 10 /* max # of monster spawning on a stage start */ 26 27 28 #define QI_SLOC_SURFACE 0x1 29 #define QI_SLOC_TOWN 0x2 30 #define QI_SLOC_DUNGEON 0x4 31 //#define QI_SLOC_TOWER 0x8 32 33 #define QI_STOWN_BREE 0x001 34 #define QI_STOWN_GONDOLIN 0x002 35 #define QI_STOWN_MINASANOR 0x004 36 #define QI_STOWN_LOTHLORIEN 0x008 37 #define QI_STOWN_KHAZADDUM 0x010 38 39 #define QI_STOWN_WILD 0x020 40 #define QI_STOWN_DUNGEON 0x040 41 #define QI_STOWN_IDDC 0x080 42 #define QI_STOWN_IDDC_FIXED 0x100 43 44 45 #define QI_QUESTOR_RUMOUR 0 46 #define QI_QUESTOR_NPC 1 /* neutral/friendly monster */ 47 #define QI_QUESTOR_PARCHMENT 2 /* message in a bottle ^^ (read) */ 48 #define QI_QUESTOR_ITEM_PICKUP 3 /* item (pick up) */ 49 #define QI_QUESTOR_ITEM_TOUCH 4 /* item (walk over it) */ 50 51 52 #define QI_SPAWN_RING 0 /* spawn around questor */ 53 #define QI_SPAWN_RING_P 1 /* spawn around player */ 54 #define QI_SPAWN_RING_WIDE 2 /* spawn around questor like siege of malice */ 55 #define QI_SPAWN_RING_WIDE_P 3 /* spawn around player like a siege of malice */ 56 #define QI_SPAWN_PACK_NEAR 4 /* spawn as pack nearby questor */ 57 #define QI_SPAWN_PACK_NEAR_P 5 /* spawn as pack nearby player */ 58 #define QI_SPAWN_PACK 6 /* spawn as pack further away */ 59 #define QI_SPAWN_PACK_FAR_P 7 /* spawn as pack far away */ 60 61 62 /* calculate an internal quest goal index from a quest goal number specified in q_info.txt */ 63 //deprecated. #define QUEST_GOAL_IDX(j) ((j > 0) ? j - 1 /* main goal */ : (j < 0 ? QI_GOALS - j - 1 /* optional goal */ : -1 /* invalid */)) 64