Welcome to PGMZ! My goal is to make it easy for everyone to find and share great plugins for creating amazing games. As a plugin developer myself, I'm excited to grow this community with all of you.
NUUN Symbol Encounter - NUUN_SymbolEncounter.js
Plugin desc : Symbol encounter
License : MIT License
Author : NUUN
Website : https://github.com/nuun888/MZ/blob/master/NUUN_SymbolEncounter.js
Download Page : https://raw.githubusercontent.com/nuun888/MZ/master/NUUN_SymbolEncounter.js
File name : NUUN_SymbolEncounter.js
Help of plugin :
* @target MZ
* @plugindesc Symbol encounter
* @author NUUN
* @version 1.0.4
* @base NUUN_Base
* @base NUUN_EventRange
* @orderAfter NUUN_Base
*
* @help
* implements a symbol encounter system.
*
* This plugin requires the following plugins.
* NUUN_Base
* https://github.com/nuun888/MZ/blob/master/README/Base.md
* NUUN_EventRange
* https://github.com/nuun888/MZ/blob/master/README/EventRange.md
*
* Surprise attack and preemptive attack require a separate plug-in.
*
* Event Notes
* <SymbolEncEnemy:[id]> Events with this tag are symbol encounters.
* [id]:Symbol encounter setting ID
*
* plugin parameters
* Visible range
* <SymbolEncFindRange:besideRange,[lx],[rx]>
* Enlarges the contact judgment within the specified horizontal range. Orientation is ignored.
* [lx]:Contact left range of the event (positive integer)
* [ry]:Contact right range of the event (positive integer)
*
* <SymbolEncFindRange:verticalRange,[uy],[dy]>
* Enlarges the contact judgment within the specified vertical range. Orientation is ignored.
* [ux]:contact upper range of the event (positive integer)
* [dy]:contact lower extent of the event (positive integer)
*
* <SymbolEncFindRange:frontRange,[range]>
* Expands the contact detection from the specified event to the range directly in front.
* [range]:Contact range (integer)
*
* <SymbolEncFindRange:range,[x],[y]>
* Expands the contact detection around the specified range. If you enter 4, the trigger will be activated in the range of ±2 squares (5 squares) centered on the event.
* [x]:contact lateral extent of the event (an even positive integer)
* [y]:contact longitudinal extent of the event (an even positive integer)
*
* <SymbolEncFindRange:rangeEX,[x1],[y1],[x2],[y2],[x3],[y3],[x4],[y4]>
* Enlarge the contact judgment within the specified range from the event.
* If you want to specify left or above the event coordinates, enter it as a negative number.
* [x1]:Event contact range point AX coordinate (integer)
* [y1]:Event contact range point AY coordinate (integer)
* [x2]:Event contact range point BX coordinate (integer)
* [y2]:Event contact range point BY coordinate (integer)
* [x3]:Event contact range point CX coordinate (integer)
* [y3]:Event contact range point CY coordinate (integer)
* [x4]:Event contact range point DX coordinate (integer)
* [y4]:Event contact range point DY coordinate (integer)
*
* <SymbolEncFindRange:circle,[range],[rad]>
* Expand the contact judgment from the specified radius. By specifying the angle, the contact detection is expanded according to the angle from the front.
* [range]:contact range (integer)
* [rad]:Angle (0 to 180°) *Can be omitted.If omitted, 360°
*
* <SymbolEncFindRange:triangle,[range],[rad]>
* Expands the contact detection according to the angle from the front for the specified recognition range.
* [range]:Contact range from the front (integer)
* [rad]:Angle (0 to 180°)
*
* Escape conditions
* e:this event
* m:party member
* p:player
*
* Make settings for searching on the first page of the event.
* It will not appear if the appearance conditions do not match.
* Options and Priority are common to all pages. (Disabled when set individually)
* Autonomous Movement will be the setting at the time of exploration.
* Trigger goes into combat mode when the player and the event make contact. (Settings other than automatic execution and parallel processing)
*
* Individual setting
* Write comment on the execution contents of the event on each page.
* Configure each process independently. () is set by the trigger inside ().
* <SymbolEncMode:[mode]>
* [mode]
* 0:Explore
* 1:Find(Parallel)
* 2:Tracking
* 3:Escape
* 4:Battle(Autorun)
* 5:Lose(Parallel)
* 6:Victory(Parallel)
* 7:Player escape(Parallel)
* 8:Return
*
* If chase, escape, and predetermined positions are set individually, the contents of the event page 1 will not be executed at the time of contact, and the contents of the current event page will be executed.
*
*
* Plugin command
* You can ignore the normal mode transition and transition to the specified mode.
*
* Script
* this.getSymbolEncSpeed()
* Returns the current speed of symbol encounters.
*
* this.getSymbolEncMode()
* Returns the current mode id of the symbol encounter.
*
* this.getSymbolEncDefeat()
* Returns whether the current mode of symbol encounter is Defeat.
*
*
* Terms of Use
* This plugin is distributed under the MIT license.
*
* Log
* 5/5/2025 Ver.1.0.4
* Fixed an issue where an error would occur when specifying a dash reaction.
* 4/29/2023 Ver.1.0.3
* Fixed an issue where missing a player was not working properly.
* 2/17/2023 Ver.1.0.2
* Fixed an issue where battles would start continuously even if you set invincibility.
* Fixed to initialize when the page is not applicable.
* Added switch to hide symbol encounters.
* 2/12/2023 Ver.1.0.1
* Fixed an issue where Surprise Strike would not execute on recombat with the same symbol.
* 2/7/2023 Ver.1.0.0
* First edition.
*
*
* @command SymbolEncTrackingMode
* @desc Change the state of the event to tracking mode.
* @text Event tracking mode change
*
* @command SymbolEncBattleMode
* @desc Change event state to battle mode.
* @text Event battle mode change
*
* @command SymbolEncEscapeMode
* @desc Changes the state of the event to escape success mode.
* @text Event escape success mode change
*
* @command SymbolEncVictoryMode
* @desc Changes the state of the event to Victory Mode
* @text Event victory mode change
*
* @command SymbolEncResetMode
* @desc Changes the state of the event to initial mode.
* @text Event initial mode change
*
*
*
* @param SymbolEncountSetting
* @type struct<SymbolEncountList>[]
* @desc Configure symbol encounter settings.
* @text Symbol encounter setting
* @default ["{¥"Name¥":¥"¥",¥"SymbolEncountRange¥":¥"circle,8,45¥",¥"FindMode¥":¥"0¥",¥"NotObstacles¥":¥"false¥",¥"SightBush¥":¥"50¥",¥"PlayerSearch¥":¥"10¥",¥"GoHome¥":¥"false¥",¥"AllCharacterImg¥":¥"true¥",¥"CommonEvent¥":¥"0¥",¥"FindSetting¥":¥"------------------------------¥",¥"FindBalloonId¥":¥"1¥",¥"FindSE¥":¥"{¥¥¥"name¥¥¥":¥¥¥"Attack1¥¥¥",¥¥¥"volume¥¥¥":¥¥¥"90¥¥¥",¥¥¥"pitch¥¥¥":¥¥¥"100¥¥¥",¥¥¥"pan¥¥¥":¥¥¥"0¥¥¥"}¥",¥"FindCommonEvent¥":¥"0¥",¥"TrackingSetting¥":¥"------------------------------¥",¥"TrackingSpeed¥":¥"5¥",¥"SightRange¥":¥"12¥",¥"EscapeSetting¥":¥"------------------------------¥",¥"SightEscapeEval¥":¥"¥",¥"EscapeMode¥":¥"2¥",¥"EscapeSpeed¥":¥"5¥",¥"SightEscapeRange¥":¥"12¥",¥"LoseSetting¥":¥"------------------------------¥",¥"LoseBalloonId¥":¥"7¥",¥"LoseSE¥":¥"¥",¥"LoseCommonEvent¥":¥"0¥",¥"BattleSetting¥":¥"------------------------------¥",¥"BattleCommonEvent¥":¥"0¥",¥"DefeatSetting¥":¥"------------------------------¥",¥"DefeatCommonEvent¥":¥"0¥",¥"PlayerEscapeSetting¥":¥"------------------------------¥",¥"PlayerEscapeCommonEvent¥":¥"0¥"}"]
*
* @param EscapeInvincibleFrame
* @text Number of player escape invincible frames
* @desc Specifies the number of invincibility frames for the player when successfully escaping. disabled with 0
* @type number
* @default 200
*
* @param VictoryInvincibleFrame
* @text Number of invincible frames when player wins
* @desc Specifies the number of invincibility frames for the player when winning. disabled with 0
* @type number
* @default 0
*
* @param EventFreezesFrame
* @text Enemy freeze frame when successfully escaping
* @desc Freeze frames for symbol encounters on a successful escape.
* @type number
* @default 200
*
* @param FindFollower
* @text Find Follower
* @desc Recognize your followers. At the time of contact, followers are also subject to contact.
* @type boolean
* @default false
*
* @param SymbolEncountHideSwitch
* @desc A switch to hide symbol encounters.
* @text Hide symbol encounter switch
* @type switch
* @default 0
*