OMORI_Android/www.eng/js/plugins/YEP_EventSpawner.js
2024-01-15 18:44:53 +03:00

751 lines
No EOL
26 KiB
JavaScript

//=============================================================================
// Yanfly Engine Plugins - Event Spawner
// YEP_EventSpawner.js
//=============================================================================
var Imported = Imported || {};
Imported.YEP_EventSpawner = true;
var Yanfly = Yanfly || {};
Yanfly.EventSpawn = Yanfly.EventSpawn || {};
Yanfly.EventSpawn.version = 1.02;
//=============================================================================
/*:
* @plugindesc v1.02 Spawn premade events at specific locations or random
* points marked by regions.
* @author Yanfly Engine Plugins
*
* @help
* ============================================================================
* Introduction
* ============================================================================
*
* WARNING: This plugin is best used with RPG Maker MV 1.5.0 or above! This is
* because the MV 1.5.0 editor allows for this plugin to be made in an orderly
* and efficient manner. Please make sure your RPG Maker MV software is up to
* date before using this plugin to make the most out of it.
*
* While in RPG Maker MV, there's the ability to make events hidden and reveal
* themselves to make it look like they've spawned out of nothing. However,
* there isn't an innate function to actually spawn an event from nothing. This
* plugin will provide users the ability to actually spawn an event that is
* premade and ready from another map(s).
*
* A spawned event will contain all the data from its original source, from the
* event's page conditions to the event commands to the graphical settings. And
* should the original source be updated in the future, the spawned event will
* update as well. Spawned events can also be preserved and remain on the map
* if the player reenters the map or reloads a save.
*
* More information will be explained in the Instructions section of this
* plugin's help file.
*
* ============================================================================
* Instructions
* ============================================================================
*
* Use the plugin parameter 'Template Maps' to select which maps your game will
* preload maps from. These maps will contain the events that you want other
* events to spawn as. Any kind of event can be used as a spawn template, from
* trigger events to auto run events to parallel events.
*
* If you are using RPG Maker MV 1.5.0+ and wish to make use of template names,
* add them through the 'Template Names' plugin parameter. The data from the
* Template Names parameters can be changed and all events in-game that use
* script calls with the respective Template Name will be updated accordingly.
*
* --------------------
* Spawning Limitations
* --------------------
*
* However, there are some rules that must be applied before an event can be
* spawned at a desired location. They are as follows:
*
* 1. The spawn location must not be occupied by another event, even if the
* event is of a different priority level. This is to prevent overstacking
* and causing problems for the RPG Maker MV engine.
*
* 2. The spawn location cannot have a vehicle present. This is to prevent
* priority conflicts with the event when triggered.
*
* 3. The spawn location must exist on the map. It cannot have coordinates
* that are outside of the map's boundaries.
*
* As long as these rules are followed, the event will spawn properly provided
* you follow the format used for the Script Calls listed in the section below.
*
* ============================================================================
* Script Calls
* ============================================================================
*
* To spawn events into your maps, use the following script calls:
*
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* Spawn Event - Script Calls
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*
* This will spawn a new event using the information from 'mapId' 'eventId'
* as its base. The new event's ID will start at 1001 (or whatever you've
* set the plugin parameter 'ID Starting Range' to) and onward.
*
* - - -
*
* Yanfly.SpawnEventAt(mapId, eventId, x, y, preserved)
* - This will spawn the desired event into the specific coordinates.
* - Replace 'mapId' with the ID of the map with the event to morph into.
* - Replace 'eventId' with the ID of the event to morph the target into.
* - Replace 'x' with the X position on the map to spawn the event at.
* - Replace 'y' with the Y position on the map to spawn the event at.
* - The X and Y positions MUST NOT have an event present at that location.
* - Replace 'preserved' with 'true' or 'false' to preserve the spawn.
*
* * Example: Yanfly.SpawnEventAt(1, 5, 30, 40, true)
* - Map 1's Event 5 will be spawned at X, Y coordinates: 30, 40.
* - This event will be preserved.
*
* * Example: Yanfly.SpawnEventAt(2, 10, 50, 60, false)
* - Map 2's Event 10 will be spawned at X, Y coordinates: 50, 60.
* - This event will NOT be preserved.
*
* - - -
*
* Yanfly.SpawnEventTemplateAt(template, x, y, preserved)
* - This will spawn the desired event by template name at the coordinates.
* - Replace 'template' with a name from the 'Template Names' plugin param.
* This must be in 'string' form (surround the name with quotes).
* - Replace 'x' with the X position on the map to spawn the event at.
* - Replace 'y' with the Y position on the map to spawn the event at.
* - The X and Y positions MUST NOT have an event present at that location.
* - Replace 'preserved' with 'true' or 'false' to preserve the spawn.
*
* * Example: Yanfly.SpawnEventTemplateAt('StrawberryPlant', 30, 40, true)
* - The 'StrawberryPlant' template from the plugin parameters will be
* spawned at X, Y coordinates: 30, 40.
* - This event will be preserved.
*
* * Example: Yanfly.SpawnEventTemplateAt('MineralVein', 50, 60, false)
* - The 'MineralVein' template from the plugin parameters will be
* spawned at X, Y coordinates: 50, 60.
* - This event will NOT be preserved.
*
* - - -
*
* Yanfly.SpawnEventInRegion(mapId, eventId, region, preserved)
* - This will spawn the desired event at a random place within a region(s).
* - Replace 'mapId' with the ID of the map with the event to morph into.
* - Replace 'eventId' with the ID of the event to morph the target into.
* - Replace 'region' with the ID of the region to spawn the event into.
* If you want to use multiple regions, place them in an array.
* - Replace 'preserved' with 'true' or 'false' to preserve the spawn.
*
* * Example: Yanfly.SpawnEventInRegion(1, 5, 20, true)
* - Map 1's Event 5 will be spawned at a random point in region 20.
* - This event will be preserved.
*
* * Example: Yanfly.SpawnEventInRegion(2, 10, [20, 25], true)
* - Map 2's Event 10 will be spawned at a random point in regions 20 or 25.
* - This event will NOT be preserved.
*
* - - -
*
* Yanfly.SpawnEventTemplateInRegion(template, region, preserved)
* - This will spawn the desired event at a random place within a region(s).
* - Replace 'template' with a name from the 'Template Names' plugin param.
* This must be in 'string' form (surround the name with quotes).
* - Replace 'region' with the ID of the region to spawn the event into.
* If you want to use multiple regions, place them in an array.
* - Replace 'preserved' with 'true' or 'false' to preserve the spawn.
*
* * Example: Yanfly.SpawnEventTemplateInRegion('StrawberryPlant', 20, true)
* - The 'StrawberryPlant' template from the plugin parameters will be
* spawned at a random point in region 20.
* - This event will be preserved.
*
* * Example: Yanfly.SpawnEventTemplateInRegion('MineralVein', [20, 25], true)
* - The 'MineralVein' template from the plugin parameters will be
* spawned at a random point in regions 20 or 25.
* - This event will NOT be preserved.
*
* - - -
*
* * Note: If a spawned event is preserved, it will remain on that map when the
* map is reloaded from a save file or revisited from a different map. If an
* event is set up to not be preserved, it will automatically despawn itself
* upon leaving the map.
*
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* Obtaining Spawned Event Data - Script Calls
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*
* $gameMap.event(eventId)
* - This will grab the event as an object.
* - Replace 'eventId' with the ID of the event you wish to grab.
* - ID's past 1000 (or whatever you've set it to in the plugin parameters)
* are spawned events.
*
* - - -
*
* $gameMap.FirstSpawnedEvent()
* - This will grab the first available spawned event as an object.
* - If the first event has been despawned, the next on in the list will be
* returned as an object. If there are no spawned events left, this script
* call will return an undefined value.
*
* - - -
*
* $gameMap.FirstSpawnedEventID()
* - This will grab the first available spawned event's ID as a number.
* - If the first event has been despawned, the next on in the list will be
* returned as a number. If there are no spawned events left, this script
* call will return a value of 0.
*
* - - -
*
* $gameMap.LastSpawnedEvent()
* - This will grab the last available spawned event as an object.
* - If the last event has been despawned, the previous event in the list
* will be returned as an object. If there are no spawned events left, this
* script call will return an undefined value.
*
* - - -
*
* $gameMap.LastSpawnedEventID()
* - This will grab the last available spawned event's ID as a number.
* - If the last event has been despawned, the previous event ID on in the
* list will be returned as a number. If there are no spawned events left,
* this script call will return a value of 0.
*
* - - -
*
* $gameSystem.getMapSpawnedEventTotal()
* - Returns the total number of spawned events on that map ever (this number
* will include the spawned events that have despawned).
*
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* Despawn Event - Script Calls
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*
* Yanfly.DespawnEventID(eventId)
* - Despawn a target spawned event if you have the spawned event's ID.
* - Replace 'eventId' with the spawned event's ID.
*
* * Example: Yanfly.DespawnEventID(1001)
* - This will despawn event 1001 on the current map.
* - The latest spawned event is no longer preserved.
*
* * Example: Yanfly.DespawnEventID($gameMap.LastSpawnedEventID())
* - This will despawn the last spawned event based on ID on the current map.
* - Event 1001 is no longer preserved.
*
* - - -
*
* Yanfly.DespawnEvent(event)
* - Despawn a target spawned event object.
* - Replace 'event' with the spawned event object.
*
* * Example: Yanfly.DespawnEvent($gameMap.FirstSpawnedEvent())
* - This will despawn the first spawned event on the current map.
* - First spawned event is no longer preserved.
*
* - - -
*
* Yanfly.ClearSpawnedEvents()
* - Clears the current map of all spawned events.
*
* - - -
*
* Yanfly.ClearSpawnedEvents(mapId)
* - Clears a specific map of all spawned events.
* - Replace 'mapId' with the mpa you wish to clear of spawned events.
*
* * Example: Yanfly.ClearSpawnedEvents(10)
* - Clears all spawned events on map 10.
*
* * Note: When a spawned event is despawned, any preserved data will also be
* removed in addition to the removed spawned event.
*
* ============================================================================
* Changelog
* ============================================================================
*
* Version 1.01:
* - Bugfixed for irregular spawn ID's.
*
* Version 1.00:
* - Finished Plugin!
*
* ============================================================================
* End of Helpfile
* ============================================================================
*
* @param ---General---
* @default
*
* @param TemplateMaps
* @text Template Maps
* @parent ---General---
* @type number[]
* @min 1
* @max 999
* @desc A list of all the ID's of the maps that will be preloaded to
* serve as template maps for this plugin.
* @default ["1"]
*
* @param TemplateNames
* @text Template Names
* @parent ---General---
* @type struct<Template>[]
* @desc A list of templates made by name so you can use names
* instead of mapID and eventID combinations with script calls.
* @default []
*
* @param IdStartRange
* @text ID Starting Range
* @parent ---General---
* @type number[]
* @min 1000
* @desc The starting range for the ID's of the events spawned.
* Do not input a number under 1000. Recommended: 1000
* @default 1000
*
*/
/* ----------------------------------------------------------------------------
* Template Parameter Structure
* ---------------------------------------------------------------------------
*/
/*~struct~Template:
*
* @param Name
* @desc Name of the template. The template is used with
* the script call:
* @default Untitled
*
* @param MapID
* @text Map ID
* @min 1
* @max 999
* @desc The ID of the map to be loaded when using this template.
* Note: Will automatically add this ID to preloaded maps list.
* @default 1
*
* @param EventID
* @text Event ID
* @min 1
* @max 999
* @desc The ID of the event to be spawned when using this template.
* @default 1
*
*/
//=============================================================================
//=============================================================================
// Parameter Variables
//=============================================================================
Yanfly.Parameters = PluginManager.parameters('YEP_EventSpawner');
Yanfly.Param = Yanfly.Param || {};
Yanfly.Param.EventSpawnerData = eval(Yanfly.Parameters['TemplateMaps']);
Yanfly.Param.EventSpawnerList = JSON.parse(Yanfly.Parameters['TemplateNames']);
Yanfly.Param.EventSpawnerID = Number(Yanfly.Parameters['IdStartRange']);
Yanfly.PreloadedMaps = Yanfly.PreloadedMaps || [];
Yanfly.loadMapData = function (mapId) {
mapId = mapId.clamp(1, 999);
if (Yanfly.PreloadedMaps[mapId]) return;
if (Utils.isOptionValid("test")) {
var src = 'Map%1.json'.format(mapId.padZero(3));
var xhr = new XMLHttpRequest();
var url = 'data/' + src;
xhr.open('GET', url);
xhr.overrideMimeType('application/json');
xhr.onload = function () {
if (xhr.status < 400) {
Yanfly.PreloadedMaps[mapId] = JSON.parse(xhr.responseText);
}
};
xhr.onerror = this._mapLoader || function () {
DataManager._errorUrl = DataManager._errorUrl || url;
};
Yanfly.PreloadedMaps[mapId] = null;
xhr.send();
}
else {
const path = require('path');
const fs = require('fs');
var base = path.dirname(process.mainModule.filename);
let filename = 'Map%1.json'.format(mapId.padZero(3));
Yanfly.PreloadedMaps[mapId] = null;
fs.readFile(base + "/data/" + filename, (err, data) => {
Yanfly.PreloadedMaps[mapId] = JSON.parse(data.toString());
})
}
};
Yanfly.SetupParameters = function () {
// Process Template Names
Yanfly.EventSpawn.Template = {};
var length = Yanfly.Param.EventSpawnerList.length;
for (var i = 0; i < length; ++i) {
var data = JSON.parse(Yanfly.Param.EventSpawnerList[i]);
var name = data.Name.toUpperCase();
Yanfly.loadMapData(parseInt(data.MapID));
Yanfly.EventSpawn.Template[name] = {
mapId: data.MapID,
eventId: data.EventID
}
}
// Preload Map Data List
var data = Yanfly.Param.EventSpawnerData;
var length = data.length;
for (var i = 0; i < length; ++i) {
var mapId = parseInt(data[i]);
Yanfly.loadMapData(mapId)
}
};
Yanfly.SetupParameters();
//=============================================================================
// Yanfly Spawn Event - Script Calls
//=============================================================================
Yanfly.SpawnEventFailChecks = function (mapId, eventId, x, y) {
if (!Yanfly.PreloadedMaps[mapId]) {
if ($gameTemp.isPlaytest()) {
console.log('Map ID ' + mapId + ' has not been preloaded. ' +
'It cannot be used for the Spawn Spawn function.');
}
return true;
}
if (!Yanfly.PreloadedMaps[mapId].events[eventId]) {
if ($gameTemp.isPlaytest()) {
console.log('Map ID ' + mapId + ', Event ID ' + eventId + ' does not ' +
'exist. It cannot be used for the Spawn Event function.');
}
return true;
}
if ($gameMap.eventsXy(x, y).length > 0) {
if ($gameTemp.isPlaytest()) {
console.log('Cannot spawn event at ' + x + ', ' + y + '.' +
'There is already an event there.');
}
return true;
}
if ($gameMap.boat().posNt(x, y) || $gameMap.ship().posNt(x, y)) {
if ($gameTemp.isPlaytest()) {
console.log('Cannot spawn event at ' + x + ', ' + y + '.' +
'There is a vehicle there.');
}
return true;
}
if (x < 0 || x >= $gameMap.width() || y < 0 || y >= $gameMap.height()) {
if ($gameTemp.isPlaytest()) {
console.log('Cannot spawn event at ' + x + ', ' + y + '.' +
"This is outside of the map's boundaries.");
}
return true;
}
return false;
};
Yanfly.SpawnEvent = function (mapId, eventId, x, y, preserved) {
if ($gameParty.inBattle()) return;
if (Yanfly.SpawnEventFailChecks(mapId, eventId, x, y)) return;
preserved = preserved || false;
$gameMap.spawnEvent(mapId, eventId, x, y, preserved);
};
Yanfly.SpawnEventAt = function (mapId, eventId, x, y, preserved) {
Yanfly.SpawnEvent(mapId, eventId, x, y, preserved);
};
Yanfly.SpawnEventInRegion = function (mapId, eventId, regions, preserved) {
if (regions.constructor !== Array) regions = [regions];
var data = $gameMap.validSpawnPoints(regions);
if (data.length <= 0) return;
random = data[Math.floor(Math.random() * data.length)];
Yanfly.SpawnEvent(mapId, eventId, random[0], random[1], preserved);
};
Yanfly.SpawnEventTemplate = function (template, x, y, preserved) {
var str = template.toUpperCase();
if (Yanfly.EventSpawn.Template[str]) {
var mapId = Yanfly.EventSpawn.Template[str].mapId;
var eventId = Yanfly.EventSpawn.Template[str].eventId;
Yanfly.SpawnEvent(mapId, eventId, x, y, preserved);
} else {
console.log('Template ' + template + ' does not exist to spawn from!');
}
};
Yanfly.SpawnEventTemplateAt = function (template, x, y, preserved) {
Yanfly.SpawnEventTemplate(template, x, y, preserved);
};
Yanfly.SpawnEventTemplateInRegion = function (template, regions, preserved) {
var str = template.toUpperCase();
if (Yanfly.EventSpawn.Template[str]) {
var mapId = Yanfly.EventSpawn.Template[str].mapId;
var eventId = Yanfly.EventSpawn.Template[str].eventId;
Yanfly.SpawnEventInRegion(mapId, eventId, regions, preserved);
} else {
console.log('Template ' + template + ' does not exist to spawn from!');
}
};
Yanfly.DespawnEvent = function (ev) {
if (!ev) return;
var eventId = ev.eventId();
if (!ev.this._spawned) {
if ($gameTemp.isPlaytest()) {
console.log('Event ' + eventId + ' is not a valid spawned event.');
return;
}
}
Yanfly.DespawnEventID(eventId);
};
Yanfly.DespawnEventID = function (eventId) {
if (eventId < Yanfly.Param.EventSpawnerID) {
if ($gameTemp.isPlaytest()) {
console.log('Event ID ' + eventId + ' is not a valid spawned event ID.');
return;
}
}
$gameMap.despawnEventId(eventId);
};
Yanfly.ClearSpawnedEvents = function (mapId) {
mapId = mapId || $gameMap.mapId();
var data = $gameSystem.getMapSpawnedEventData(mapId);
var length = data.length;
for (var i = 1; i < length; ++i) {
var eventData = data[i];
if (!eventData) continue;
var eventId = eventData.eventId();
if (mapId === $gameMap.mapId()) {
Yanfly.DespawnEventID(eventId);
} else {
data[eventId - Yanfly.Param.EventSpawnerID] = null;
}
}
};
//=============================================================================
// Game_System
//=============================================================================
Yanfly.EventSpawn.Game_System_initialize = Game_System.prototype.initialize;
Game_System.prototype.initialize = function () {
Yanfly.EventSpawn.Game_System_initialize.call(this);
this.initEventSpawner()
};
Game_System.prototype.initEventSpawner = function () {
this._MapSpawnedEventData = [];
};
Game_System.prototype.getMapSpawnedEventData = function (mapId) {
if (this._MapSpawnedEventData === undefined) this.initEventSpawner();
this._MapSpawnedEventData[mapId] = this._MapSpawnedEventData[mapId] || [null];
return this._MapSpawnedEventData[mapId];
};
Game_System.prototype.getMapSpawnedEventTotal = function (mapId) {
return this.getMapSpawnedEventData(mapId).length - 1;
};
Game_System.prototype.removeTemporaryMapSpawnedEvents = function (mapId) {
var data = this.getMapSpawnedEventData(mapId);
var length = data.length;
for (var i = 1; i < length; ++i) {
var eventData = data[i];
if (!eventData) continue;
if (eventData._spawnPreserved) continue;
data[i] = null;
}
};
//=============================================================================
// Game_Map
//=============================================================================
Yanfly.EventSpawn.Game_Map_setup = Game_Map.prototype.setup;
Game_Map.prototype.setup = function (mapId) {
this.setupSpawnedEvents(mapId);
Yanfly.EventSpawn.Game_Map_setup.call(this, mapId);
this.restoreSpawnedEvents();
};
Game_Map.prototype.setupSpawnedEvents = function (mapId) {
if (mapId !== this.mapId() && $gamePlayer) {
$gameSystem.removeTemporaryMapSpawnedEvents(this.mapId())
}
this._spawnedEvents = $gameSystem.getMapSpawnedEventData(mapId);
};
Game_Map.prototype.restoreSpawnedEvents = function () {
var length = this._spawnedEvents.length;
for (var i = 0; i < length; ++i) {
var spawnedEvent = this._spawnedEvents[i];
if (!spawnedEvent) continue;
this._events[i + Yanfly.Param.EventSpawnerID] = spawnedEvent;
spawnedEvent._pageIndex = -2;
this._needsRefresh = true;
}
};
Game_Map.prototype.spawnEvent = function (mapId, eventId, x, y, preserved) {
var spawnId = this._spawnedEvents.length + Yanfly.Param.EventSpawnerID;
$gameTemp._SpawnData = {
baseMapId: this.mapId(),
spawnId: spawnId,
mapId: mapId,
eventId: eventId,
x: x,
y: y,
preserved: preserved
};
var spawnedEvent = new Game_Event(mapId, eventId);
this._events[spawnId] = spawnedEvent;
this._spawnedEvents[spawnId - Yanfly.Param.EventSpawnerID] = spawnedEvent;
$gameTemp._SpawnData = undefined;
};
Game_Map.prototype.despawnEventId = function (eventId) {
if (eventId < Yanfly.Param.EventSpawnerID) return;
if (!this._spawnedEvents) return;
var ev = this.event(eventId);
ev.locate(-1, -1);
this.eraseEvent(eventId);
this._spawnedEvents[eventId - Yanfly.Param.EventSpawnerID] = null;
};
Game_Map.prototype.validSpawnPoints = function (regions) {
var data = [];
var width = this.width();
var height = this.height();
for (var x = 0; x < width; ++x) {
for (var y = 0; y < height; ++y) {
if (!regions.contains(this.regionId(x, y))) continue;
if (this.eventsXy(x, y).length > 0) continue;
if ($gamePlayer.x == x && $gamePlayer.y == y) continue;
if (this.boat().posNt(x, y)) continue;
if (this.ship().posNt(x, y)) continue;
data.push([x, y]);
}
}
return data;
};
Game_Map.prototype.FirstSpawnedEvent = function () {
var length = this._spawnedEvents.length;
for (var i = 0; i < length; ++i) {
var eventData = this._spawnedEvents[i];
if (eventData) return eventData;
}
return undefined;
};
Game_Map.prototype.FirstSpawnedEventID = function () {
var eventData = this.FirstSpawnedEvent();
if (eventData) {
return eventData.eventId();
} else {
return 0;
}
};
Game_Map.prototype.LastSpawnedEvent = function () {
var length = this._spawnedEvents.length;
for (var i = length; i >= 0; --i) {
var eventData = this._spawnedEvents[i];
if (eventData) return eventData;
}
return undefined;
};
Game_Map.prototype.LastSpawnedEventID = function () {
var eventData = this.LastSpawnedEvent();
if (eventData) {
return eventData.eventId();
} else {
return 0;
}
};
//=============================================================================
// Game_Event
//=============================================================================
Yanfly.EventSpawn.Game_Event_initialize = Game_Event.prototype.initialize;
Game_Event.prototype.initialize = function (mapId, eventId) {
this._spawned = !!$gameTemp._SpawnData;
this.initPreSpawnEventData();
Yanfly.EventSpawn.Game_Event_initialize.call(this, mapId, eventId);
this.initPostSpawnEventData();
};
Game_Event.prototype.initPreSpawnEventData = function () {
if ($gameTemp._SpawnData === undefined) return;
var data = $gameTemp._SpawnData;
this._spawnData = data;
this._spawned = true;
this._pageIndex = -2;
this._mapId = data.baseMapId;
this._eventId = data.spawnId;
this._spawnId = data.spawnId;
this._spawnMapId = data.mapId;
this._spawnEventId = data.eventId;
this._spawnPreserved = data.preserved;
};
Game_Event.prototype.initPostSpawnEventData = function () {
if ($gameTemp._SpawnData === undefined) return;
var data = $gameTemp._SpawnData;
this._mapId = data.baseMapId;
this._eventId = data.spawnId;
this.locate(data.x, data.y);
this.refresh();
SceneManager._scene._spriteset.createSpawnedEvent(this);
};
Yanfly.EventSpawn.Game_Event_eventId = Game_Event.prototype.eventId;
Game_Event.prototype.eventId = function () {
if (this._spawned) {
return this._spawnId;
} else {
return Yanfly.EventSpawn.Game_Event_eventId.call(this);
}
};
Yanfly.EventSpawn.event = Game_Event.prototype.event;
Game_Event.prototype.event = function () {
if (this._spawned) {
return Yanfly.PreloadedMaps[this._spawnMapId].events[this._spawnEventId];
} else {
return Yanfly.EventSpawn.event.call(this);
}
};
//=============================================================================
// Spriteset_Map
//=============================================================================
Spriteset_Map.prototype.createSpawnedEvent = function (target) {
this._characterSprites = this._characterSprites || [];
var length = this._characterSprites.length;
this._characterSprites[length] = new Sprite_Character(target);
this._characterSprites[length].update();
this._tilemap.addChild(this._characterSprites[length]);
};
//=============================================================================
// End of File
//=============================================================================