summaryrefslogtreecommitdiff
path: root/world/map/npc/009-8/celestia.txt
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/009-8/celestia.txt')
-rw-r--r--world/map/npc/009-8/celestia.txt137
1 files changed, 134 insertions, 3 deletions
diff --git a/world/map/npc/009-8/celestia.txt b/world/map/npc/009-8/celestia.txt
index 9aa5ef3a..67aa9366 100644
--- a/world/map/npc/009-8/celestia.txt
+++ b/world/map/npc/009-8/celestia.txt
@@ -16,7 +16,7 @@
// 205 killed 200 yetis
// 206 got reward
-009-8,31,23,0|script|Celestia|144
+009-8,31,123,0|script|Celestia|144
{
callfunc "CelestiaState";
if (getequipid(equip_head) == 4027) // check if yeti mask (4027) is equipped
@@ -294,13 +294,144 @@ function|script|CelestiaState
009-1,74,50,0|script|Celestia Door|32767,0,0
{
- warp "009-8", 26, 23;
+ warp "009-8", 26, 123;
callfunc "CelestiaState";
end;
}
009-1,72,54,0|script|Celestia BackDoor|32767,0,0
{
- warp "009-8", 23, 34;
+ warp "009-8", 23, 134;
callfunc "CelestiaState";
end;
}
+009-8,83,125,0|script|#cont-warp7|32767,0,0
+{
+ warp "009-8", 39, 126;
+ end;
+}
+009-8,40,125,0|script|Celestia Basement|32767,0,0
+{
+ if (countitem(647)||countitem(725)||countitem(1178)||countitem(5131)||countitem(5132)||countitem(5133)||countitem(5134)||countitem(5135)||countitem(5136)||countitem(5137)||countitem(5138)||countitem(5139)||countitem(5140)||(getgmlevel()>=20)||
+ strcharinfo(1) == "Celestia's Tea Party")
+ warp "009-8", 82, 126;
+ if (strcharinfo(1) != "Celestia's Tea Party")
+ sendcollision "009-8", 1, 62, 105, 77, 123;
+ end;
+
+OnPCLoginEvent:
+ if (strcharinfo(1) != "Celestia's Tea Party" && getmap() == "009-8")
+ sendcollision "009-8", 1, 62, 105, 77, 123;
+ end;
+}
+009-8,68,123,0|script|Celestia Interceptor|32767,1,0
+{
+ if (strcharinfo(1) != "Celestia's Tea Party")
+ goto L_Stomp;
+ mapmask 1 | 8;
+ end;
+
+L_Stomp:
+ set Hp, 0;
+ end;
+}
+
+009-8,69,112,0|script|Celestia Mask1|32767,0,0
+{
+ set @cel_dir, 0;
+ end;
+}
+
+009-8,69,113,0|script|Celestia Mask0|32767,0,0
+{
+ if (@cel_dir == 1)
+ mapmask 1 | 4;
+ else
+ mapmask 1 | 8;
+ end;
+
+OnPCLoginEvent:
+ if (getmap() != "009-8" || strcharinfo(1) != "Celestia's Tea Party")
+ end;
+
+ if (POS_Y >= 123)
+ mapmask 1 | 2 | 8;
+ elif (POS_Y >= 113)
+ mapmask 1 | 8;
+ else
+ mapmask 1 | 4;
+ end;
+}
+
+009-8,69,114,0|script|Celestia Mask2|32767,0,0
+{
+ set @cel_dir, 1;
+ end;
+}
+
+// re-apply masks on exit:
+069-2,97,127,0|script|Celestia Mask3|32767,1,0
+{
+ warp "009-8", 53, 41;
+ mapmask 1 | 4;
+ end;
+}
+069-2,116,127,0|script|Celestia Mask4|32767,1,0
+{
+ warp "009-8", 58, 41;
+ mapmask 1 | 4;
+ end;
+}
+069-2,44,127,0|script|Celestia Mask5|32767,2,0
+{
+ warp "009-8", 56, 56;
+ mapmask 1 | 4;
+ end;
+}
+069-2,117,62,0|script|Celestia Mask6|32767,0,0
+{
+ warp "009-8", 79, 100;
+ mapmask 1 | 4;
+ end;
+}
+069-2,86,62,0|script|Celestia Mask7|32767,0,0
+{
+ warp "009-8", 87, 79;
+ mapmask 1 | 4;
+ end;
+}
+069-2,55,62,0|script|Celestia Mask8|32767,0,0
+{
+ warp "009-8", 87, 57;
+ mapmask 1 | 4;
+ end;
+}
+069-2,24,62,0|script|Celestia Mask9|32767,0,0
+{
+ warp "009-8", 79, 40;
+ mapmask 1 | 4;
+ end;
+}
+069-2,117,31,0|script|Celestia Mask10|32767,0,0
+{
+ warp "009-8", 33, 40;
+ mapmask 1 | 4;
+ end;
+}
+069-2,86,31,0|script|Celestia Mask11|32767,0,0
+{
+ warp "009-8", 24, 57;
+ mapmask 1 | 4;
+ end;
+}
+069-2,55,31,0|script|Celestia Mask12|32767,0,0
+{
+ warp "009-8", 24, 79;
+ mapmask 1 | 4;
+ end;
+}
+069-2,24,31,0|script|Celestia Mask13|32767,0,0
+{
+ warp "009-8", 32, 99;
+ mapmask 1 | 4;
+ end;
+}