MonSca

Manipulates parameters and dropped stuff of enemies based on variables #1001~#1010 (MaxHP, MaxMP, strength, defense, mind, speed, exp, gold, item-ID, item-rate) and two formulas, the latter one being used when switch #1001 is currently ON.

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/10

Offsets

RPG2000
2000-12-27
1.07
0047455Bh
0007395Bh
RPG2003
1.0.8.0
1.0.8.0
00499A9Bh
00098E9Bh

Sourcecode

			CALL PROC__0047F584h
			CALL PROC__004BD7B3h

Bytes

E824B00000
E8133D0200

Segment 2/10

Offsets

RPG2000
2000-12-27
1.07
00474570h
00073970h
RPG2003
1.0.8.0
1.0.8.0
00499AB0h
00098EB0h

Sourcecode

			CALL PROC__0047F58Fh
			CALL PROC__004BD7BEh

Bytes

E81AB00000
E8093D0200

Segment 3/10

Offsets

RPG2000
2000-12-27
1.07
00474586h
00073986h
RPG2003
1.0.8.0
1.0.8.0
00499AC6h
00098EC6h

Sourcecode

			CALL PROC__0047F59Ah
			CALL PROC__004BD7C9h

Bytes

E80FB00000
E8FE3C0200

Segment 4/10

Offsets

RPG2000
2000-12-27
1.07
0047459Dh
0007399Dh
RPG2003
1.0.8.0
1.0.8.0
00499ADDh
00098EDDh

Sourcecode

			CALL PROC__0047F5A7h
			CALL PROC__004BD7D6h

Bytes

E805B00000
E8F43C0200

Segment 5/10

Offsets

RPG2000
2000-12-27
1.07
004745C0h
000739C0h
RPG2003
1.0.8.0
1.0.8.0
00499B00h
00098F00h

Sourcecode

			CALL PROC__0047F59Ah
			CALL PROC__004BD7C9h

Bytes

E8D5AF0000
E8C43C0200

Segment 6/10

Offsets

RPG2000
2000-12-27
1.07
0047465Bh
00073A5Bh
RPG2003
1.0.8.0
1.0.8.0
---
---

Sourcecode

			MOV EDX, [EAX+20h]
			MOV [EBP-48h], EDX
			MOV BYTE PTR [EBP-44h], 11
			MOV EDX, [EBP-0Ch]
			MOV [EBP-40h], EDX
			MOV BYTE PTR [EBP-3Ch], 0
			MOV EDX, [EAX+B4h]
			MOV [EBP-38h], EDX
			MOV BYTE PTR [EBP-34h], 11
			JMP __0047468Bh
PROC__0047467Eh:
			MOV ECX, 1000
			SUB EDX, ECX
			IMUL EAX, EDX
			ADD EAX, ECX
			RET
__0047468Bh:
			MOV EAX, [EAX+24h]
			MOV [EBP-30h], EAX
			MOV BYTE PTR [EBP-2Ch], 11
			LEA EDX, [EBP-48h]
			XOR ECX, ECX
			MOV CL, 3
			(...)
(Segment doesn't exist in this version.)

Bytes

855020 8955B8 C645BC0B 8B55F4 8955C0 C645C400 8B90B4000000 8955C8 C645CC0B EB0D
B9E8030000 29CA 0FAFC2 01C8 C3
--

Segment 7/10

Offsets

RPG2000
2000-12-27
1.07
0047F1B8h
0007E5B8h
RPG2003
1.0.8.0
1.0.8.0
004BD384h
000BC784h

Sourcecode

			dd PROC__0047F542h
			dd PROC__0047F54Dh
			dd PROC__0047F558h
			dd PROC__0047F563h
			dd PROC__0047F56Eh
			dd PROC__0047F579h
			dd PROC__004BD771h
			dd PROC__004BD77Ch
			dd PROC__004BD787h
			dd PROC__004BD792h
			dd PROC__004BD79Dh
			dd PROC__004BD7A8h

Bytes

42F54700 4DF54700 58F54700 63F54700 6EF54700 79F54700
71D74B00 7CD74B00 87D74B00 92D74B00 9DD74B00 A8D74B00

Segment 8/10

Offsets

RPG2000
2000-12-27
1.07
0047F480h
0007E880h
RPG2003
1.0.8.0
1.0.8.0
004BD631h
000BCA31h

Sourcecode

			PUSH EAX
			MOV EAX, [EAX+18h]
			MOV [EBX+14h], EAX
			MOV EAX, EBX
			CALL PROC__0047F542h
			MOV [EBX+14h], EAX
			POP EAX
			PUSH EAX
			MOV EAX, [EAX+18h]
			MOV [EBX+18h], EAX
			MOV EAX, EBX
			CALL PROC__0047F54Dh
			MOV [EBX+18h], EAX
			POP EDX
			PUSH 2
			LEA EAX, [EBP-04h]
			PUSH EAX
			MOV EAX, EDX
			NOP
			NOP
			NOP
			NOP
			PUSH EAX
			MOV EAX, [EAX+14h]
			MOV [EBX+14h], EAX
			MOV EAX, EBX
			CALL PROC__004BD771h
			MOV [EBX+14h], EAX
			POP EAX
			PUSH EAX
			MOV EAX, [EAX+18h]
			MOV [EBX+18h], EAX
			MOV EAX, EBX
			CALL PROC__004BD77Ch
			MOV [EBX+18h], EAX
			POP EDX
			PUSH 2
			LEA EAX, [EBP-04h]
			PUSH EAX
			MOV EAX, EDX
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP

Bytes

50 8B4014 894314 89D8 E8B4000000
894314 58 50 8B4018 894318 89D8 E8AD000000
894318 5A 6A02 8D45FC 50 89D0 90 90 90 90
50 8B4014 894314 89D8 E832010000
894314 58 50 8B4018 894318 89D8 E82B010000
894318 5A 6A02 8D45FC 50 89D0 90 90 90 90 90 90 90 90 90 90

Segment 9/10

Offsets

RPG2000
2000-12-27
1.07
0047F542h
0007E942h
RPG2003
1.0.8.0
1.0.8.0
004BD771h
000BCB71h

Sourcecode

PROC__0047F542h:
			XOR ECX, ECX
			MOV CL, 20
			MOV EDX, 1001
			JMP __0047F5B0h
PROC__0047F54Eh:
			XOR ECX, ECX
			MOV CL, 24
			MOV EDX, 1002
			JMP __0047F5B0h
PROC__0047F558h:
			XOR ECX, ECX
			MOV CL, 28
			MOV EDX, 1003
			JMP __0047F5B0h
PROC__0047F563h:
			XOR ECX, ECX
			MOV CL, 32
			MOV EDX, 1004
			JMP __0047F5B0h
PROC__0047F56Eh:
			XOR ECX, ECX
			MOV CL, 36
			MOV EDX, 1005
			JMP __0047F5B0h
PROC__0047F579h:
			XOR ECX, ECX
			MOV CL, 40
			MOV EDX, 1006
			JMP __0047F5B0h
PROC__0047F584h:
			XOR ECX, ECX
			MOV CL, 48
			MOV EDX, 1007
			JMP __0047F5B0h
PROC__0047F58Fh:
			XOR ECX, ECX
			MOV CL, 52
			MOV EDX, 1008
			JMP __0047F5B0h
PROC__0047F59Ah:
			XOR ECX, ECX
			MOV CL, 56
			MOV EDX, 1009
			NEG EDX
			JMP __0047F5B0h
PROC__0047F5A7h:
			XOR ECX, ECX
			MOV CL, 60
			MOV EDX, 1010
__0047F5B0h:
			PUSH EBX
			PUSH EDX
			PUSH ECX
			MOV EBX, EAX
			MOV EAX, [0049AD20h]
			MOV EAX, [EAX]
			MOV EDX, [EBX+48h]
			CALL PROC__004627ECh
			POP ECX
			MOV EAX, [EAX+ECX]
			POP EDX
			PUSH EAX
			MOV EAX, [0049ABA4h]
			JMP __0047F909h
PROC__004BD771h:
			XOR ECX, ECX
			MOV CL, 20
			MOV EDX, 1001
			JMP __004BD7DFh
PROC__004BD77Ch:
			XOR ECX, ECX
			MOV CL, 24
			MOV EDX, 1002
			JMP __004BD7DFh
PROC__004BD787h:
			XOR ECX, ECX
			MOV CL, 28
			MOV EDX, 1003
			JMP __004BD7DFh
PROC__004BD792h:
			XOR ECX, ECX
			MOV CL, 32
			MOV EDX, 1004
			JMP __004BD7DFh
PROC__004BD79Dh:
			XOR ECX, ECX
			MOV CL, 36
			MOV EDX, 1005
			JMP __004BD7DFh
PROC__004BD7A8h:
			XOR ECX, ECX
			MOV CL, 40
			MOV EDX, 1006
			JMP __004BD7DFh
PROC__004BD7B3h:
			XOR ECX, ECX
			MOV CL, 48
			MOV EDX, 1007
			JMP __004BD7DFh
PROC__004BD7BEh:
			XOR ECX, ECX
			MOV CL, 52
			MOV EDX, 1008
			JMP __004BD7DFh
PROC__004BD7C9h:
			XOR ECX, ECX
			MOV CL, 56
			MOV EDX, 1009
			NEG EDX
			JMP __004BD7DFh
PROC__004BD7D6h:
			XOR ECX, ECX
			MOV CL, 60
			MOV EDX, 1010
__004BD7DFh:
			PUSH EBX
			PUSH EDX
			PUSH ECX
			MOV EBX, EAX
			MOV EAX, [004CDE0Ch]
			MOV EAX, [EAX]
			MOV EDX, [EBX+D8h]
			CALL PROC__00482A80h
			POP ECX
			MOV EAX, [EAX+ECX]
			POP EDX
			PUSH EAX
			MOV EAX, [004CDC7Ch]
			MOV EAX, [EAX]
			JMP __004BDCE9h
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP

Bytes

31C9 B114 BAE9030000 EB63
31C9 B118 BAEA030000 EB58
31C9 B11C BAEB030000 EB4D
31C9 B120 BAEC030000 EB42
31C9 B124 BAED030000 EB37
31C9 B128 BAEE030000 EB2C
31C9 B130 BAEF030000 EB21
31C9 B134 BAF0030000 EB16
31C9 B138 BAF1030000 F7DA EB09
31C9 B13C BAF2030000 53 52 51 8BD8 A120AD4900 8B00 8B5348 E82832FEFF
59 8B0408 5A 50 A1A4AB4900 E935030000
31C9 B114 BAE9030000 EB63
31C9 B118 BAEA030000 EB58
31C9 B11C BAEB030000 EB4D
31C9 B120 BAEC030000 EB42
31C9 B124 BAED030000 EB37
31C9 B128 BAEE030000 EB2C
31C9 B130 BAEF030000 EB21
31C9 B134 BAF0030000 EB16
31C9 B138 BAF1030000 F7DA EB09
31C9 B13C BAF2030000 53 52 51 8BD8 A10CDE4C00 8B00 8B93D8000000 E88A52FCFF
59 8B0408 5A 50 A17CDC4C00 8B00 E9E1040000
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90

Segment 10/10

Offsets

RPG2000
2000-12-27
1.07
0047F909h
0007ED09h
RPG2003
1.0.8.0
1.0.8.0
004BDCE9h
000BD0E9h

Sourcecode

__0047F909h:
			MOV EAX, [EAX]
			CMP EDX, 0
			JL __0047F917h
			CALL PROC__00469EE0h
			JMP __0047F923h
__0047F917h:
			NEG EDX
			CALL PROC__00469EE0h
			POP EDX
			ADD EAX, EBX
			POP EBX
			RET
__0047F923h:
			CMP EAX, 0
			JNE __0047F92Bh
			POP EAX
			POP EBX
			RET
__0047F92Bh:
			PUSH EAX
			MOV EDX, 1001
			MOV EAX, [0049ABA4h]
			MOV EAX, [EAX]
			CALL PROC__00469E6Ch
			CMP AL, 1
			JNE __0047F95Dh
			MOV EAX, [0049AA9Ch]
			MOV EAX, [EAX]
			CALL PROC__0047D668h
			CMP EAX, 1
			JE __0047F95Dh
			NOP
			POP EDX
			CALL PROC__0047467Eh
			PUSH EAX
			NOP
			NOP
			NOP
__0047F95Dh:
			POP EDX
			POP EAX
			IMUL EAX, EDX
			CDQ
			MOV ECX, 1000
			IDIV ECX
			POP EBX
			RET
__004BDCE9h:
			CMP EDX, 0
			JL __004BDCF5h
			CALL PROC__0048B398h
			JMP __004BDD01h
__004BDCF5h:
			NEG EDX
			CALL PROC__0048B398h
			POP EDX
			ADD EAX, EBX
			POP EBX
			RET
__004BDD01h:
			CMP EAX, 0
			JNE __004BDD09h
			POP EAX
			POP EBX
			RET
__004BDD09h:
			PUSH EAX
			MOV EDX, 1001
			MOV EAX, [004CDC7Ch]
			MOV EAX, [EAX]
			CALL PROC__0048B324h
			CMP AL, 1
			JNE __004BDD3Fh
			MOV EAX, [004CDB74h]
			CALL PROC__004A6954h
			CMP EAX, 1
			JNE __004BDD3Fh
			NOP
			POP EDX
			MOV ECX, 1000
			SUB EDX, ECX
			IMUL EAX, EDX
			ADD EAX, ECX
			PUSH EAX
__004BDD3Fh:
			POP EDX
			POP EAX
			IMUL EAX, EDX
			CDQ
			MOV ECX, 1000
			IDIV ECX
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			NOP
			(...)

Bytes

8B00 83FA00 7C07
E8CBA5FEFF
EB0C
F7DA E8C2A5FEFF
5A 01D0 5B C3

83F800 7503
58 5B C3

50 BAE9030000 A1A4AB4900 8B00 E82FA5FEFF
3C01 751C
A19CAA4900 8B00 E81BDDFFFF
83F801 740B
90 5A E8254DFFFF
50 90 90 90 5A 58 0FAFC2 99 B9E8030000 F7F9 5B C3
83FA00 7C07
E8A5D6FCFF
EB0C
F7DA E89CD6FCFF
5A 01D0 5B C3

83F800 7503
58 5B C3

50 BAE9030000 A17CDC4C00 8B00 E809D6FCFF
3C01 7520
A174DB4C00 8B00 E8298CFEFF
83F801 740F
90 5A B9E8030000 29CA 0FAFC2 01C8 50 5A 58 0FAFC2 99 B9E8030000 F7F9
90 90 90 90 90 90 90 90 90 90 90 90 90 90