I tried searching around but didn't find any fixes. Can this be fixed and if not, can you suggest alternative plugins?
(I only need Animated SV for changing the enemy battler size but summoning is important to me)
BattleManager.registerSprite = function(battler, sprite) {
if (!this._registeredSprites) this._registeredSprites = {};
if (battler.isActor()) var id = 100000 + battler.actorId();
if (battler.isEnemy()) var id = 200000 + battler.index();
this._registeredSprites[id] = sprite;
};
BattleManager.getSprite = function(battler) {
if (!this._registeredSprites) this._registeredSprites = {};
if (battler.isActor()) var id = 100000 + battler.actorId();
if (battler.isEnemy()) var id = 200000 + battler.index();
return this._registeredSprites[id];
};const summon = $gameParty.summonActor(id, lvl, turns, introAni, exitAni, this._subjectActorId);BattleManager._spriteset.registerSummonSprite(summon);Spriteset_Battle.prototype.registerSummonSprite = function(battler) {
for(let i = 0; i < this._summonSprites.length; i++) {
const summon = this._summonSprites[i];
if(!summon.hasBattler()) {
battler.setBattleSprite(summon);
summon.setBattler(battler);
this.reorganizeSummonSprites();
return summon;
}
}Sprite_Animation.prototype.updateSvePosition = function() {
if (typeof this._target.parent._battler != 'undefined' && this._target.parent._battler.isEnemy() && typeof this._target.parent._mainSprite != 'undefined'){
if (this._animation.position !== 3) {
if (this._animation.position === 0) {
this.y += this._target.parent._mainSprite.height - this._target.parent.texture.height;
} else if (this._animation.position === 1) {
this.y += (this._target.parent._mainSprite.height - this._target.parent.texture.height) / 2;
}
}
}
};Spriteset_Battle.prototype.removeSummonSprite = function(battler) {
this._summonSprites.forEach(function(summon) {
if(summon.isBattler(battler)) {
summon.setBattler(null);
}
}, this);
};if(!Imported.YEP_BattleEngineCore) {
_.Window_BattleLog_startAction = Window_BattleLog.prototype.startAction;
Window_BattleLog.prototype.startAction = function(subject, action, targets) {
const item = action.item();
if(item.summonInfo) {
this.push('performActionStart', subject, action);
this.push('waitForMovement');
this.push('performAction', subject, action);
this.push('initSummonIntros', targets.clone());
this.displayAction(subject, item);
} else {
_.Window_BattleLog_startAction.apply(this, arguments);
}
};
} else {
//Random Compatibility Fixes ;-;
_.BattleManager_createFollowActions = BattleManager.createFollowActions;
BattleManager.createFollowActions = function() {
_.BattleManager_createFollowActions.apply(this, arguments);
if(this._action.item().summonInfo) this._logWindow.initSummonIntros(this._targets);
};
_.Window_Base_drawGauge = Window_Base.prototype.drawGauge;
Window_Base.prototype.drawGauge = function(x, y, width, rate, color1, color2) {
if(!rate && rate !== 0) return;
_.Window_Base_drawGauge.apply(this, arguments);
};
Game_Summon.prototype.battler = function() {
return this.battleSprite();
};
}if(Imported.YEP_BattleEngineCore) {Sprite_Animation.prototype.updateSvePosition = function() {
if (typeof this._target.parent._battler != 'undefined' && this._target.parent._battler.isEnemy() && typeof this._target.parent._mainSprite != 'undefined'){
if (this._animation.position !== 3) {
if (this._animation.position === 0) {
this.y += this._target.parent._mainSprite.height - this._target.parent.texture.height;
} else if (this._animation.position === 1) {
this.y += (this._target.parent._mainSprite.height - this._target.parent.texture.height) / 2;
}
}
}
};Spriteset_Battle.prototype.registerSummonSprite = function(battler) {
for(let i = 0; i < this._summonSprites.length; i++) {
const summon = this._summonSprites[i];
if(!summon.hasBattler()) {
battler.setBattleSprite(summon);
summon.setBattler(battler);
this.reorganizeSummonSprites();
return summon;
}
}
return false;
};Sprite_Animation.prototype.updateSvePosition = function() {
if (if(summon.hasBattler()))
{
}
else if (typeof this._target.parent._battler != 'undefined' && this._target.parent._battler.isEnemy() && typeof this._target.parent._mainSprite != 'undefined'){
if (this._animation.position !== 3) {
if (this._animation.position === 0) {
this.y += this._target.parent._mainSprite.height - this._target.parent.texture.height;
} else if (this._animation.position === 1) {
this.y += (this._target.parent._mainSprite.height - this._target.parent.texture.height) / 2;
}
}
}
};if(Imported.YEP_BattleEngineCore) {
_.Window_BattleLog_startAction = Window_BattleLog.prototype.startAction;
Window_BattleLog.prototype.startAction = function(subject, action, targets) {
const item = action.item();
if(item.summonInfo) {
this.push('performActionStart', subject, action);
this.push('waitForMovement');
this.push('performAction', subject, action);
this.push('initSummonIntros', targets.clone());
this.displayAction(subject, item);
} else {
_.Window_BattleLog_startAction.apply(this, arguments);
}
};
} else {
//Random Compatibility Fixes ;-;
_.BattleManager_createFollowActions = BattleManager.createFollowActions;
BattleManager.createFollowActions = function() {
_.BattleManager_createFollowActions.apply(this, arguments);
if(this._action.item().summonInfo) this._logWindow.initSummonIntros(this._targets);
};
_.Window_Base_drawGauge = Window_Base.prototype.drawGauge;
Window_Base.prototype.drawGauge = function(x, y, width, rate, color1, color2) {
if(!rate && rate !== 0) return;
_.Window_Base_drawGauge.apply(this, arguments);
};
Game_Summon.prototype.battler = function() {
return this.battleSprite();
};
}if(Imported.YEP_BattleEngineCore) {Sprite_Animation.prototype.updateSvePosition = function() {
if (typeof this._target.parent._battler != 'undefined' && this._target.parent._battler.isEnemy() && typeof this._target.parent._mainSprite != 'undefined'){
if (this._animation.position !== 3) {
if (this._animation.position === 0) {
this.y += this._target.parent._mainSprite.height - this._target.parent.texture.height;
} else if (this._animation.position === 1) {
this.y += (this._target.parent._mainSprite.height - this._target.parent.texture.height) / 2;
}
}
}
};Spriteset_Battle.prototype.registerSummonSprite = function(battler) {
for(let i = 0; i < this._summonSprites.length; i++) {
const summon = this._summonSprites[i];
if(!summon.hasBattler()) {
battler.setBattleSprite(summon);
summon.setBattler(battler);
this.reorganizeSummonSprites();
return summon;
}
}
return false;
};Sprite_Animation.prototype.updateSvePosition = function() {
if (if(summon.hasBattler()))
{
}
else if (typeof this._target.parent._battler != 'undefined' && this._target.parent._battler.isEnemy() && typeof this._target.parent._mainSprite != 'undefined'){
if (this._animation.position !== 3) {
if (this._animation.position === 0) {
this.y += this._target.parent._mainSprite.height - this._target.parent.texture.height;
} else if (this._animation.position === 1) {
this.y += (this._target.parent._mainSprite.height - this._target.parent.texture.height) / 2;
}
}
}
};Yanfly.SVE.Sprite_Animation_updatePosition =
Sprite_Animation.prototype.updatePosition;
Sprite_Animation.prototype.updatePosition = function() {
Yanfly.SVE.Sprite_Animation_updatePosition.call(this);
this.updateSvePosition();
};
Sprite_Animation.prototype.updateSvePosition = function() {
if (typeof this._target.parent._battler != 'undefined' && this._target.parent._battler.isEnemy() && typeof this._target.parent._mainSprite != 'undefined'){
if (this._animation.position !== 3) {
if (this._animation.position === 0) {
this.y += this._target.parent._mainSprite.height - this._target.parent.texture.height;
} else if (this._animation.position === 1) {
this.y += (this._target.parent._mainSprite.height - this._target.parent.texture.height) / 2;
}
}
}
};Yanfly.SVE.Sprite_Animation_updatePosition =
Sprite_Animation.prototype.updatePosition;
Sprite_Animation.prototype.updatePosition = function() {
Yanfly.SVE.Sprite_Animation_updatePosition.call(this);
this.updateSvePosition();
};
Sprite_Animation.prototype.updateSvePosition = function() {
if (typeof this._target.parent._battler != 'undefined' && this._target.parent._battler.isEnemy() && typeof this._target.parent._mainSprite != 'undefined'){
if (this._animation.position !== 3) {
if (this._animation.position === 0) {
this.y += this._target.parent._mainSprite.height - this._target.parent.texture.height;
} else if (this._animation.position === 1) {
this.y += (this._target.parent._mainSprite.height - this._target.parent.texture.height) / 2;
}
}
}
};