Код:
if (Imported.YEP_BattleEngineCore == true){
Game_Battler.prototype.performActionEnd = function() {
this.setActionState('done');
if (this.isActor() && this.stepBackStatesIsOn()){
} else {
this.spriteReturnHome();
}
};
BattleManager.changeActor = function(newActorIndex, lastActorActionState) {
var lastActor = this.actor();
this._actorIndex = newActorIndex;
var newActor = this.actor();
if (lastActor) {
lastActor.setActionState(lastActorActionState);
if (!lastActor.stepBackStatesIsOn()){
console.log(lastActor)
lastActor.spriteReturnHome();
}
}
if (newActor) {
newActor.setActionState('inputting');
if (!newActor.stepBackStatesIsOn()){
console.log(newActor)
newActor.spriteStepForward();
}
}
};
Game_Battler.prototype.stepBackStatesIsOn = function() {
if ($gameSystem.isSideView() && this.battler()) {
return this.battler().stepBackStatesIsOn();
}
};
BattleManager.actionPerformFinish = function() {
this._logWindow.performActionEnd(this._subject);
$gameParty.aliveMembers().forEach(function(member) {
if (!member.stepBackStatesIsOn()){
console.log(member)
member.spriteReturnHome();
}
});
$gameTroop.aliveMembers().forEach(function(member) {
member.spriteReturnHome();
});
return true;
};
}
/*Суда записать номера статусов, через запятую*/
var Actors_stepBackStates = [3,4]
Sprite_Actor.prototype.stepBackStatesIsOn = function() {
for (var i=0;i<Actors_stepBackStates.length;i++){
if (this._actor.isStateAffected(Actors_stepBackStates[i])){
return true
}
}
};
Sprite_Actor.prototype.updateTargetPosition = function() {
if (this._actor.isInputting() || this._actor.isActing()) {
this.stepForward();
} else if (this._actor.canMove() && BattleManager.isEscaped()) {
this.retreat();
} else if (this.stepBackStatesIsOn() == true){
this.stepBackStates()
} else if (!this.inHomePosition()) {
this.stepBack();
}
};
Sprite_Actor.prototype.stepBackStates = function() {
/*Сдвиг назад при наличии статуса this.startMove(x, y, duration)*/
this.startMove(48, 0, 12);
};
Социальные закладки