/
summon any monster.erm
32 lines (22 loc) · 1.03 KB
/
summon any monster.erm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
ZVSE2
; Author: daemon_n and Archer30
; Engine: ERM 2.0+
; Requires: ERA 3.3+, Era Erm Framework
; Function to summon any number of creature on the battlefield
!?FU(sum_Battle_SummonStack);
!#VA(monType:x) (monAmount:x) (side:x) (numberStack:x);
!!UN:C(COMBAT_MANAGER)/(UNC_INT)/?(cmbMgr:y);
!!UN:C(cmbMgr)/78528/(UNC_INT)/?(origActiveSide:y) C(cmbMgr)/78528/(UNC_INT)/(side);
!!VR(summonedMonOffset:y)&(side) *(UNC_INT) +78504;
!!UN:C(cmbMgr)/(summonedMonOffset)/(UNC_INT)/?(origSummonedMon:y);
!!SS(SPELL_EARTH_ELEMENTAL):E0/?(origEff:y) E0/1;
!!re i/0/(numberStack)/1/-1;
*!SN&i^battle_isVisible^:P^SumnElm^;
!!SN:E5927824/(CALLCONV_THISCALL)/(cmbMgr)/(SPELL_EARTH_ELEMENTAL)/(monType)/(monAmount)/0;
!!en;
!!SS(SPELL_EARTH_ELEMENTAL):E0/(origEff:y);
!!UN:C(cmbMgr)/(summonedMonOffset)/(UNC_INT)/(origSummonedMon);
!!UN:C(cmbMgr)/78528/(UNC_INT)/(origActiveSide);
; ========================== TESTING ==========================
!?FU(OnBattleRound)&i^battle_round^=0;
!!FU(sum_Battle_SummonStack):P(MON_ARCHANGEL)/1/(BATTLE_LEFT)/2;