From b5d4e37e67ac1d2f1d4e8f5132906461d0f8f4e7 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Tue, 9 Apr 2019 22:39:09 +0000 Subject: Change Legion Main Hall Map Mask System --- npc/001-2-33/mapflags.txt | 3 ++- npc/001-2-33/triggers.txt | 45 ++++++++++++++++--------------- npc/functions/masks.txt | 68 +++++++++++++++-------------------------------- 3 files changed, 46 insertions(+), 70 deletions(-) (limited to 'npc') diff --git a/npc/001-2-33/mapflags.txt b/npc/001-2-33/mapflags.txt index 95e3a6ba..4882b03e 100644 --- a/npc/001-2-33/mapflags.txt +++ b/npc/001-2-33/mapflags.txt @@ -1,2 +1,3 @@ -001-2-33 mapflag mask 5 +001-2-33 mapflag mask 13 +001-2-33 mapflag nosave 001-2-33,34,42 001-2-33 mapflag town diff --git a/npc/001-2-33/triggers.txt b/npc/001-2-33/triggers.txt index 47a5ea90..e540869c 100644 --- a/npc/001-2-33/triggers.txt +++ b/npc/001-2-33/triggers.txt @@ -7,25 +7,25 @@ // Transition Top triggers 001-2-33,26,35,0 script #001-2-33LeftRemTop NPC_HIDDEN,0,2,{ OnTouch: - artisALRemTopMask; + artisALResetMask; close; } 001-2-33,27,35,0 script #001-2-33LeftAddTop NPC_HIDDEN,0,2,{ OnTouch: - artisALAddTopMask; + artisALTopMask; close; } 001-2-33,42,35,0 script #001-2-33RightRemTop NPC_HIDDEN,0,2,{ OnTouch: - artisALRemTopMask; + artisALResetMask; close; } 001-2-33,41,35,0 script #001-2-33RightAddTop NPC_HIDDEN,0,2,{ OnTouch: - artisALAddTopMask; + artisALTopMask; close; } @@ -33,69 +33,70 @@ OnTouch: 001-2-33,25,32,0 script #001-2-33LeftRemBot NPC_HIDDEN,1,0,{ OnTouch: - artisALRemBotMask; + artisALResetMask; close; } 001-2-33,25,31,0 script #001-2-33LeftAddBot NPC_HIDDEN,1,0,{ OnTouch: - artisALAddBotMask; + artisALBottomMask; close; } 001-2-33,43,32,0 script #001-2-33RightRemBot NPC_HIDDEN,1,0,{ OnTouch: - artisALRemBotMask; + artisALResetMask; close; } 001-2-33,43,31,0 script #001-2-33RightAddBot NPC_HIDDEN,1,0,{ OnTouch: - artisALAddBotMask; + artisALBottomMask; close; } // Warped location triggers -001-2-33,24,30,0 script #001-2-33WarpTopLeft NPC_HIDDEN,1,1,{ +001-2-33,24,30,0 script #001-2-33WarpTopLeft NPC_HIDDEN,0,0,{ OnTouch: - artisALUpdateMask; + artisALBottomMask; close; } -001-2-33,44,30,0 script #001-2-33WarpTopRight NPC_HIDDEN,1,1,{ +001-2-33,44,30,0 script #001-2-33WarpTopRight NPC_HIDDEN,0,0,{ OnTouch: - artisALUpdateMask; + artisALBottomMask; close; } -001-2-33,29,32,0 script #001-2-33WarpMidLeft NPC_HIDDEN,1,1,{ +// WarpMid is crazy and not working correctly, cause unknown. +001-2-33,29,34,0 script #001-2-33WarpMidLeft NPC_HIDDEN,1,1,{ OnTouch: - artisALUpdateMask; + artisALTopMask; close; } -001-2-33,39,32,0 script #001-2-33WarpMidRight NPC_HIDDEN,1,1,{ +001-2-33,39,34,0 script #001-2-33WarpMidRight NPC_HIDDEN,1,1,{ OnTouch: - artisALUpdateMask; + artisALTopMask; close; } -001-2-33,34,45,0 script #001-2-33WarpArtis NPC_HIDDEN,1,1,{ +001-2-33,34,45,0 script #001-2-33WarpArtis NPC_HIDDEN,2,3,{ OnTouch: - artisALUpdateMask; + artisALTopMask; close; } // Bottom Warp location triggers -001-2-33,43,38,0 script #001-2-33WarpBotLeft NPC_HIDDEN,1,0,{ +001-2-33,43,39,0 script #001-2-33WarpBotLeft NPC_HIDDEN,1,0,{ OnTouch: - artisALUpdateMask; + artisALResetMask; close; } -001-2-33,25,38,0 script #001-2-33WarpBotRight NPC_HIDDEN,1,0,{ +001-2-33,25,39,0 script #001-2-33WarpBotRight NPC_HIDDEN,1,0,{ OnTouch: - artisALUpdateMask; + artisALResetMask; close; } diff --git a/npc/functions/masks.txt b/npc/functions/masks.txt index 9fb54919..03c81630 100644 --- a/npc/functions/masks.txt +++ b/npc/functions/masks.txt @@ -4,65 +4,39 @@ // Description: // Triggers functions to add and remove masks. // Variables: -// none +// 4 - Top Mask +// 8 - Bottom Mask +// Default mask: 13 (Top + Bottom + Display mask) // Artis Aemil's Legion -function script artisALRemTopMask { - if ((getareausers("001-2-33", 23, 27, 45, 31) >= 1) || - (getareausers("001-2-33", 23, 32, 26, 38) >= 1) || - (getareausers("001-2-33", 42, 32, 45, 38) >= 1)) - { - removemapmask "001-2-33", 4; - } +function script artisALResetMask { + .@m=getmapmask("001-2-33"); + sendmapmask(.@m); return 0; } -function script artisALAddTopMask { - if ((getareausers("001-2-33", 23, 27, 45, 31) == 0) && - (getareausers("001-2-33", 23, 32, 26, 38) == 0) && - (getareausers("001-2-33", 42, 32, 45, 38) == 0)) - { - addmapmask "001-2-33", 4; - } +function script artisALTopMask { + addtimer 30, "artisALTopMaskDO::OnDoIt"; return 0; } -function script artisALRemBotMask { - if (getareausers("001-2-33", 23, 32, 45, 46) >= 1) - { - removemapmask "001-2-33", 8; - } +function script artisALBottomMask { + addtimer 30, "artisALBottomMaskDO::OnDoIt"; return 0; } -function script artisALAddBotMask { - if (getareausers("001-2-33", 23, 32, 45, 46) == 0) - { - addmapmask "001-2-33", 8; - } - return 0; +// Show bottom mask is the same as hiding top mask +- script artisALBottomMaskDO NPC_HIDDEN,{ +OnDoIt: + .@m=getmapmask("001-2-33"); + sendmapmask(.@m^4); } -function script artisALUpdateMask { - if (getareausers("001-2-33", 23, 32, 45, 46) >= 1) - { - removemapmask "001-2-33", 8; - } - else - { - addmapmask "001-2-33", 8; - } - if ((getareausers("001-2-33", 23, 27, 45, 31) >= 1) || - (getareausers("001-2-33", 23, 32, 26, 38) >= 1) || - (getareausers("001-2-33", 42, 32, 45, 38) >= 1)) - { - removemapmask "001-2-33", 4; - } - else - { - addmapmask "001-2-33", 4; - } - - return 0; +// Show top mask is the same as hiding bottom mask +- script artisALTopMaskDO NPC_HIDDEN,{ +OnDoIt: + .@m=getmapmask("001-2-33"); + sendmapmask(.@m^8); } + -- cgit v1.2.3-70-g09d2