public

Rpg Maker Developers Group

Simple enough for a child, powerful enough for a developer

2 Followers

MVEnemyBook v1.3 - SkottyTV + DragonPC

BMM Archive · July 15, 2026

Preserved forum archive. This topic stores the original first post and locally mirrored RPG Maker Web attachments when available. It is posted by the BMMPlay archive account, not by the original creator.

Original Source

  • Original title: EnemyBook v1.3 - SkottyTV + DragonPC
  • Original author: dragonpc
  • Original date: November 3, 2015
  • Source thread: https://forums.rpgmakerweb.com/threads/enemybook-v1-3-skottytv-dragonpc.49130/
  • Source forum path: Game Development Engines > RPG Maker Javascript Plugins > JS Plugin Releases (RMMV)

Summary

EnemyBook v1.3a​ Creator name  - Yoji Ojima (Compatibility with YEP) / + SkottyTV (thx to DragonPC) Introduction

Archived First Post

EnemyBook v1.3a



Creator name

 - Yoji Ojima (Compatibility with YEP) / + SkottyTV (thx to DragonPC)

Introduction

Improves the Default EnemyBook.

Features:


* SkottyTV Update 1 ->

 *  

 * - Decide if enemys will get an entry automaticly when they appear/transform!

 * - Now you can add an Enemy by a variable value!

 * - Able to add a third info line (desc3)!

 * - Advanced Visual upgrades!

 *

 * SkottyTV Update 2 ->

 *

 * - Decide how many items appear in one row!

 * - Decide if you want to use the Gold Icon from Yanfly Core Engine!

 *

 * SkottyTV Update 3 ->

 *

 * - Decide if you want to halve the Index height.

 * - Advanced Visual upgrades!

 * - Pulsing animation upgrade!

 * - Use switches to enable different information!

 *   (EXP, Gold, Items and Parameters)

 *


 * DragonPC (bug fix) 3a ->

 *

 * - Fixed clipping of Description window 3rd line text at smallest resolution.

 * - Fixed Clipping of the Gold icon at smallest resolution.

 * - Fixed Clipping Of "---Status---" String in Status Window, at smallest resolution.



Screenshots









How to Use

Download from either link and put it in your .../js/plugins folder.

Dropbox V 1.3a

Mirror 2 (not updated)

Script



//=============================================================================

// EnemyBook.js

//=============================================================================

 

/*:

 * @plugindesc v1.03a + SkottyTV Update 03 // Displays detailed statuses of enemys.

 * @author Yoji Ojima (Compatibility with YEP) / + SkottyTV (thx to DragonPC)

 *

 * @param ----- Functions -----

 * 

 * @param Unknown Data

 * @desc The index name for an unknown enemy.

 * @default ??????

 *

 * @param AutoFill

 * @desc Decide if enemys will automaticly show up in the book when defeated

 * @default false

 *

 * @param Gold Icon

 * @desc Decide if you want to use the Gold Icon from                   Yanfly Core Engine. (true or false)

 * @default true

 * 

 * @param ID before Name

 * @desc Decide if enemys will have the ID number in front of their name

 * @default true

 *

 * @param Enemys in Row

 * @desc Decide how many enemys you want to show in one row.            (default 1, maximum is 4 !)

 * @default 1

 *

 * @param ----- Visuals -----

 *

 * @param Half Index Height

 * @desc Decide if you want to half the Index height.                   (default true)

 * @default true

 *

 * @param Show Status Switch

 * @desc Choose the switch ID that shows the status. (default 0)

 * @default 0

 *

 * @param Show EXP Switch

 * @desc Choose the switch ID that shows the EXP.   (default 0)

 * @default 0

 *

 * @param Show Gold Switch

 * @desc Choose the switch ID that shows the Gold.  (default 0)

 * @default 0

 *

 * @param Show Items Switch

 * @desc Choose the switch ID that shows the Items. (default 0)

 * @default 0

 *

 * @param ----- Animation -----

 *

 * @param Pulsing Enemy

 * @desc Decide if you want to display an animated enemy.               (default true)

 * @default true

 *

 * @param Pulsing Intensity

 * @desc Decide how strong the animation should be.               Higher number = Less Intensity (default 4)

 * @default 4

 * 

 * @help

 *

 * ============================================================================

 * SkottyTV Update 01 ->

 *

 * - Decide if enemys will get an entry automaticly when they appear/transform!

 * - Now you can add an Enemy by a variable value!

 * - Able to add a third info line (desc3)!

 * - Advanced Visual upgrades!

 *

 * SkottyTV Update 02 ->

 * 

 * - Decide how many columns appear in one row!

 * - Decide if you want to use the Gold Icon from Yanfly Core Engine!

 *

 * SkottyTV Update 03 ->

 * 

 * - Decide if you want to half the Index height.

 * - Advanced Visual upgrades!

 * - Pulsing animation upgrade!

 * - Use switches to enable different information!

 *   (EXP, Gold, Items and Parameters)

 *

 * DragonPC (bug fix) 3a ->

 *

 * - Fixed clipping of Description window 3rd line text at smallest resolution.

 * - Fixed Clipping of the Gold icon at smallest resolution.

 * - Fixed Clipping Of "---Status---" String in Status Window, at smallest resolution.

 * ============================================================================

 *

 * Plugin Command:

 *   EnemyBook open         # Open the enemy book screen

 *   EnemyBook add 3        # Add enemy #3 to the enemy book

 *   EnemyBook addvar 10    # Add enemy (ID) that is in variable 10

 *   EnemyBook remove 4     # Remove enemy #4 from the enemy book

 *   EnemyBook complete     # Complete the enemy book

 *   EnemyBook clear        # Clear the enemy book

 *

 * Enemy Note:

 *   <desc1:The mighty Duck>   # Description text in the enemy book, line 1

 *   <desc2:This is Line 2>    # Description text in the enemy book, line 2

 *   <desc3:Some Info here?>   # Description text in the enemy book, line 3

 *   <book:no>                 # This enemy does not appear in the enemy book

 *

 * ============================================================================

 *

 * Investigate Skill Tutorial:

 * (You will need YanFly´s Battle Engine Core and ActSeqPack1 to get it work)

 *

 * - First set the "AutoFill" option of this plugin to false

 * - Now create a skill which calls a common event X and have the following

 *   in its notebox:

 *   <Target Action>

 *    Change Variable Y = target._enemyId

 *   </Target Action>

 * - Now in the common event X call a Plugin-Line and write:

 *   EnemyBook addvar Y

 * - Done!

 *

 * (X and Y is a number you choose)

 */

 

/*:ja

 * @plugindesc モンスター図鑑です。敵キャラの詳細なステータスを表示します。

 * @author Yoji Ojima (Compatibility with YEP) / + SkottyTV (thx to DragonPC)

 *

* @param ----- Functions -----

 * 

 * @param Unknown Data

 * @desc The index name for an unknown enemy.

 * @default ??????

 *

 * @param AutoFill

 * @desc Decide if enemys will automaticly show up in the book when defeated

 * @default false

 *

 * @param Gold Icon

 * @desc Decide if you want to use the Gold Icon from                   Yanfly Core Engine. (true or false)

 * @default true

 * 

 * @param ID before Name

 * @desc Decide if enemys will have the ID number in front of their name

 * @default true

 *

 * @param Enemys in Row

 * @desc Decide how many enemys you want to show in one row.            (default 1, maximum is 4 !)

 * @default 1

 *

 * @param ----- Visuals -----

 *

 * @param Half Index Height

 * @desc Decide if you want to half the Index height.                   (default true)

 * @default true

 *

 * @param Show Status Switch

 * @desc Choose the switch ID that shows the status. (default 0)

 * @default 0

 *

 * @param Show EXP Switch

 * @desc Choose the switch ID that shows the EXP.   (default 0)

 * @default 0

 *

 * @param Show Gold Switch

 * @desc Choose the switch ID that shows the Gold.  (default 0)

 * @default 0

 *

 * @param Show Items Switch

 * @desc Choose the switch ID that shows the Items. (default 0)

 * @default 0

 *

 * @param ----- Animation -----

 *

 * @param Pulsing Enemy

 * @desc Decide if you want to display an animated enemy.               (default true)

 * @default true

 *

 * @param Pulsing Intensity

 * @desc Decide how strong the animation should be.               Higher number = Less Intensity (default 4)

 * @default 4

 * 

 * @help

 *

 * ============================================================================

 * SkottyTV Update 01 ->

 *

 * - Decide if enemys will get an entry automaticly when they appear/transform!

 * - Now you can add an Enemy by a variable value!

 * - Able to add a third info line (desc3)!

 * - Advanced Visual upgrades!

 *

 * SkottyTV Update 02 ->

 * 

 * - Decide how many columns appear in one row!

 * - Decide if you want to use the Gold Icon from Yanfly Core Engine!

 *

 * SkottyTV Update 03 ->

 * 

 * - Decide if you want to half the Index height.

 * - Advanced Visual upgrades!

 * - Pulsing animation upgrade!

 * - Use switches to enable different informations!

 *   (EXP, Gold, Items and Parameters)

 * 

 * DragonPC (bug fix) 3a ->

 *

 * - Fixed clipping of Description window 3rd line text at smallest resolution.

 * - Fixed Clipping of the Gold icon at smallest resolution.

 * - Fixed Clipping Of "---Status---" String in Status Window, at smallest resolution.

 * ============================================================================

 *

 * プラグインコマンド:

 *   EnemyBook open         # 図鑑画面を開く

 *   EnemyBook add 3        # 敵キャラ3番を図鑑に追加

 *   EnemyBook addvar 10    # Add enemy that is in variable 10

 *   EnemyBook remove 4     # 敵キャラ4番を図鑑から削除

 *   EnemyBook complete     # 図鑑を完成させる

 *   EnemyBook clear        # 図鑑をクリアする

 *

 * 敵キャラのメモ:

 *   <desc1:なんとか>     # 説明1行目

 *   <desc2:かんとか>     # 説明2行目

 *   <desc3:かんとか>     # 説明3行目

 *   <book:no>              # 図鑑に載せない場合

 *

 * ============================================================================

 *

 * Investigate Skill Tutorial:

 * (You will need YanFly´s Battle Engine Core and ActSeqPack1 to get it work)

 *

 * - First set the "AutoFill" option of this plugin to false

 * - Now create a skill which calls a common event X and have the following

 *   in its notebox:

 *   <Target Action>

 *    Change Variable Y = target._enemyId

 *   </Target Action>

 * - Now in the common event X call a Plugin-Line and write:

 *   EnemyBook addvar Y

 * - Done!

 *

 * (X and Y is a number you choose)

 */

 

(function() {

 

    var parameters = PluginManager.parameters('EnemyBook');

    var unknownData = String(parameters['Unknown Data'] || '??????')

    var AutoFill = String(parameters['AutoFill'] || 'false');

    var IDatName = String(parameters['ID before Name'] || 'true');

    var listEnemysRow = Number(parameters['Enemys in Row']);

    var goldIcon = String(parameters['Gold Icon'] || 'true');

    var IndexHeight = String(parameters['Half Index Height'] || 'true');

    var ShowEXP = Number(parameters['Show EXP Switch']);

    var ShowGold = Number(parameters['Show Gold Switch']);

    var ShowItems = Number(parameters['Show Items Switch']);

    var ShowStatus = Number(parameters['Show Status Switch']);

    var AnimEnemy = String(parameters['Pulsing Enemy'] || 'true');

    var AnimIntens = Number(parameters['Pulsing Intensity']);

 

    var _Game_Interpreter_pluginCommand =

            Game_Interpreter.prototype.pluginCommand;

    Game_Interpreter.prototype.pluginCommand = function(command, args) {

        _Game_Interpreter_pluginCommand.call(this, command, args);

        if (command === 'EnemyBook') {

            switch (args[0]) {

            case 'open':

                SceneManager.push(Scene_EnemyBook);

                break;

            case 'add':

                $gameSystem.addToEnemyBook(Number(args[1]));

                break;

            case 'addvar':

                $gameSystem.addToEnemyBook(Number($gameVariables.value(args[1])));

                break;

            case 'remove':

                $gameSystem.removeFromEnemyBook(Number(args[1]));

                break;

            case 'complete':

                $gameSystem.completeEnemyBook();

                break;

            case 'clear':

                $gameSystem.clearEnemyBook();

                break;

            }

        }

    };

 

    Game_System.prototype.addToEnemyBook = function(enemyId) {

        if (!this._enemyBookFlags) {

            this.clearEnemyBook();

        }

        this._enemyBookFlags[enemyId] = true;

    };

 

    Game_System.prototype.removeFromEnemyBook = function(enemyId) {

        if (this._enemyBookFlags) {

            this._enemyBookFlags[enemyId] = false;

        }

    };

 

    Game_System.prototype.completeEnemyBook = function() {

        this.clearEnemyBook();

        for (var i = 1; i < $dataEnemies.length; i++) {

            this._enemyBookFlags = true;

        }

    };

 

    Game_System.prototype.clearEnemyBook = function() {

        this._enemyBookFlags = [];

    };

 

    Game_System.prototype.isInEnemyBook = function(enemy) {

        if (this._enemyBookFlags && enemy) {

            return !!this._enemyBookFlags[enemy.id];

        } else {

            return false;

        }

    };

 

    var _Game_Troop_setup = Game_Troop.prototype.setup;

    Game_Troop.prototype.setup = function(troopId) {

        _Game_Troop_setup.call(this, troopId);

        this.members().forEach(function(enemy) {

            if (enemy.isAppeared()) {

 

        if (AutoFill === 'true') {

        $gameSystem.addToEnemyBook(enemy.enemyId());

}

            }

        }, this);

    };

 

    var _Game_Enemy_appear = Game_Enemy.prototype.appear;

    Game_Enemy.prototype.appear = function() {

        _Game_Enemy_appear.call(this);

if (AutoFill === 'true') {

        $gameSystem.addToEnemyBook(this._enemyId);

}

    };

 

    var _Game_Enemy_transform = Game_Enemy.prototype.transform;

    Game_Enemy.prototype.transform = function(enemyId) {

        _Game_Enemy_transform.call(this, enemyId);

if (AutoFill === 'true') {

        $gameSystem.addToEnemyBook(enemyId);

}

    };

 

    function Scene_EnemyBook() {

        this.initialize.apply(this, arguments);

    }

 

    Scene_EnemyBook.prototype = Object.create(Scene_MenuBase.prototype);

    Scene_EnemyBook.prototype.constructor = Scene_EnemyBook;

 

    Scene_EnemyBook.prototype.initialize = function() {

        Scene_MenuBase.prototype.initialize.call(this);

    };

 

    Scene_EnemyBook.prototype.create = function() {

 

        var w3 = Graphics.boxWidth / 3;

        var ww = (Graphics.boxWidth / 3)*2 + 2;

        var wh = Graphics.boxHeight / 5;

 

        Scene_MenuBase.prototype.create.call(this);

        this._indexWindow = new Window_EnemyBookIndex(0, 0);

        this._indexWindow.setHandler('cancel', this.popScene.bind(this));

        

        this._statusWindow = new Window_EnemyBookStatus(w3, 0, ww, wh);

        this._statusWindow2 = new Window_EnemyBookStatus2(w3, wh, ww, wh*2.5);

        this._statusWindow3 = new Window_EnemyBookStatus3(w3, wh*3.5, ww, wh*2);

        this.addWindow(this._indexWindow);

        this.addWindow(this._statusWindow);

        this.addWindow(this._statusWindow2);

        this.addWindow(this._statusWindow3);

        this._indexWindow.setStatusWindow(this._statusWindow);

        this._indexWindow.setStatusWindow2(this._statusWindow2);

        this._indexWindow.setStatusWindow3(this._statusWindow3);

    };

 

    function Window_EnemyBookIndex() {

        this.initialize.apply(this, arguments);

    }

 

    Window_EnemyBookIndex.prototype = Object.create(Window_Selectable.prototype);

    Window_EnemyBookIndex.prototype.constructor = Window_EnemyBookIndex;

 

    Window_EnemyBookIndex.lastTopRow = 0;

    Window_EnemyBookIndex.lastIndex  = 0;

 

    Window_EnemyBookIndex.prototype.initialize = function(x, y) {

        var width = Graphics.boxWidth / 3;

        

    if (IndexHeight === 'true') {

        var height = Graphics.boxHeight / 2;

    }

    else{

        var height = Graphics.boxHeight;

    }

        

        

    Window_Selectable.prototype.initialize.call(this, x, y, width, height);

        this.refresh();

        this.setTopRow(Window_EnemyBookIndex.lastTopRow);

        this.select(Window_EnemyBookIndex.lastIndex);

        this.activate();

    };

 

    Window_EnemyBookIndex.prototype.maxCols = function() {

        if (listEnemysRow > 4) {

            return 4;

        }

        else{

            return listEnemysRow;

        }

    };

 

    Window_EnemyBookIndex.prototype.maxItems = function() {

        return this._list ? this._list.length : 0;

    };

 

    Window_EnemyBookIndex.prototype.setStatusWindow = function(statusWindow) {

        this._statusWindow = statusWindow;

        this.updateStatus();

    };

    Window_EnemyBookIndex.prototype.setStatusWindow2 = function(statusWindow2) {

        this._statusWindow2 = statusWindow2;

        this.updateStatus();

    };

    Window_EnemyBookIndex.prototype.setStatusWindow3 = function(statusWindow3) {

        this._statusWindow3 = statusWindow3;

        this.updateStatus();

    };

 

    Window_EnemyBookIndex.prototype.update = function() {

        Window_Selectable.prototype.update.call(this);

        this.updateStatus();

    };

 

    Window_EnemyBookIndex.prototype.updateStatus = function() {

        if (this._statusWindow) {

            var enemy = this._list[this.index()];

            this._statusWindow.setEnemy(enemy);

        }

                if (this._statusWindow2) {

            var enemy = this._list[this.index()];

            this._statusWindow2.setEnemy(enemy);

        }

                if (this._statusWindow3) {

            var enemy = this._list[this.index()];

            this._statusWindow3.setEnemy(enemy);

        }

    };

 

    Window_EnemyBookIndex.prototype.refresh = function() {

        this._list = [];

        for (var i = 1; i < $dataEnemies.length; i++) {

            var enemy = $dataEnemies;

            if (enemy.name && enemy.meta.book !== 'no') {

                this._list.push(enemy);

            }

        }

        this.createContents();

        this.drawAllItems();

    };

 

    Window_EnemyBookIndex.prototype.drawItem = function(index) {

        var enemy = this._list[index];

        var rect = this.itemRectForText(index);

        var name;

        if ($gameSystem.isInEnemyBook(enemy)) {

if (IDatName === 'true') {

            name = enemy.id + " - " + enemy.name;

} else {

    name = enemy.name;

    }

        } else {

            name = unknownData;

        }

        this.drawText(name, rect.x, rect.y, rect.width);

    };

 

    Window_EnemyBookIndex.prototype.processCancel = function() {

        Window_Selectable.prototype.processCancel.call(this);

        Window_EnemyBookIndex.lastTopRow = this.topRow();

        Window_EnemyBookIndex.lastIndex = this.index();

    };

 

    function Window_EnemyBookStatus() {

        this.initialize.apply(this, arguments);

    }

    function Window_EnemyBookStatus2() {

       this.initialize.apply(this, arguments);

    }

    function Window_EnemyBookStatus3() {

        this.initialize.apply(this, arguments);

    }

 

    Window_EnemyBookStatus.prototype = Object.create(Window_Base.prototype);

    Window_EnemyBookStatus.prototype.constructor = Window_EnemyBookStatus;

    

    Window_EnemyBookStatus2.prototype = Object.create(Window_Base.prototype);

    Window_EnemyBookStatus2.prototype.constructor = Window_EnemyBookStatus2;

    

    Window_EnemyBookStatus3.prototype = Object.create(Window_Base.prototype);

    Window_EnemyBookStatus3.prototype.constructor = Window_EnemyBookStatus3;

 

    

    Window_EnemyBookStatus2.prototype.initialize = function(x, y, width, height) {

        Window_Base.prototype.initialize.call(this, x, y, width, height);

        this._enemy = null;

        this._enemySprite = new Sprite();

        this._enemySprite.anchor.x = 0.5;

        this._enemySprite.anchor.y = 0.5;

        this._enemySprite.x = (Graphics.boxWidth)/3;

        this._enemySprite.y = (Graphics.boxHeight/5)+35;

        this.addChildToBack(this._enemySprite);

        this.refresh();

    };

 

    Window_EnemyBookStatus.prototype.setEnemy = function(enemy) {

        if (this._enemy !== enemy) {

            this._enemy = enemy;

            this.refresh();

        }

    };

    Window_EnemyBookStatus2.prototype.setEnemy = function(enemy) {

        if (this._enemy !== enemy) {

            this._enemy = enemy;

            this.refresh();

        }

    };

    Window_EnemyBookStatus3.prototype.setEnemy = function(enemy) {

        if (this._enemy !== enemy) {

            this._enemy = enemy;

            this.refresh();

        }

    };

    

    if (AnimEnemy === 'true') {

    Window_EnemyBookStatus2.prototype.update = function() {

        Window_Base.prototype.update.call(this);

        if (this._enemySprite.bitmap) {

            var bitmapHeight = this._enemySprite.bitmap.height;

            var contentsHeight = this.contents.height;

            

                var scalex = (Math.cos(Graphics.frameCount*0.01))/AnimIntens;

                var scaley = ((Math.cos(Graphics.frameCount*0.01))/AnimIntens);

            

            this._enemySprite.scale.x = (scalex*scalex)+0.9;

            this._enemySprite.scale.y = (scaley*scaley)+0.9;

            

            if (bitmapHeight > contentsHeight) {

                this._enemySprite.scale.x = ((scalex*scalex)+0.9)-0.2;

                this._enemySprite.scale.y = ((scaley*scaley)+0.9)-0.2;

            }

        }

 

    };

    }

    else {

    Window_EnemyBookStatus2.prototype.update = function() {

        Window_Base.prototype.update.call(this);

        if (this._enemySprite.bitmap) {

            var bitmapHeight = this._enemySprite.bitmap.height;

            var contentsHeight = this.contents.height;

            

                var scale = 1;

            

            this._enemySprite.scale.x = scale;

            this._enemySprite.scale.y = scale;

            

            if (bitmapHeight > contentsHeight) {

                this._enemySprite.scale.x = contentsHeight/bitmapHeight;

                this._enemySprite.scale.y = contentsHeight/bitmapHeight;

            }

        }

 

    };

    }

 

    Window_EnemyBookStatus.prototype.refresh = function() {

        

        this.contents.clear();

        

        var enemy = this._enemy;

        var x = 0;

        var y = 0;

        var lineHeight = this.lineHeight();

        

        if (!enemy || !$gameSystem.isInEnemyBook(enemy)) {

            return;

        }

        

        var descWidth = 1;

        x = 1;

        y = 0; //lineHeight*9

        this.drawTextEx(enemy.meta.desc1, x, (y + lineHeight * 0)-7, descWidth);

        this.drawTextEx(enemy.meta.desc2, x, (y + lineHeight * 1)-15, descWidth);

        this.drawTextEx(enemy.meta.desc3, x, (y + lineHeight * 2)-23, descWidth);

    };

    

    Window_EnemyBookStatus2.prototype.refresh = function() {

        

        this.contents.clear();

        

        var enemy = this._enemy;

        var x = 0;

        var y = 0;

        var lineHeight = this.lineHeight();

 

        if (!enemy || !$gameSystem.isInEnemyBook(enemy)) {

            this._enemySprite.bitmap = null;

            return;

        }

 

        var name = enemy.battlerName;

        var hue = enemy.battlerHue;

        var bitmap;

        if ($gameSystem.isSideView()) {

            bitmap = ImageManager.loadSvEnemy(name, hue);

        } else {

            bitmap = ImageManager.loadEnemy(name, hue);

        }

        

        this._enemySprite.bitmap = bitmap;

        

        this.resetTextColor();

 

        var rewardsWidth = 280;

        x = 1;

        y += lineHeight*1;

        

        if ($gameSwitches.value(ShowItems) === true || ShowItems === 0) {

        for (var j = 0; j < enemy.dropItems.length; j++) {

            var di = enemy.dropItems[j];

            if (di.kind > 0) {

                this.changeTextColor(this.systemColor());

                this.drawText(TextManager.item + ':', 1, 1);

                var item = Game_Enemy.prototype.itemObject(di.kind, di.dataId);

                this.drawItemName(item, x, y, rewardsWidth);

                y += lineHeight;

            }

            else{

                this.changeTextColor(this.systemColor());

                this.drawText(TextManager.item + ':', 1, 1);

                this.resetTextColor();

            }

        }

        

        this.resetTextColor();

        }

        

        x = (Graphics.boxWidth/3)*2 - this.textWidth(TextManager.expA) - 45

        y = (Graphics.boxHeight/5)*2 - lineHeight

        

        if ($gameSwitches.value(ShowEXP) === true || ShowEXP === 0) {

 

            this.changeTextColor(this.systemColor());

            this.drawText(TextManager.expA, x, y - 8);

 

            this.resetTextColor();

            this.drawText(enemy.exp, x - this.textWidth(enemy.exp + ' '), y - 8);

        }

        

        if ($gameSwitches.value(ShowGold) === true || ShowGold === 0) {

            this.changeTextColor(this.systemColor());

        

            if (goldIcon === 'true') {

                this.drawIcon(Yanfly.Icon.Gold, x, y - 8 + lineHeight)

            } else {

                this.drawText(TextManager.currencyUnit, x, y + lineHeight);

            }

 

            this.resetTextColor();

            this.drawText(enemy.gold, x - this.textWidth(enemy.gold + ' '), y - 8 + lineHeight);

        }

 

    }

    

    

    Window_EnemyBookStatus3.prototype.refresh = function() {

        

        this.contents.clear();

        

        if ($gameSwitches.value(ShowStatus) === true || ShowStatus === 0) {

        var enemy = this._enemy;

        var x = 0;

        var y = 0;

        var lineHeight = this.lineHeight();

        

        if (!enemy || !$gameSystem.isInEnemyBook(enemy)) {

            return;

        }

            

            this.drawText('--- ' + TextManager.status + ' ---', (Graphics.boxWidth/3) - (this.textWidth('--- ' + 

 

TextManager.status + ' ---')/2), -7, 160);

            this.resetTextColor();  

 

        this.resetTextColor();

 

        x = (Graphics.boxWidth/3) - 235

        y = 25;

 

        var arr = [TextManager.param(0), TextManager.param(1), TextManager.param(2), TextManager.param(3)];

 

        var lgth = 0;

        var longest;

 

        for(var i=0; i < arr.length; i++){

            if(arr.length > lgth){

                var lgth = arr.length;

                longest = arr;

            }      

        }

        

        for (var i = 0; i < 4; i++) {

            this.changeTextColor(this.systemColor());

            this.drawText(TextManager.param(i), x, y, 160);

            this.resetTextColor();        

            this.drawText(enemy.params, x + this.textWidth(longest + '  '), y, 60, 'left');

            y += lineHeight;

        }

        

        y = 25;

        

        var arr = [TextManager.param(4), TextManager.param(5), TextManager.param(6), TextManager.param(7)];

 

        var lgth = 0;

        var longest2;

 

        for(var i=0; i < arr.length; i++){

            if(arr.length > lgth){

                var lgth = arr.length;

                longest2 = arr;

            }      

        }

        

        x = x + 10 + this.textWidth(longest + '  ') + 90

        

        for (var i = 4; i < 8; i++) {

            this.changeTextColor(this.systemColor());

            this.drawText(TextManager.param(i), x, y, 160);

            this.resetTextColor();

            this.drawText(enemy.params, x + this.textWidth(longest2 + '  '), y, 60, 'left');

            y += lineHeight;

        }

        

 

    }

    }

 

})();



 

 

Credit and Thanks

 

- DragonPC (great ideas / bug finding / trouble shooting / support / graphics / video)

Yoji Ojima Original Plugin + (compatibility with Yanfly)

- Rexal (movement)

- Yanfly (Inspiration)

- cellicom (for reporting clipping issue)

 

Terms of Use: This script can be used for Both private and Commercial games, If used please pass along the credit of all authors. thank you.

Features Mentioned

  • SkottyTV Update 1 ->
  •  *  
  •  * - Decide if enemys will get an entry automaticly when they appear/transform!
  •  * - Now you can add an Enemy by a variable value!
  •  * - Able to add a third info line (desc3)!
  •  * - Advanced Visual upgrades!
  •  
  •  * SkottyTV Update 2 ->
  •  * - Decide how many items appear in one row!
  •  * - Decide if you want to use the Gold Icon from Yanfly Core Engine!
  •  * SkottyTV Update 3 ->
  •  * - Decide if you want to halve the Index height.
  •  * - Pulsing animation upgrade!
  •  * - Use switches to enable different information!

Downloads / Referenced Files

Log in to download

Log in, then follow the RPG Maker Developers Group to see these download links.

Log in to download

License / Terms Note

Credit and Thanks   - DragonPC (great ideas / bug finding / trouble shooting / support / graphics / video) - Yoji Ojima Original Plugin + (compatibility with Yanfly)

Creator Claims / Removal

If you are the original creator and want this listing reassigned, edited, or removed, join BMMPlay and contact the moderators with proof that matches the original RPG Maker Web profile, linked GitHub, itch.io page, or another public creator identity.

#rmmv#plugin-archive

Replies (0)

No replies yet.

0 replies 1 view

Log in to reply.

User Avatar