Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // NICK'O'THE'DEEP
- //
- // turtle who floats around in Loch Lalain
- // can tell us an amazing amount of information about bell, Kraken, shipwrecks
- //
- // Has wound from pirates shooting at him, if we heal it we will get more
- // amity with neriad when we see her again
- //
- // Will not talk to a cPIRATE profession or cNAGA race
- //
- // Give hot chili sardines to for special reward
- const int Flag_First_Encounter = 0;
- const int Flag_First_Exit = 1;
- const int Flag_First_Exit_Talk = 2;
- const int Flag_Healed_My_Wounds = 3;
- const int Flag_Feeling_Better = 4;
- const int Flag_First_Talk = 5;
- const int Flag_Told_About_Pirate_Treasure = 6;
- const int Flag_Told_About_Pirate_Ship = 7;
- const int Flag_Asked_About_Chest = 8;
- const int CIDX_Hitpoints = 1;
- const int CONDITION_Gratitude_For_Medical_Attention = 90;
- const int CHECKPOINT_Loch_Lalain = 40;
- const int CHECKPOINT_Loch_Titan = 44;
- const int CHECKPOINT_Snark_Mistress = 46;
- const int CHECKPOINT_Sargasso_Of_The_Kraken = 45;
- const int CHECKPOINT_Zephyre_Isles = 50;
- const int ITEM_Hot_Chili_Sardine = 238;
- const int MAPNOTE_X = 152;
- const int MAPNOTE_Y = 67;
- const int MAPNOTE_SHIPX = 83;
- const int MAPNOTE_SHIPY = 44;
- const int MAPNOTE_PIRATE_TREASURE = 24;
- const int MAPNOTE_PIRATE_SHIP = 25;
- //cGLOBAL_HEALED_NICK_OF_THE_DEEP
- bool OnSubject_YOU(int querytype)
- {
- Say(14);
- return(true);
- }
- bool OnSubject_JOB(int querytype)
- {
- Say(15);
- return(true);
- }
- bool OnSubject_NAGA(int querytype)
- {
- //Say(15);
- return(true);
- }
- bool OnSubject_ZEPHYRISLES(int querytype)
- {
- //Say(15);
- return(true);
- }
- bool OnSubject_BLACKPIERRE(int querytype)
- {
- //Say(15);
- return(true);
- }
- bool OnSubject_KRAKEN(int querytype)
- {
- if(GetGlobal(cGLOBAL_KILLED_KRAKEN) == true)
- {
- Say(43);
- }
- else
- {
- QSay(querytype,0,38,39,42,42);
- }
- return(true);
- }
- bool OnSubject_BAHOMET(int querytype)
- {
- if(GetGlobal(cGLOBAL_KILLED_KRAKEN) == true)
- {
- Say(44);
- }
- else
- {
- QSay(querytype,0,40,41,0,0);
- }
- return(true);
- }
- bool OnSubject_NERIAD(int querytype)
- {
- if(querytype == cDISPATCH_WHERE)
- {
- Say(34);
- }
- else
- {
- Say(33);
- }
- return(true);
- }
- bool OnSubject_PIRATE(int querytype)
- {
- Say(35);
- if(GetGlobal(cGLOBAL_HEALED_NICK_OF_THE_DEEP)==true)
- {
- if(Get(Flag_Told_About_Pirate_Ship) == false)
- {
- Say(36);
- Set(Flag_Told_About_Pirate_Ship);
- if(PartyVisited(CHECKPOINT_Snark_Mistress) == false)
- {
- RevealMap(CHECKPOINT_Loch_Titan, MAPNOTE_SHIPX,MAPNOTE_SHIPY,MAPNOTE_PIRATE_SHIP);
- }
- }
- if(Get(Flag_Told_About_Pirate_Treasure) == false)
- {
- Say(28);
- Set(Flag_Told_About_Pirate_Treasure);
- // communicating with logic pointers in game logic
- SetGlobal(cGLOBAL_NICKS_PIRATE_TREASURE,true);
- RevealMap(CHECKPOINT_Zephyre_Isles, MAPNOTE_X,MAPNOTE_Y,MAPNOTE_PIRATE_TREASURE);
- Say(37);
- }
- else
- {
- if(Get(Flag_Asked_About_Chest)==false)
- {
- Say(29);
- Set(Flag_Asked_About_Chest);
- }
- }
- }
- return(true);
- }
- bool OnSubject_INTREPID(int querytype)
- {
- QSay(querytype,0,16,21,0,0);
- return(true);
- }
- bool OnSubject_LOCHLALAIN(int querytype)
- {
- QSay(querytype,0,17,22,0,0);
- return(true);
- }
- bool OnSubject_LOCHTITAN(int querytype)
- {
- QSay(querytype,0,18,23,0,0);
- return(true);
- }
- bool OnSubject_SNARKMISTRES(int querytype)
- {
- QSay(querytype,0,19,24,0,0);
- if(GetGlobal(cGLOBAL_HEALED_NICK_OF_THE_DEEP)==true)
- {
- if(Get(Flag_Told_About_Pirate_Ship) == false)
- {
- Say(36);
- Set(Flag_Told_About_Pirate_Ship);
- if(PartyVisited(CHECKPOINT_Snark_Mistress) == false)
- {
- RevealMap(CHECKPOINT_Loch_Titan, MAPNOTE_SHIPX,MAPNOTE_SHIPY,MAPNOTE_PIRATE_SHIP);
- }
- }
- if(Get(Flag_Told_About_Pirate_Treasure) == false)
- {
- Say(28);
- Set(Flag_Told_About_Pirate_Treasure);
- // communicating with logic pointers in game logic
- SetGlobal(cGLOBAL_NICKS_PIRATE_TREASURE,true);
- RevealMap(CHECKPOINT_Zephyre_Isles, MAPNOTE_X,MAPNOTE_Y,MAPNOTE_PIRATE_TREASURE);
- Say(37);
- }
- else
- {
- Say(29);
- }
- }
- return(true);
- }
- bool OnSubject_WATERPORT(int querytype)
- {
- QSay(querytype,0,20,25,0,0);
- return(true);
- }
- bool OnSubject_SARGASSO(int querytype)
- {
- QSay(querytype,0,26,27,0,0);
- return(true);
- }
- bool OnEncounter(int value)
- {
- if(Get(Flag_First_Encounter)==false)
- {
- // when we first encounter Nick, he is wounded by pirates
- MakeMeWounded();
- Narrative(1);
- Say(2);
- Set(Flag_First_Encounter);
- }
- else
- {
- if(Get(Flag_Healed_My_Wounds) == true)
- {
- if(Get(Flag_Feeling_Better)==false)
- {
- Say(12);
- Set(Flag_Feeling_Better);
- }
- }
- }
- return(true);
- }
- bool OnExitEncounter(int value)
- {
- if(Get(Flag_Healed_My_Wounds) == true)
- {
- if(Get(Flag_First_Exit)==false)
- {
- Say(6);
- Set(Flag_First_Exit);
- }
- else
- {
- if(FlipCoin())
- {
- RandomSay(3,4,5);
- }
- else
- {
- RandomSay(7,8,11);
- }
- }
- }
- else
- {
- if(Amicable())RandomSay(7,8,11);
- }
- return(true);
- }
- bool OnExitTalk(int value)
- {
- if(Get(Flag_First_Exit_Talk)==false)
- {
- if(Amicable())Narrative(13);
- Set(Flag_First_Exit_Talk);
- return(true);
- }
- return(true);
- }
- bool OnHeal(int value)
- {
- int cndpc = MyConditionPercentile(CIDX_Hitpoints);
- if(Get(Flag_Healed_My_Wounds) == true)
- {
- return(true);
- }
- // if we heal this NPC during interaction it increases amity
- // until he is ready to assist us in our quest
- if(value == 1)
- {
- ModifyAmity(cPARTY_AGENTSOFWHITEOWL,+1);
- ModifyEnmity(cPARTY_AGENTSOFWHITEOWL,-1);
- if(cndpc >= CONDITION_Gratitude_For_Medical_Attention)
- {
- if(Get(Flag_Healed_My_Wounds) == false)
- {
- Set(Flag_Healed_My_Wounds) ;
- SetGlobal(cGLOBAL_HEALED_NICK_OF_THE_DEEP, true);
- }
- }
- }
- return(true);
- }
- bool OnUnknown(int value)
- {
- RandomSay(30,31,32);
- return(true);
- }
- bool OnTalk(int value)
- {
- if(GetTalkerRace() == cNAGA || GetTalkerProfession() == cPIRATE)
- {
- Narrative(10);
- return(true);
- }
- if(Get(Flag_First_Talk)==false)
- {
- Say(9);
- Set(Flag_First_Talk);
- }
- return(false);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement