Rename www to www.rus
This commit is contained in:
parent
8ea7a858d0
commit
7bf44fa645
1878 changed files with 395385 additions and 395385 deletions
374
www.rus/js/plugins/HIME_EnemyReinforcements.js
Normal file
374
www.rus/js/plugins/HIME_EnemyReinforcements.js
Normal file
|
@ -0,0 +1,374 @@
|
|||
/*:
|
||||
-------------------------------------------------------------------------
|
||||
@title Enemy Reinforcements
|
||||
@author Hime --> HimeWorks (http://himeworks.com)
|
||||
@date Aug 15, 2016
|
||||
@version 1.3
|
||||
@filename HIME_EnemyReinforcements.js
|
||||
@url http://himeworks.com/2015/11/enemy-reinforcements-mv/
|
||||
|
||||
If you enjoy my work, consider supporting me on Patreon!
|
||||
|
||||
* https://www.patreon.com/himeworks
|
||||
|
||||
If you have any questions or concerns, you can contact me at any of
|
||||
the following sites:
|
||||
|
||||
* Main Website: http://himeworks.com
|
||||
* Facebook: https://www.facebook.com/himeworkscom/
|
||||
* Twitter: https://twitter.com/HimeWorks
|
||||
* Youtube: https://www.youtube.com/c/HimeWorks
|
||||
* Tumblr: http://himeworks.tumblr.com/
|
||||
|
||||
-------------------------------------------------------------------------
|
||||
@plugindesc Allows you to summon more enemies into the current battle
|
||||
using event commands.
|
||||
@help
|
||||
-------------------------------------------------------------------------
|
||||
== Description ==
|
||||
|
||||
Video: https://youtu.be/ROy4nEoao-I
|
||||
|
||||
Do you want to add new enemies to battle, during the battle? This plugin
|
||||
provides you with a variety of commands that allow you to create
|
||||
more dynamic battles through enemy reinforcements.
|
||||
|
||||
You can create enemy skills that will essentially summon new enemies
|
||||
to battle. Enemies can be added as a single enemy, or entire troops
|
||||
of enemies.
|
||||
|
||||
Do you want to make sure a particular reinforcement does not already
|
||||
exist? With this plugin, methods are provided to allow you to check
|
||||
whether a certain enemy from a certain troop exists at a certain position.
|
||||
|
||||
If you want reinforcements to automatically disappear after a certain
|
||||
amount of time has passed, you can easily do so by making a single
|
||||
command to remove all enemy reinforcements from another troop!
|
||||
|
||||
== Terms of Use ==
|
||||
|
||||
- Free for use in non-commercial projects with credits
|
||||
- Contact me for commercial use
|
||||
|
||||
== Change Log ==
|
||||
|
||||
1.3 - Aug 15, 2016
|
||||
* Fix checking whether a certain member existed
|
||||
1.2 - Nov 21, 2015
|
||||
* member ID's weren't normalized to 1-based
|
||||
1.1 - Nov 17, 2015
|
||||
* fixed "needs alive" condition for checking if added
|
||||
1.0 - Nov 16, 2015
|
||||
* initial release
|
||||
|
||||
== Usage ==
|
||||
|
||||
When enemies are added to the battle, there are two questions that
|
||||
need to be answered: which enemy is added, and where are they placed?
|
||||
|
||||
This plugin uses troops in the database to set up the enemy positions.
|
||||
The enemy that will be added depends on the enemy that you choose in a
|
||||
troop, and their position will be based on where they are in the troop.
|
||||
|
||||
Keep this numbering system in mind as you read on.
|
||||
|
||||
-- Adding Enemy Troops --
|
||||
|
||||
You can add entire troops to the current battle. When a troop is added,
|
||||
all enemies in the other troop will be added, whether they should appear
|
||||
half-way or not. To add a troop into battle, use the plugin command:
|
||||
|
||||
add_enemy_troop TROOP_ID
|
||||
|
||||
Where the TROOP_ID is the ID of the troop that you want to add.
|
||||
For example, if the three slimes is troop 4, you would write
|
||||
|
||||
add_enemy_troop 4
|
||||
|
||||
-- Adding Certain Enemies from Troops --
|
||||
|
||||
Instead of adding an entire troop, you may want to add a specific enemy
|
||||
from a specific troop. To add a specific enemy, use the plugin command:
|
||||
|
||||
add_enemy TROOP_MEMBER_ID from troop TROOP_ID
|
||||
|
||||
The TROOP_MEMBER_ID uses the numbering system that I described earlier.
|
||||
So for example, if you wanted to add the second slime from the three\
|
||||
slimes troop to battle, you would write
|
||||
|
||||
add_enemy 2 from troop 4
|
||||
|
||||
-- Removing Enemy Troops --
|
||||
|
||||
If you wish to remove a troop that was added to the battle (for example,
|
||||
they are all retreating or their summon time has expired), you can use
|
||||
the plugin command
|
||||
|
||||
remove_enemy_troop TROOP_ID
|
||||
|
||||
So for example if you want to remove the three slimes troop which is
|
||||
troop 4, you can write
|
||||
|
||||
remove_enemy_troop 4
|
||||
|
||||
-- Removing Certain Enemies from Troops --
|
||||
|
||||
You can also remove certain enemies from certain troops. Use the plugin
|
||||
command:
|
||||
|
||||
remove_enemy TROOP_MEMBER_ID from troop TROOP_ID
|
||||
|
||||
So for example, if you added the three slimes into the battle, but want
|
||||
to remove the second one, you can say
|
||||
|
||||
remove_enemy 2 from troop 4
|
||||
|
||||
And only that specific enemy will be removed.
|
||||
|
||||
-- Checking whether a troop exists --
|
||||
|
||||
To check whether an entire troop exists, you can use the script call
|
||||
|
||||
$gameTroop.isTroopReinforcementAdded(troopId, checkIsAlive)
|
||||
|
||||
Which will return true if the specific troop exists. If you pass in
|
||||
`true` for checking whether it's alive or not, it will return true if
|
||||
any of the members from that troop are alive. If you don't pass in
|
||||
anything, then it will return true if ANY members of the troop exists.
|
||||
|
||||
This is useful if you wanted the summons to only appear once (unless
|
||||
you explicitly remove them).
|
||||
|
||||
-- Checking whether an enemy from a certain troop exists --
|
||||
|
||||
There are methods available for checking whether a certain troop member
|
||||
exists. You can use this in a script call (such as a conditional branch):
|
||||
|
||||
$gameTroop.isEnemyReinforcementAdded(troopID, memberId, checkIsAlive)
|
||||
|
||||
Which will return true if the specific member from the specified troop
|
||||
exists, and whether it's alive or not. If you pass in `true` for whether
|
||||
it's alive or not, you can force it to check whether the enemy exists and
|
||||
is alive.
|
||||
|
||||
For example, if you want to check if the second slime from troop 4 is
|
||||
alive, you would write
|
||||
|
||||
$gameTroop.isEnemyReinforcementAdded(4, 2, true)
|
||||
|
||||
-------------------------------------------------------------------------
|
||||
*/
|
||||
var Imported = Imported || {} ;
|
||||
var TH = TH || {};
|
||||
Imported.EnemyReinforcements = 1;
|
||||
TH.EnemyReinforcements = TH.EnemyReinforcements || {};
|
||||
|
||||
(function ($) {
|
||||
|
||||
/* New. Refresh the spriteset to draw new enemies */
|
||||
BattleManager.refreshEnemyReinforcements = function() {
|
||||
if (this._spriteset) {
|
||||
this._spriteset.refreshEnemyReinforcements();
|
||||
}
|
||||
}
|
||||
|
||||
/***************************************************************************/
|
||||
|
||||
Spriteset_Battle.prototype.removeEnemies = function() {
|
||||
var sprites = this._enemySprites;
|
||||
for (var i = 0; i < sprites.length; i++) {
|
||||
this._battleField.removeChild(sprites[i]);
|
||||
}
|
||||
}
|
||||
|
||||
/* Delete all enemy sprites and re-draw them */
|
||||
Spriteset_Battle.prototype.refreshEnemyReinforcements = function() {
|
||||
this.removeEnemies();
|
||||
this.createEnemies();
|
||||
// this.createEnemyReinforcements();
|
||||
}
|
||||
|
||||
Spriteset_Battle.prototype.createEnemyReinforcements = function() {
|
||||
var enemies = $gameTroop.newReinforcements();
|
||||
var sprites = [];
|
||||
for (var i = 0; i < enemies.length; i++) {
|
||||
sprites[i] = new Sprite_Enemy(enemies[i]);
|
||||
}
|
||||
sprites.sort(this.compareEnemySprite.bind(this));
|
||||
for (var j = 0; j < sprites.length; j++) {
|
||||
this._enemySprites.push(sprites[j]);
|
||||
this._battleField.addChild(sprites[j]);
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
/***************************************************************************/
|
||||
|
||||
var TH_EnemyReinforcements_Game_Enemy_setup = Game_Enemy.prototype.setup;
|
||||
Game_Enemy.prototype.setup = function(enemyId, x, y) {
|
||||
TH_EnemyReinforcements_Game_Enemy_setup.call(this, enemyId, x, y);
|
||||
this._troopId = $gameTroop.troop.id;
|
||||
}
|
||||
|
||||
Game_Enemy.prototype.troopId = function() {
|
||||
return this._troopId;
|
||||
}
|
||||
|
||||
Game_Enemy.prototype.troopMemberId = function() {
|
||||
return this._troopMemberId;
|
||||
}
|
||||
|
||||
Game_Enemy.prototype.setTroopId = function(troopId) {
|
||||
this._troopId = troopId;
|
||||
};
|
||||
|
||||
Game_Enemy.prototype.setTroopMemberId = function(memberId) {
|
||||
this._troopMemberId = memberId;
|
||||
};
|
||||
|
||||
Game_Enemy.prototype.setupReinforcements = function(troopId, enemyId, x, y) {
|
||||
this.setup(enemyId, x, y);
|
||||
this._troopId = troopId;
|
||||
};
|
||||
|
||||
/***************************************************************************/
|
||||
|
||||
var TH_EnemyReinforcements_GameTroop_Setup = Game_Troop.prototype.setup;
|
||||
Game_Troop.prototype.setup = function(troopId) {
|
||||
TH_EnemyReinforcements_GameTroop_Setup.call(this, troopId);
|
||||
this.clearReinforcements();
|
||||
}
|
||||
|
||||
Game_Troop.prototype.newReinforcements = function() {
|
||||
return this._newEnemies;
|
||||
};
|
||||
|
||||
Game_Troop.prototype.clearReinforcements = function() {
|
||||
this._newEnemies = [];
|
||||
};
|
||||
|
||||
Game_Troop.prototype.addReinforcementMember = function(troopId, memberId, member) {
|
||||
if ($dataEnemies[member.enemyId]) {
|
||||
var enemyId = member.enemyId;
|
||||
var x = member.x;
|
||||
var y = member.y;
|
||||
var enemy = new Game_Enemy(enemyId, x, y);
|
||||
enemy.setTroopId(troopId);
|
||||
enemy.setTroopMemberId(memberId);
|
||||
if (member.hidden) {
|
||||
enemy.hide();
|
||||
}
|
||||
this._enemies.push(enemy);
|
||||
this._newEnemies.push(enemy);
|
||||
}
|
||||
}
|
||||
|
||||
Game_Troop.prototype.addEnemyReinforcement = function(troopId, memberId) {
|
||||
var member = $dataTroops[troopId].members[memberId - 1];
|
||||
this.addReinforcementMember(troopId, memberId, member);
|
||||
this.makeUniqueNames();
|
||||
BattleManager.refreshEnemyReinforcements();
|
||||
};
|
||||
|
||||
Game_Troop.prototype.addTroopReinforcements = function(troopId) {
|
||||
var troop = $dataTroops[troopId];
|
||||
var enemyId;
|
||||
for (var i = 0; i < troop.members.length; i++) {
|
||||
var member = troop.members[i];
|
||||
this.addReinforcementMember(troopId, i, member);
|
||||
}
|
||||
this.makeUniqueNames();
|
||||
BattleManager.refreshEnemyReinforcements();
|
||||
};
|
||||
|
||||
Game_Troop.prototype.removeEnemyReinforcement = function(troopId, memberId) {
|
||||
var member = $dataTroops[troopId].members[memberId - 1];
|
||||
var enemies = this._enemies;
|
||||
/* Start from the end of the array to avoid indexing issues */
|
||||
for (var i = enemies.length - 1; i > -1; i--) {
|
||||
if (enemies[i].troopId() === troopId && enemies[i].troopMemberId() === memberId) {
|
||||
this._enemies.splice(i, 1);
|
||||
}
|
||||
}
|
||||
BattleManager.refreshEnemyReinforcements();
|
||||
}
|
||||
|
||||
Game_Troop.prototype.removeTroopReinforcements = function(troopId) {
|
||||
var enemies = this._enemies;
|
||||
/* Start from the end of the array to avoid indexing issues */
|
||||
for (var i = enemies.length - 1; i > -1; i--) {
|
||||
if (enemies[i].troopId() === troopId) {
|
||||
this._enemies.splice(i, 1);
|
||||
}
|
||||
}
|
||||
BattleManager.refreshEnemyReinforcements();
|
||||
};
|
||||
|
||||
Game_Troop.prototype.isEnemyReinforcementAdded = function(troopId, memberId, needsAlive) {
|
||||
var enemies = this._enemies;
|
||||
for (var i = 0; i < enemies.length; i++) {
|
||||
if (enemies[i].troopId() === troopId && enemies[i].troopMemberId() === memberId) {
|
||||
/* Needs to be alive */
|
||||
if (needsAlive) {
|
||||
if (enemies[i].isAlive()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
/* Doesn't need to be alive */
|
||||
else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
Game_Troop.prototype.isTroopReinforcementAdded = function(troopId, needsAlive) {
|
||||
var enemies = this._enemies;
|
||||
for (var i = 0; i < enemies.length; i++) {
|
||||
if (enemies[i].troopId() === troopId) {
|
||||
/* Needs to be alive */
|
||||
if (needsAlive) {
|
||||
if (enemies[i].isAlive()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
/* Doesn't need to be alive */
|
||||
else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
/***************************************************************************/
|
||||
|
||||
var TH_EnemyReinforcements_Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
|
||||
Game_Interpreter.prototype.pluginCommand = function(command, args) {
|
||||
|
||||
// specify enemy from a certain troop
|
||||
if (command.toLowerCase() === "add_enemy") {
|
||||
var troopId = Math.floor(args[3]);
|
||||
var memberId = Math.floor(args[0]);
|
||||
$gameTroop.addEnemyReinforcement(troopId, memberId)
|
||||
}
|
||||
// add entire troop
|
||||
else if (command.toLowerCase() === "add_enemy_troop") {
|
||||
var troopId = Math.floor(args[0]);
|
||||
$gameTroop.addTroopReinforcements(troopId);
|
||||
}
|
||||
else if (command.toLowerCase() === "remove_enemy") {
|
||||
var troopId = Math.floor(args[3]);
|
||||
var memberId = Math.floor(args[0]);
|
||||
$gameTroop.removeEnemyReinforcement(troopId, memberId);
|
||||
}
|
||||
else if (command.toLowerCase() === "remove_enemy_troop") {
|
||||
var troopId = Math.floor(args[0]);
|
||||
$gameTroop.removeTroopReinforcements(troopId);
|
||||
}
|
||||
else {
|
||||
TH_EnemyReinforcements_Game_Interpreter_pluginCommand.call(this, command, args);
|
||||
}
|
||||
};
|
||||
})(TH.EnemyReinforcements);
|
Loading…
Add table
Add a link
Reference in a new issue