diff options
author | Jesusaves <cpntb1@ymail.com> | 2021-04-11 15:11:22 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2021-04-11 15:11:22 -0300 |
commit | 356d9693d69c43f2a66f7e60aa10483803b50951 (patch) | |
tree | b99644d9eee85c07bf2d9c3dd6d9697af97fe419 /npc/functions/ghost.txt | |
parent | 4432d9c535e827ce47e4e06e2afa1dcbc6d6daa6 (diff) | |
download | serverdata-356d9693d69c43f2a66f7e60aa10483803b50951.tar.gz serverdata-356d9693d69c43f2a66f7e60aa10483803b50951.tar.bz2 serverdata-356d9693d69c43f2a66f7e60aa10483803b50951.tar.xz serverdata-356d9693d69c43f2a66f7e60aa10483803b50951.zip |
Add several changes from 2018 which had been excluded by accident =/
Diffstat (limited to 'npc/functions/ghost.txt')
-rw-r--r-- | npc/functions/ghost.txt | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/npc/functions/ghost.txt b/npc/functions/ghost.txt new file mode 100644 index 00000000..1325525b --- /dev/null +++ b/npc/functions/ghost.txt @@ -0,0 +1,36 @@ +function script SpawnGhost { + if ($GHOSTS_DISABLED) + goto L_Return; + + if (BaseLevel >= 40 && + (getmapname() == "026-1" || + getmapname() == "027-1" || + getmapname() == "027-2" || + getmapname() == "027-3" || + getmapname() == "027-4" || + getmapname() == "027-5")) + goto L_Spawn; + return; + +L_Spawn: + .@x = POS_X; + .@y = POS_Y; + + if (!(iscollision(getmapname(), .@x, .@y - 1))) set .@y, .@y - 1; // up + else if (!(iscollision(getmapname(), .@x, .@y + 1))) set .@y, .@y + 1; // down + else if (!(iscollision(getmapname(), .@x - 1, .@y))) set .@x, .@x - 1; // left + else if (!(iscollision(getmapname(), .@x + 1, .@y))) set .@x, .@x + 1; // right + // else on the player + + // FIXME (Is this a valid event label??) + if (@GHOST_MAP$ != "") + killmonster @GHOST_MAP$, "~GH~" + getcharid(0); + + @GHOST_MAP$ = getmapname(); + specialeffect(39, SELF, getcharid(3)); + monster getmapname(), .@x, .@y, strcharinfo(0), 1136, 1, "~GH~" + getcharid(0); + return; + +L_Return: + return; +} |