summaryrefslogtreecommitdiff
path: root/world/map/npc/013-1
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/013-1')
-rw-r--r--world/map/npc/013-1/_import.txt1
-rw-r--r--world/map/npc/013-1/flowerpentagram.txt103
2 files changed, 104 insertions, 0 deletions
diff --git a/world/map/npc/013-1/_import.txt b/world/map/npc/013-1/_import.txt
index 167433a3..2c096edd 100644
--- a/world/map/npc/013-1/_import.txt
+++ b/world/map/npc/013-1/_import.txt
@@ -3,4 +3,5 @@
map: 013-1.gat
npc: npc/013-1/_mobs.txt
npc: npc/013-1/_warps.txt
+npc: npc/013-1/flowerpentagram.txt
npc: npc/013-1/sagatha.txt
diff --git a/world/map/npc/013-1/flowerpentagram.txt b/world/map/npc/013-1/flowerpentagram.txt
new file mode 100644
index 00000000..01d51233
--- /dev/null
+++ b/world/map/npc/013-1/flowerpentagram.txt
@@ -0,0 +1,103 @@
+013-1.gat,1,1,0|script|#FlowerPentagram|127,{
+end;
+
+OnSummon:
+ announce "Sagatha: What fool trick is this? Who dares to toy around with the forest like this?", 0;
+
+ callsub S_CleanUp;
+ // TODO: balance amounts
+ // area closely to sagatha
+ areamonster "013-1.gat", 119, 21, 134, 36, "", 1105, 3, "#FlowerPentagram::OnSquirrelDeath";
+ areamonster "013-1.gat", 119, 21, 134, 36, "", 1106, 2, "#FlowerPentagram::OnMushroomDeath";
+ areamonster "013-1.gat", 119, 21, 134, 36, "", 1107, 3, "#FlowerPentagram::OnBlueparDeath";
+ areamonster "013-1.gat", 119, 21, 134, 36, "", 1104, 2, "#FlowerPentagram::OnMoubooDeath";
+ areamonster "013-1.gat", 119, 21, 134, 36, "", 1003, 10, "#FlowerPentagram::OnScorpionDeath";
+ areamonster "013-1.gat", 119, 21, 134, 36, "", 1004, 7, "#FlowerPentagram::OnRScorpionDeath";
+ areamonster "013-1.gat", 119, 21, 134, 36, "", 1057, 5, "#FlowerPentagram::OnAScorpionDeath";
+ areamonster "013-1.gat", 119, 21, 134, 36, "", 1009, 3, "#FlowerPentagram::OnBScorpionDeath";
+ // wider area around sagatha
+ areamonster "013-1.gat", 68, 25, 133, 73, "", 1105, 3, "#FlowerPentagram::OnSquirrelDeath";
+ areamonster "013-1.gat", 68, 25, 133, 73, "", 1106, 3, "#FlowerPentagram::OnMushroomDeath";
+ areamonster "013-1.gat", 68, 25, 133, 73, "", 1107, 5, "#FlowerPentagram::OnBlueparDeath";
+ areamonster "013-1.gat", 68, 25, 133, 73, "", 1104, 2, "#FlowerPentagram::OnMoubooDeath";
+ areamonster "013-1.gat", 68, 25, 133, 73, "", 1003, 6, "#FlowerPentagram::OnScorpionDeath";
+ areamonster "013-1.gat", 68, 25, 133, 73, "", 1004, 5, "#FlowerPentagram::OnRScorpionDeath";
+ areamonster "013-1.gat", 68, 25, 133, 73, "", 1057, 4, "#FlowerPentagram::OnAScorpionDeath";
+ areamonster "013-1.gat", 68, 25, 133, 73, "", 1009, 2, "#FlowerPentagram::OnBScorpionDeath";
+ // almost the entire map
+ areamonster "013-1.gat", 24, 22, 136, 100, "", 1105, 4, "#FlowerPentagram::OnSquirrelDeath";
+ areamonster "013-1.gat", 24, 22, 136, 100, "", 1106, 3, "#FlowerPentagram::OnMushroomDeath";
+ areamonster "013-1.gat", 24, 22, 136, 100, "", 1107, 5, "#FlowerPentagram::OnBlueparDeath";
+ areamonster "013-1.gat", 24, 22, 136, 100, "", 1104, 3, "#FlowerPentagram::OnMoubooDeath";
+ areamonster "013-1.gat", 24, 22, 136, 100, "", 1003, 5, "#FlowerPentagram::OnScorpionDeath";
+ areamonster "013-1.gat", 24, 22, 136, 100, "", 1004, 4, "#FlowerPentagram::OnRScorpionDeath";
+ areamonster "013-1.gat", 24, 22, 136, 100, "", 1057, 3, "#FlowerPentagram::OnAScorpionDeath";
+ areamonster "013-1.gat", 24, 22, 136, 100, "", 1009, 1, "#FlowerPentagram::OnBScorpionDeath";
+ 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;
+
+S_CleanUp:
+ killmonster "013-1.gat", "#FlowerPentagram::OnSquirrelDeath";
+ killmonster "013-1.gat", "#FlowerPentagram::OnMushroomDeath";
+ killmonster "013-1.gat", "#FlowerPentagram::OnBlueparDeath";
+ killmonster "013-1.gat", "#FlowerPentagram::OnMoubooDeath";
+ killmonster "013-1.gat", "#FlowerPentagram::OnScorpionDeath";
+ killmonster "013-1.gat", "#FlowerPentagram::OnRScorpionDeath";
+ killmonster "013-1.gat", "#FlowerPentagram::OnAScorpionDeath";
+ killmonster "013-1.gat", "#FlowerPentagram::OnBScorpionDeath";
+ return;
+}
+
+function|script|FlowerPentagramCount|{
+ set $@Flower_Pentagram_Mobcount,
+ mobcount("013-1.gat", "#FlowerPentagram::OnSquirrelDeath") +
+ mobcount("013-1.gat", "#FlowerPentagram::OnMushroomDeath") +
+ mobcount("013-1.gat", "#FlowerPentagram::OnBlueparDeath") +
+ mobcount("013-1.gat", "#FlowerPentagram::OnMoubooDeath") +
+ mobcount("013-1.gat", "#FlowerPentagram::OnScorpionDeath") +
+ mobcount("013-1.gat", "#FlowerPentagram::OnRScorpionDeath") +
+ mobcount("013-1.gat", "#FlowerPentagram::OnAScorpionDeath") +
+ mobcount("013-1.gat", "#FlowerPentagram::OnBScorpionDeath") +
+ 8; // the mobcount function has an offset of -1, so we add 8 to have the actual amount of monsters
+ announce "$@Flower_Pentagram_Mobcount: " + $@Flower_Pentagram_Mobcount, 0; // TODO: remove debug announce
+ return;
+}