88 lines
2.9 KiB
JavaScript
88 lines
2.9 KiB
JavaScript
/*:
|
|
* @plugindesc Allows ☆ tiles to use the "Passage (4 dir)" setting in the tilesets tab of the database.
|
|
* @author Neon Black - Version 1.0
|
|
*
|
|
* @help ☆ Passability Fix v1.0
|
|
*
|
|
* V1.0 - 8.13.2015
|
|
*
|
|
* This plugin allows the user to define passage settings on ☆ passability
|
|
* tiles, similar to how normal O passability is defined. This plugin works on
|
|
* its own without any need for settings. It overwrites a single function but
|
|
* should not interfere with any other plugins. Nonetheless it should be placed
|
|
* high in the plugin list.
|
|
*
|
|
* This work by Neon Black is licensed under a Creative Commons Attribution 4.0
|
|
* International License. To view a copy of this license, visit
|
|
* http://creativecommons.org/licenses/by/4.0/. Permissions beyond the scope of
|
|
* this license may be available at neonblack.moe/terms.
|
|
*/
|
|
|
|
/*:ja
|
|
* @plugindesc ★タイルに対して、4方向の通行指定が可能になります。
|
|
* @author Neon Black - Version 1.0
|
|
*
|
|
* @help ☆ Passability Fix v1.0
|
|
*
|
|
* V1.0 - 8.13.2015
|
|
*
|
|
* このプラグインは、★タイルに対しても、
|
|
* ○タイル同様の4方向の通行指定ができるようになるプラグインです。
|
|
* このプラグインは設定不要で、独立して動作します。
|
|
* 1つのファンクションを上書きしますが、他のプラグインには干渉しません。
|
|
* プラグインリストの中では上位に置いておく必要があります。
|
|
*
|
|
* ■ライセンスポリシー
|
|
* This work by Neon Black is licensed under a Creative Commons Attribution 4.0
|
|
* International License. To view a copy of this license, visit
|
|
* http://creativecommons.org/licenses/by/4.0/. Permissions beyond the scope of
|
|
* this license may be available at neonblack.moe/terms.
|
|
*/
|
|
|
|
//------
|
|
// The following lines are the actual core code of the plugin. While you are
|
|
// certainly invited to look, modifying it may result in undesirable results.
|
|
// Modify at your own risk!
|
|
//------
|
|
|
|
//------
|
|
// Imported and namespace
|
|
//------
|
|
var Imported = Imported || {};
|
|
Imported.CP_StarPassabilityFix = 1.0;
|
|
|
|
//------
|
|
// Alias functions
|
|
//------
|
|
|
|
//------
|
|
// Destructive functions list
|
|
/*
|
|
Game_Map.prototype.checkPassage()
|
|
*/
|
|
|
|
// The only modified function....
|
|
Game_Map.prototype.checkPassage = function (x, y, bit) {
|
|
var flags = this.tilesetFlags();
|
|
var tiles = this.allTiles(x, y);
|
|
for (var i = 0; i < tiles.length; i++) {
|
|
var flag = flags[tiles[i]];
|
|
if ((flag & 0x10) !== 0) {
|
|
// [*] No effect on passage
|
|
if ((flag & bit) === 0) continue;
|
|
if ((flag & bit) === bit) return false;
|
|
} else {
|
|
if ((flag & bit) === 0)
|
|
// [o] Passable
|
|
return true;
|
|
if ((flag & bit) === bit)
|
|
// [x] Impassable
|
|
return false;
|
|
}
|
|
}
|
|
return false;
|
|
};
|
|
|
|
//------
|
|
// End of plugin
|
|
//------
|