diff options
Diffstat (limited to 'npc/031-1_NivalisPort')
-rw-r--r-- | npc/031-1_NivalisPort/_import.txt | 6 | ||||
-rw-r--r-- | npc/031-1_NivalisPort/_mobs.txt | 25 | ||||
-rw-r--r-- | npc/031-1_NivalisPort/_warps.txt | 4 | ||||
-rw-r--r-- | npc/031-1_NivalisPort/angelaOutside.txt | 194 | ||||
-rw-r--r-- | npc/031-1_NivalisPort/frozenbeard.txt | 29 | ||||
-rw-r--r-- | npc/031-1_NivalisPort/house.txt | 18 |
6 files changed, 276 insertions, 0 deletions
diff --git a/npc/031-1_NivalisPort/_import.txt b/npc/031-1_NivalisPort/_import.txt new file mode 100644 index 00000000..03490d66 --- /dev/null +++ b/npc/031-1_NivalisPort/_import.txt @@ -0,0 +1,6 @@ +map: 031-1.gat +npc: npc/031-1_NivalisPort/_mobs.txt +npc: npc/031-1_NivalisPort/_warps.txt +npc: npc/031-1_NivalisPort/angelaOutside.txt +npc: npc/031-1_NivalisPort/frozenbeard.txt +npc: npc/031-1_NivalisPort/house.txt diff --git a/npc/031-1_NivalisPort/_mobs.txt b/npc/031-1_NivalisPort/_mobs.txt new file mode 100644 index 00000000..431da4f1 --- /dev/null +++ b/npc/031-1_NivalisPort/_mobs.txt @@ -0,0 +1,25 @@ +// 031-1 NivalisPort mobs + +031-1.gat,75,72,86,110 monster Santa Slime 1015,5,100000,30000,Mob031-1::On1015 +031-1.gat,89,74,86,110 monster Squirrel 1038,10,100000,30000,Mob031-1::On1038 +031-1.gat,89,74,86,110 monster Fluffy 1020,15,100000,30000,Mob031-1::On1020 + + +031-1.gat,0,0,0 script Mob031-1 -1,{ +On1015: + set @mobID, 1015; + callfunc "MobPoints"; + break; + +On1020: + set @mobID, 1020; + callfunc "MobPoints"; + break; + +On1038: + set @mobID, 1038; + callfunc "MobPoints"; + break; + + end; +} diff --git a/npc/031-1_NivalisPort/_warps.txt b/npc/031-1_NivalisPort/_warps.txt new file mode 100644 index 00000000..ca2bdc30 --- /dev/null +++ b/npc/031-1_NivalisPort/_warps.txt @@ -0,0 +1,4 @@ +// 031-1 NivalisPort warps + +031-1.gat,37,55 warp toNivalis -1,-1,020-1.gat,106,55 +031-1.gat,76,24 warp toLabyrinth -1,-1,031-3.gat,212,298 diff --git a/npc/031-1_NivalisPort/angelaOutside.txt b/npc/031-1_NivalisPort/angelaOutside.txt new file mode 100644 index 00000000..ae5b6bfa --- /dev/null +++ b/npc/031-1_NivalisPort/angelaOutside.txt @@ -0,0 +1,194 @@ +// author: Jenalya +// reviewed by: +// state0: Angela is to upset to tell you anything, needs a concentration potion +// state1: got the mission to save Cindy +// state2 and state3: Cindy is saved Angela invites you to visit them for giving a reward +// state greater than 3: Angela invites and asks you to bring present boxes + +//TODO: picture +031-1.gat,79,24,0 script Angela 154, { + + set @Q_Nivalis_state_MASK, NIBBLE_5_MASK; + set @Q_Nivalis_state_SHIFT, NIBBLE_5_SHIFT; + + set @rescue_Cindy, ((QUEST_Nivalis_state & @Q_Nivalis_state_MASK) >> @Q_Nivalis_state_SHIFT); + + if (@rescue_Cindy > 3) goto L_Please_Visit_Again; + if (@rescue_Cindy > 1) goto L_Please_Visit; + if (@rescue_Cindy == 1) goto L_Please_Help; + + mes "[Angela]"; + mes "\"Please, I need help! My little daugther!\""; + next; + mes "\"It's terrible, oh my dear child!\""; + next; + + if (countitem("ConcentrationPotion") > 0) goto L_Menu_Potion; + + menu + "\"Please calm down and tell me what happened.\"", L_Whining, + "Leave", -; + close; + +L_Whining: + mes "[Angela]"; + mes "\"My poor little daugther, please! Oh no, oh no...\""; + next; + mes "\"We need to do something! My poor little Cindy! My cute little girl!\""; + next; + mes "\"It's so terrible, how could that happen? Please, I need help, it's so terrible.\""; + next; + mes "\"That awful filthy monsters - terrible!\""; + next; + mes "\"Oh Cindy, my little Cindy - oh no...\""; + next; + mes "\"Please help, we need to do something!\""; + next; + mes "\"It's so terrible, my poor cute little Cindy...\""; + next; + mes "\"Oh, when I think, what might happen to her right now!\""; + next; + mes "\"She is crying and sobbing.\""; + next; + mes "\"It seems, she is too upset to tell you anything helpful. If she would just calm down and concentrate a bit...\""; + close; + +L_Menu_Potion: + menu + "\"Please calm down and tell me what happened.\"", L_Whining, + "Give her a concentration potion.", L_Calm_Down, + "Leave", -; + close; + +L_Calm_Down: + if (countitem("ConcentrationPotion") == 0) goto L_No_Potion; + delitem "ConcentrationPotion", 1; + mes "She drinks the concentration potions and calms down."; + mes "[Angela]"; + mes "\"Thank you, this was helpful.\""; + next; + mes "\"My daughter Cindy and me were on our way to Santa, to bring him some presents. Many people here in Nivalis are helping Santa with his business.\""; + next; + mes "\"When we passed the entrance of this cave, a pack of Yetis came out there. It's disturbing, usually, they are very shy.\""; + next; + mes "\"We tried to run away, but there were to many of them. They took my poor little Cindy and all the presents with them.\""; + next; + mes "\"Oh my poor little girl. I'm so worried - what might they do with her? Oh no!\""; + next; + mes "\"You look like an adventurer! Please, can you go in that cave and rescue my little Cindy? I beg you for help!\""; + set @rescue_Cindy, 1; + callsub S_Update_Mask; + close; + +L_No_Potion: + mes "You don't have a concentration potion."; + close; + +L_Please_Help: + mes "[Angela]"; + mes "\"Please rescue my daughter!\""; + close; + +L_Please_Visit: + mes "[Angela]"; + mes "\"Thank you so much for rescueing my beloved Cindy. Please come to visit us in our house at the beach.\""; + next; + mes "\"My husband is an adventurer like you, and I want to give you something he got on his travels to show my gratitude.\""; + close; + +L_Please_Visit_Again: + mes "[Angela]"; + mes "\"Hello! You are welcome to visit us in our house at the beach everytime. Cindy loves to see you!\""; + next; + mes "\"If you have found any present boxes, the Yetis took away, please bring them to our house. Usually, the Yetis are very shy... their behavior is a bit odd.\""; + close; + +S_Update_Mask: + set QUEST_Nivalis_state, + (QUEST_Nivalis_state & ~(@Q_Nivalis_state_MASK)) + | (@rescue_Cindy << @Q_Nivalis_state_SHIFT); + return; +} + +031-1.gat,80,25,0 script Debug 154, { + +//TODO: remove DEBUG + + set @Q_Nivalis_state_MASK, NIBBLE_5_MASK; + set @Q_Nivalis_state_SHIFT, NIBBLE_5_SHIFT; + + set @rescue_Cindy, ((QUEST_Nivalis_state & @Q_Nivalis_state_MASK) >> @Q_Nivalis_state_SHIFT); + + mes "This menu is for debugging and will be removed"; + menu + "close", L_close, + "reset quest", -, + "skip yeti battle", yeti, + "magic", magic; + set @rescue_Cindy, 0; + callsub S_Update_Mask; + mes "quest variable is now " + @rescue_Cindy; + close; + +yeti: + set @rescue_Cindy, 2; + callsub S_Update_Mask; + mes "quest variable is now " + @rescue_Cindy; + close; + +L_close: + close; + +magic: + // Set up SkillUp function general magic + set @SUP_id, SKILL_MAGIC; + set @SUP_name$, "Magic"; + + set @SUP_xp, 5000; + set @SUP_lvl, 2; + callfunc "SkillUp"; + + // Set up SkillUp function war magic + set @SUP_id, SKILL_MAGIC_WAR; + set @SUP_name$, "War Magic"; + + set @SUP_xp, 5000; + set @SUP_lvl, 2; + callfunc "SkillUp"; + + // Set up SkillUp function life magic + set @SUP_id, SKILL_MAGIC_LIFE; + set @SUP_name$, "Life Magic"; + + set @SUP_xp, 5000; + set @SUP_lvl, 2; + callfunc "SkillUp"; + + // Set up SkillUp function life magic + set @SUP_id, SKILL_MAGIC_NATURE; + set @SUP_name$, "Nature Magic"; + + set @SUP_xp, 5000; + set @SUP_lvl, 2; + callfunc "SkillUp"; + + mes "Lightning invocation: " + getspellinvocation("lightning-strike"); + mes "Flare-dart invocation: " + getspellinvocation("flare-dart"); + mes "Lesser-heal invocation: " + getspellinvocation("lesser-heal"); + mes "Lay-on-hands invocation: " + getspellinvocation("lay-on-hands"); + mes "protect: " + getspellinvocation("protect"); + close; + +S_Update_Mask: + set QUEST_Nivalis_state, + (QUEST_Nivalis_state & ~(@Q_Nivalis_state_MASK)) + | (@rescue_Cindy << @Q_Nivalis_state_SHIFT); + return; +} + + + + + + + diff --git a/npc/031-1_NivalisPort/frozenbeard.txt b/npc/031-1_NivalisPort/frozenbeard.txt new file mode 100644 index 00000000..9be863b0 --- /dev/null +++ b/npc/031-1_NivalisPort/frozenbeard.txt @@ -0,0 +1,29 @@ +// + +031-1.gat,97,115,0 script Frozenbeard 138,{ + + mes "[Frozenbeard]"; + mes "\"Arrr mate! There is no dock here, so I had to use my row boat! I am pioneering and mapping the trade route between here and Argaes, around the Hurnscald area. I'll hail my shipmates to send a boat and we'll ship out to Argaes, be there in no time, but it will cost you a fee. 500 gold pieces. What do you say?"; + menu + "Sure. (500 GP)", L_Frozenbeard_Argaes, + "Not right now.", L_Frozenbeard_Stay; + close; + +L_Frozenbeard_Argaes: + if (zeny < 500) goto L_NoMoney; + mes "[Frozenbeard]"; + mes "\"Pleasant Journeys!\""; + set zeny, zeny-500; + warp "008-1.gat",137,64; + close; + +L_Frozenbeard_Stay: + mes "[Frozenbeard]"; + mes "\"Suit yourself. Feel free to come out here anytime, I am really busy making sure these routes are accurate.\""; + close; + +L_NoMoney: + mes "[Frozenbeard]"; + mes "\"You need more money. I'll wait here while you get some.\""; + close; +} diff --git a/npc/031-1_NivalisPort/house.txt b/npc/031-1_NivalisPort/house.txt new file mode 100644 index 00000000..d9714ef5 --- /dev/null +++ b/npc/031-1_NivalisPort/house.txt @@ -0,0 +1,18 @@ +// here is based on the queststatus for the rescue Cindy quest, if the player can enter +// player can enter, if Cindy is already saved and the player has been invited, quest status > 2 +// author: Jenalya + +031-1.gat,95,80,0 script #Door 127,1,1,{ + set @Q_Nivalis_state_MASK, NIBBLE_5_MASK; + set @Q_Nivalis_state_SHIFT, NIBBLE_5_SHIFT; + + set @rescue_Cindy, ((QUEST_Nivalis_state & @Q_Nivalis_state_MASK) >> @Q_Nivalis_state_SHIFT); + + if (@rescue_Cindy > 2) goto L_Warp; + message strcharinfo(0), "The door is locked."; + close; + +L_Warp: + warp "031-2.gat", 23, 28; + end; +} |