diff options
Diffstat (limited to 'world/map/npc/056-1')
-rw-r--r-- | world/map/npc/056-1/_import.txt | 1 | ||||
-rw-r--r-- | world/map/npc/056-1/flowerpentagram5.txt | 139 |
2 files changed, 140 insertions, 0 deletions
diff --git a/world/map/npc/056-1/_import.txt b/world/map/npc/056-1/_import.txt index 8266df52..810fdb01 100644 --- a/world/map/npc/056-1/_import.txt +++ b/world/map/npc/056-1/_import.txt @@ -3,3 +3,4 @@ map: 056-1.gat npc: npc/056-1/_mobs.txt npc: npc/056-1/_warps.txt +npc: npc/056-1/flowerpentagram5.txt diff --git a/world/map/npc/056-1/flowerpentagram5.txt b/world/map/npc/056-1/flowerpentagram5.txt new file mode 100644 index 00000000..1218076c --- /dev/null +++ b/world/map/npc/056-1/flowerpentagram5.txt @@ -0,0 +1,139 @@ +// Author: Jenalya +// $@Flower_Pentagram_Time saves the time when the last summoning happened + +056-1.gat,62,31,0|script|#FlowerPentagram5|400,{ + + if (OrumQuest >= 31) goto L_PlacedFifthFlower; + + if (OrumQuest == 30) goto L_FifthFlower; + + message strcharinfo(0), "Something is odd with this place."; + end; + +L_FifthFlower: + mes "This have to be the place for the last magical flower. When you place it, the pentagram will be completed."; + menu + "Place the flower.", -, + "Leave.", L_Close; + + if (isin("056-1.gat", 61, 30, 63, 32)) + goto L_Place; + + mes "This doesn't work, you're too far away."; + goto L_Close; + +L_Place: + set @localMonsterCount, + mobcount("013-1.gat", "#FlowerPentagram5::OnSquirrelDeath") + + mobcount("013-1.gat", "#FlowerPentagram5::OnMushroomDeath") + + mobcount("013-1.gat", "#FlowerPentagram5::OnBlueparDeath") + + mobcount("013-1.gat", "#FlowerPentagram5::OnMoubooDeath") + + mobcount("013-1.gat", "#FlowerPentagram5::OnScorpionDeath") + + mobcount("013-1.gat", "#FlowerPentagram5::OnRScorpionDeath") + + mobcount("013-1.gat", "#FlowerPentagram5::OnAScorpionDeath") + + mobcount("013-1.gat", "#FlowerPentagram5::OnBScorpionDeath") + + 8; // the mobcount function has an offset of -1, so we add 8 to have the actual amount of monsters + if (@localMonsterCount > 4) + goto L_MonstersAlive; + + mes "Nervous of what's going to happen, you take the last of the flowers and put it into place."; + next; + mes "Tension builds up around you, much stronger than all the times before. It pressures your head, your nose starts bleeding."; + heal -5, 0; + next; + callfunc "FlowerPentagramCount"; + if (($@Flower_Pentagram_Time > gettimetick(2) - 3600) && ($@Flower_Pentagram_Mobcount > 15)) + goto L_TooEarly; + set $@Flower_Pentagram_Time, gettimetick(2); + if (countitem("RedSummonFlower") < 1) + goto L_NoFlower; + delitem "RedSummonFlower", 1; + + mes "The moment you think you can't endure it anymore, the webbing of the world seems to tear apart."; + set OrumQuest, 31; + close2; + areamonster "056-1.gat", 56, 26, 80, 46, "", 1105, 3, "#FlowerPentagram5::OnSquirrelDeath"; + areamonster "056-1.gat", 56, 26, 80, 46, "", 1106, 2, "#FlowerPentagram5::OnMushroomDeath"; + areamonster "056-1.gat", 56, 26, 80, 46, "", 1107, 3, "#FlowerPentagram5::OnBlueparDeath"; + areamonster "056-1.gat", 56, 26, 80, 46, "", 1104, 2, "#FlowerPentagram5::OnMoubooDeath"; + areamonster "056-1.gat", 56, 26, 80, 46, "", 1003, 3, "#FlowerPentagram5::OnScorpionDeath"; + areamonster "056-1.gat", 56, 26, 80, 46, "", 1004, 2, "#FlowerPentagram5::OnRScorpionDeath"; + areamonster "056-1.gat", 56, 26, 80, 46, "", 1057, 2, "#FlowerPentagram5::OnAScorpionDeath"; + areamonster "056-1.gat", 56, 26, 80, 46, "", 1009, 2, "#FlowerPentagram5::OnBScorpionDeath"; + set @value, 15; + callfunc "QuestSagathaAnnoy"; + set @value, 0; + donpcevent "#FlowerPentagram::OnSummon"; + end; + +OnSquirrelDeath: + set @mobID, 1105; + callfunc "MobPoints"; + end; + +OnMushroomDeath: + set @mobID, 1106; + callfunc "MobPoints"; + end; + +OnBlueparDeath: + set @mobID, 1107; + callfunc "MobPoints"; + end; + +OnMoubooDeath: + set @mobID, 1104; + callfunc "MobPoints"; + end; + +OnScorpionDeath: + set @mobID, 1003; + callfunc "MobPoints"; + end; + +OnRScorpionDeath: + set @mobID, 1004; + callfunc "MobPoints"; + end; + +OnAScorpionDeath: + set @mobID, 1057; + callfunc "MobPoints"; + end; + +OnBScorpionDeath: + set @mobID, 1009; + callfunc "MobPoints"; + end; + +L_TooEarly: + mes "Then everything calms down again and then tension vanishes. You're unsure what's going on."; + next; + mes "You pick up the flower again."; + next; + mes "Looking at the place more closely, it seems another summoning has happened just before, leaving the path between this world and the astral plane drained and exhausted."; + next; + mes "You should wait a while until it recovers, or go and search the creatures that got summoned."; + goto L_Close; + +L_MonstersAlive: + mes "As you get closer to the place, you feel an unnerving presence."; + mes "The place has recently been used to summon something! And the beings are still near!"; + next; + mes "You should get rid of them before attempting the summoning yourself."; + goto L_Close; + +L_NoFlower: + mes "You reach into your pocket, but you can't find the flower! You're so close to completing your task."; + mes "How could you lose the last flower? If you can't get it back, you have to tell Orum."; + goto L_Close; + +L_PlacedFifthFlower: + mes "This is the place where you put the last one of Orum's magical flowers."; + mes "But after the pentagram was finished and the summoning happened, everything is back to normal with this spot."; + goto L_Close; + +L_Close: + set @localMonsterCount, 0; + close; +} |