EXPlus [+]

Makes how much experience the up to four party-actors will individually receive from winning a battle depend on variables #3333~#3336. The actual percentage is calculated from 100 + value, so e.g. 50 is equal to 150%.

In this extended variant of EXPlus, variable #3332 contains the party-slot (1~4) of the last actor used in a conditional branch asking if that actor is present in the party at all (value is 0 if not).

Originally made and first released by bugmenot.

RPG2000
1.00UNKNOWN2000-05-072000-06-192000-07-112000-11-132000-11-152000-12-27
1.07
2001-05-05
1.10
2003-03-27
1.50
2003-06-25
1.51/1.52
2015-07-05
1.60
2015-09-15
1.61
2017-09-14
1.62
RPG2003
1.00UNKNOWN1UNKNOWN21.0.2.1
1.0.2.1
1.0.3.0
1.0.4.0
1.0.5.0
1.0.5.0
1.0.6.0
1.0.6.0
1.0.7.0
1.0.7.0
1.0.8.0
1.0.8.0
1.0.9.1
1.0.9.1
1.101.111.12mp210414

Segment 1/5

Offsets

RPG2000
2000-12-27
1.07
0047454Dh
0007394Dh
RPG2003
1.0.8.0
1.0.8.0
00499A8Dh
00098E8Dh

Sourcecode

			PUSH EAX
			JMP __00474559h
__00474550h:
			PUSH ECX
			ADD ECX, EAX
			MOV EAX, EDI
			JMP __00474564h
__00474559h:
			POP EAX
			PUSH EAX
			CALL PROC__0047F90Ch
			ADD EDI, EAX
			JMP __0047456Eh
__00474564h:
			IMUL EAX, ECX
			POP ECX
			CDQ
			IDIV ECX
			NOP
			JMP __0047457Ah
__0047456Eh:
			POP EAX
			PUSH EAX
			CALL PROC__0047F924h
			ADD [EBP-0Ch], EAX
			JMP __00474584h
__0047457Ah:
			MOV CL, 1
			MOV EDX, EAX
			CMP EAX, 0
			NOP
			JMP __00474591h
__00474584h:
			POP EAX
			PUSH EAX
			CALL PROC__0047F93Ch
			TEST EAX, EAX
			JLZ __004745CEh
			JMP __0047459Bh
__00474591h:
			JL __004745B4h
			POP EAX
			CALL PROC__00483CACh
			NOP
			RET
__0047459Bh:
			POP EAX
			PUSH EAX
			CALL PROC__0047F954h
			PUSH EAX
			MOV EAX, 100
			CALL PROC__00402B40h
			POP EDX
			CMP EDX, EAX
			JL __004745CEh
			JMP __004745BEh
__004745B4h:
			POP EAX
			NEG EDX
			CALL PROC__00483EFCh
			NOP
			RET
__004745BEh:
			POP EAX
			PUSH EAX
			CALL PROC__0047F93Ch
			XCHG EAX, EDX
			MOV EAX, [EBP-08h]
			CALL PROC__0040F5D0h
__004745CEh:
			POP EAX
			PUSH EAX
			JMP __00499A99h
__00499A90h:
			PUSH ECX
			ADD ECX, EAX
			MOV EAX, EDI
			JMP __00499AA4h
__00499A99h:
			POP EAX
			PUSH EAX
			CALL PROC__0048DCECh
			ADD EDI, EAX
			JMP __00499AAEh
__00499AA4h:
			IMUL EAX, ECX
			POP ECX
			CDQ
			IDIV ECX
			NOP
			JMP __00499ABAh
__00499AAEh:
			POP EAX
			PUSH EAX
			CALL PROC__004BDD08h
			ADD [EBP-0Ch], EAX
			JMP __00499AC4h
__00499ABAh:
			MOV CL, 1
			MOV EDX, EAX
			CMP EAX, 0
			NOP
			JMP __00499AD1h
__00499AC4h:
			POP EAX
			PUSH EAX
			CALL PROC__004BDD24h
			TEST EAX, EAX
			JLZ __00499B0Eh
			JMP __00499ADBh
__00499AD1h:
			JL __00499AF4h
			POP EAX
			CALL PROC__004B8C14h
			NOP
			RET
__00499ADBh:
			POP EAX
			PUSH EAX
			CALL PROC__004BDD40h
			PUSH EAX
			MOV EAX, 100
			CALL PROC__00403054h
			POP EDX
			CMP EDX, EAX
			JL __00499B0Eh
			JMP __00499AFEh
__00499AF4h:
			POP EAX
			NEG EDX
			CALL PROC__004B9090h
			NOP
			RET
__00499AFEh:
			POP EAX
			PUSH EAX
			CALL PROC__004BDD24h
			XCHG EAX, EDX
			MOV EAX, [EBP-08h]
			CALL PROC__004175DCh
__00499B0Eh:
			POP EAX

Bytes

50 EB09
51 01C1 89F8 90 90 EB0B
58 50 E8ACB30000
03F8 EB0A
0FAFC1 59 99 F7F9 90 EB0C
58 50 EB0A
B101 89C2 83F800 90 EB0D
58 50 E8B1B30000
85C0 7E3F
EB0A
7C21
58 E813F70000
90 C3

58 50 E8B2B30000
50 B864000000 E893E5F8FF
5A 3BD0 7C1C
EB0A
58 F7DA E840F90000
90 C3

58 50 E877B30000
92 8B45F8 E802B0F9FF
58
50 EB09
51 01C1 89F8 90 90 EB0B
58 50 E8ACB30000
03F8 EB0A
0FAFC1 59 99 F7F9 90 EB0C
58 50 EB0A
B101 89C2 83F800 90 EB0D
58 50 E8B1B30000
85C0 7E3F
EB0A
7C21
58 E83BF10100
90 C3

58 50 E8B2B30000
50 B864000000 E893E5F8FF
5A 3BD0 7C1C
EB0A
58 F7DA E840F90000
90 C3

58 50 E81F420200
92 8B45F8 E8CEDAF7FF
58

Segment 2/5

Offsets

RPG2000
2000-12-27
1.07
0047472Eh
00073B2Eh
RPG2003
1.0.8.0
1.0.8.0
00499C6Eh
0009906Eh

Sourcecode

			PUSH EAX
			MOV ESI, [EAX+04h]
			DEC ESI
			TEST ESI, ESI
			JL __00474754h
			INC ESI
			XOR EBX, EBX
__0047473Ah:
			POP EAX
			PUSH EAX
			MOV EDX, EBX
			CALL PROC__0047CE60h
			CMP DWORD PTR [EAX+14h], 0
			JLE __00474750h
			NOP
			NOP
			CALL PROC__00474789h
__00474750h:
			INC EBX
			DEC ESI
			JNZ __0047473Ah
__00474754h:
			POP EAX
			PUSH EAX
			MOV EDX, [EBP-0Ch]
			CALL PROC__0047D4FCh
			MOV EAX, [EBP-08h]
			MOV ESI, [EAX+08h]
			DEC ESI
			TEST ESI, ESI
			JL __00474786h
			INC ESI
			XOR EBX, EBX
__0047476Ch:
			MOV EDX, EBX
			MOV EAX, [EBP-08h]
			CALL PROC__0040F72Ch
			MOV EDX, EAX
			POP EAX
			PUSH EAX
			XOR ECX, ECX
			INC ECX
			CALL PROC__0047D058h
			INC EBX
			DEC ESI
			JNZ __0047476Ch
__00474786h:
			POP EAX
			JMP __004747A6h
PROC__00474789h:
			PUSH EAX
			MOV EAX, [0049ABA4h]			; TLcfgSystem
			MOV EAX, [EAX]
			MOV EDX, 3333				; Variables Base
			ADD EDX, EBX				; Add PartySlotIndex
			CALL PROC__00469EE0h			; TLcfgSystem.GetVariable
			XOR ECX, ECX
			MOV CL, 100
			JMP __00474550h
__004747A6h:
			(...)
			PUSH EAX
			MOV ESI, [EAX+04h]
			DEC ESI
			TEST ESI, ESI
			JL __00499C94h
			INC ESI
			XOR EBX, EBX
__00499C7Ah:
			POP EAX
			PUSH EAX
			MOV EDX, EBX
			CALL PROC__004A6014h
			CMP DWORD PTR [EAX+14h], 0
			JLE __00499C90h
			NOP
			NOP
			CALL PROC__00499CC9h
__00499C90h:
			INC EBX
			DEC ESI
			JNZ __00499C7Ah
__00499C94h:
			POP EAX
			PUSH EAX
			MOV EDX, [EBP-0Ch]
			CALL PROC__004A6748h
			MOV EAX, [EBP-08h]
			MOV ESI, [EAX+08h]
			DEC ESI
			TEST ESI, ESI
			JL __00499CC6h
			INC ESI
			XOR EBX, EBX
__00499CACh:
			MOV EDX, EBX
			MOV EAX, [EBP-08h]
			CALL PROC__00417738h
			MOV EDX, EAX
			POP EAX
			PUSH EAX
			XOR ECX, ECX
			INC ECX
			CALL PROC__004A620Ch
			INC EBX
			DEC ESI
			JNZ __00499CACh
__00499CC6h:
			POP EAX
			JMP __00499CE6h
PROC__00499CC9h:
			PUSH EAX
			MOV EAX, [004CDC7Ch]			; TLcfgSystem
			MOV EAX, [EAX]
			MOV EDX, 3333				; Variables Base
			ADD EDX, EBX				; Add PartySlotIndex
			CALL PROC__0048B398h			; TLcfgSystem.GetVariable
			XOR ECX, ECX
			MOV CL, 100
			JMP __00499A90h
__00499CE6h:
			(...)

Bytes

50 8B7004 4E 85F6 7C1D
46 33DB 58 50 8BD3 E81D870000
83781400 7E07
90 90 E839000000
43 4E 75E6
58 50 8B55F4 E89E8D0000
8B45F8 8B7008 4E 85F6 7C1D
46 33DB 8BD3 8B45F8 E8B6AFF9FF
8BD0 58 50 31C9 41 E8D6880000
43 4E 75E6
58 EB1D
50 A1A4AB4900 8B00 BA050D0000 01DA E84357FFFF
31C9 B164 E9AAFDFFFF
50 8B7004 4E 85F6 7C1D
46 33DB 58 50 8BD3 E891C30000
83781400 7E07
90 90 E839000000
43 4E 75E6
58 50 8B55F4 E8AACA0000
8B45F8 8B7008 4E 85F6 7C1D
46 33DB 8BD3 8B45F8 E882DAF7FF
8BD0 58 50 31C9 41 E84AC50000
43 4E 75E6
58 EB1D
50 A17CDC4C00 8B00 BA050D0000 01DA E8BB16FFFF
31C9 B164 E9AAFDFFFF

Segment 3/5

Offsets

RPG2000
2000-12-27
1.07
0047D004h
0007C404h
RPG2003
1.0.8.0
1.0.8.0
004A61B8h
000A55B8h

Sourcecode

PROC__0047D004h:
			PUSH EBX
			PUSH ESI
			PUSH EDI
			MOV EDI, EDX
			XOR EDX, EDX
			MOV ECX, [EAX+04h]
			DEC ECX
			TEST ECX, ECX
			JL __0047D029h
			INC ECX
			XOR ESI, ESI
__0047D016h:
			MOV EBX, [EAX+08h]
			MOVZX EBX, [EBX+ESI*2]
			CMP EDI, EBX
			JNE __0047D025h
			MOV DL, 1
			JMP __0047D029h
__0047D025h:
			INC ESI
			DEC ECX
			JNZ __0047D016h
__0047D029h:
			XCHG EAX, EDX
			XCHG ESI, ECX
			POP EDI
			POP ESI
			POP EBX
			RET
PROC__004A61B8h:
			PUSH EBX
			PUSH ESI
			PUSH EDI
			MOV EDI, EDX
			XOR EDX, EDX
			MOV ECX, [EAX+04h]
			DEC ECX
			TEST ECX, ECX
			JL __004A61DDh
			INC ECX
			XOR ESI, ESI
__004A61CAh:
			MOV EBX, [EAX+08h]
			MOVZX EBX, [EBX+ESI*2]
			CMP EDI, EBX
			JNE __004A61D9h
			MOV DL, 1
			JMP __004A61DDh
__004A61D9h:
			INC ESI
			DEC ECX
			JNZ __004A61CAh
__004A61DDh:
			XCHG EAX, EDX
			XCHG ESI, ECX
			POP EDI
			POP ESI
			POP EBX
			RET

Bytes

53 56 57 8BFA 33D2 8B4804 49 85C9 7C16
41 33F6 8B5808 0FB71C73 3BFB 7504
B201 EB04
46 49 75ED
92 87F1 5F 5E 5B C3
53 56 57 8BFA 33D2 8B4804 49 85C9 7C16
41 33F6 8B5808 0FB71C73 3BFB 7504
B201 EB04
46 49 75ED
92 87F1 5F 5E 5B C3

Segment 4/5

Offsets

RPG2000
2000-12-27
1.07
00489534h
00088934h
RPG2003
1.0.8.0
1.0.8.0
004B0678h
000AFA78h

Sourcecode

			XOR EDX, EDX
			INC EDX
			INC EDX
			MOV EAX, EDI
			CALL PROC__0045E524h
			PUSH EAX
			XOR EDX, EDX
			INC EDX
			MOV EAX, EDI
			CALL PROC__0045E524h
			MOV EDX, EAX
			MOV EAX, [0049ABA4h]			; TLcfgSystem
			MOV EAX, [EAX]
			CALL PROC__00469E6Ch
			POP EDX
			TEST EDX, EDX
			JNZ __00489561h
			CMP AL, 1
			JMP __00489563h
__00489561h:
			TEST AL, AL
__00489563h:
			SETZ BL
			JMP __00489933h
__0048956Bh:
			INC ECX
			CMP EBX, 1
			JE __00489573h
			XOR ECX, ECX
__00489573h:
			MOV EDX, 3332				; PartySlotVariable
			MOV EAX, [0049ABA4h]			; TLcfgSystem
			MOV EAX, [EAX]
			CALL PROC__00469EF8h			; TLcfgSystem.SetVariable
			NOP
			NOP
			NOP
			JMP __00489933h
			XOR EDX, EDX
			INC EDX
			INC EDX
			MOV EAX, EDI
			CALL PROC__0047967Ch
			PUSH EAX
			XOR EDX, EDX
			INC EDX
			MOV EAX, EDI
			CALL PROC__0047967Ch
			MOV EDX, EAX
			MOV EAX, [004CDC7Ch]			; TLcfgSystem
			MOV EAX, [EAX]
			CALL PROC__0048B324h
			POP EDX
			TEST EDX, EDX
			JNZ __004B06A5h
			CMP AL, 1
			JMP __004B06A7h
__004B06A5h:
			TEST AL, AL
__004B06A7h:
			SETZ BL
			JMP __004B0AD4h
__004B06AFh:
			INC ECX
			CMP EBX, 1
			JE __004B06B7h
			XOR ECX, ECX
__004B06B7h:
			MOV EDX, 3332				; PartySlotVariable
			MOV EAX, [004CDC7Ch]			; TLcfgSystem
			MOV EAX, [EAX]
			CALL PROC__0048B3B0h			; TLcfgSystem.SetVariable
			NOP
			NOP
			NOP
			JMP __004B0AD4h

Bytes

31D2 42 42 8BC7 E8E54FFDFF
50 31D2 42 8BC7 E8DA4FFDFF
8BD0 A1A4AB4900 8B00 E81409FEFF
5A 85D2 7504
3C01 EB02
84C0 0F94C3 E9C8030000
41 83FB01 7402
31C9 BA040D0000 A1A4AB4900 8B00 E87409FEFF
90 90 90 E9A7030000
31D2 42 42 8BC7 E8F98FFCFF
50 31D2 42 8BC7 E8EE8FFCFF
8BD0 A17CDC4C00 8B00 E888ACFDFF
5A 85D2 7504
3C01 EB02
84C0 0F94C3 E925040000
41 83FB01 7402
31C9 BA040D0000 A17CDC4C00 8B00 E8E8ACFDFF
90 90 90 E904040000

Segment 5/5

Offsets

RPG2000
2000-12-27
1.07
004897D5h
00088BD5h
RPG2003
1.0.8.0
1.0.8.0
004B0919h
000AFD19h

Sourcecode

			JMP __0048956Bh
			JMP __004B06AFh

Bytes

E991FDFFFF
E991FDFFFF