Quick Modding/Hacking Answers Thread

Jun 11, 2016 at 7:25 AM
beep boop
Bobomb says: "I need a hug!"
Join Date: Aug 16, 2014
Location: no
Posts: 848
Age: 23
Pronouns: he/him
But... you can kill her.
The npc wont' run the script, because they never actually "die", rather they become a different npc/ state after they get to a certain health amount. For Sue, I believe it's 500.
 
Jun 11, 2016 at 8:08 PM
beep boop
Bobomb says: "I need a hug!"
Join Date: Aug 16, 2014
Location: no
Posts: 848
Age: 23
Pronouns: he/him
How do you lower the damage done by spike tiles?
 
Jun 13, 2016 at 5:16 AM
The "C" in "college" is for "crippling debt".
Bobomb says: "I need a hug!"
Join Date: Nov 12, 2014
Location: East Coast America
Posts: 759
Age: 24
Pronouns: he/him
What <SOU commands trigger the sounds for the big explosions that room bosses make and the sounds for Misery's lightning? Can you even makes those sounds with the <SOU command?
 
Jun 13, 2016 at 5:19 AM
me when bro says be holly and jolly for $20
"Life begins and ends with Nu."
Join Date: Jun 27, 2013
Location:
Posts: 2854
Age: 30
Pronouns: She/Her
<SOU0072 and <SOU0101
 
Jun 13, 2016 at 11:22 PM
beep boop
Bobomb says: "I need a hug!"
Join Date: Aug 16, 2014
Location: no
Posts: 848
Age: 23
Pronouns: he/him
0044D3A0 55 PUSH EBP
0044D3A1 8BEC MOV EBP,ESP
0044D3A3 83EC 34 SUB ESP,34
0044D3A6 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
0044D3A9 8B48 74 MOV ECX,DWORD PTR DS:[EAX+74]
0044D3AC 894D CC MOV DWORD PTR SS:[EBP-34],ECX
0044D3AF 837D CC 00 CMP DWORD PTR SS:[EBP-34],0
0044D3B3 74 11 JE SHORT Cold_Cor.0044D3C6
0044D3B5 837D CC 01 CMP DWORD PTR SS:[EBP-34],1
0044D3B9 74 1F JE SHORT Cold_Cor.0044D3DA
0044D3BB 837D CC 0A CMP DWORD PTR SS:[EBP-34],0A
0044D3BF 74 55 JE SHORT Cold_Cor.0044D416
0044D3C1 E9 28010000 JMP Cold_Cor.0044D4EE
0044D3C6 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8]
0044D3C9 C742 74 01000000 MOV DWORD PTR DS:[EDX+74],1
0044D3D0 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
0044D3D3 C740 10 C0FFFFFF MOV DWORD PTR DS:[EAX+10],-40
0044D3DA 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8]
0044D3DD 8B51 0C MOV EDX,DWORD PTR DS:[ECX+C]
0044D3E0 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
0044D3E3 0350 14 ADD EDX,DWORD PTR DS:[EAX+14]
0044D3E6 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8]
0044D3E9 8951 0C MOV DWORD PTR DS:[ECX+C],EDX
0044D3EC 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8]
0044D3EF 8B42 78 MOV EAX,DWORD PTR DS:[EDX+78]
0044D3F2 83C0 01 ADD EAX,1
0044D3F5 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8]
0044D3F8 8941 78 MOV DWORD PTR DS:[ECX+78],EAX
0044D3FB 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8]
0044D3FE 817A 78 00010000 CMP DWORD PTR DS:[EDX+78],100
0044D405 7E 0A JLE SHORT Cold_Cor.0044D411
0044D407 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
0044D40A C740 74 0A000000 MOV DWORD PTR DS:[EAX+74],0A
0044D411 E9 D8000000 JMP Cold_Cor.0044D4EE
0044D416 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8]
0044D419 8B15 54E64900 MOV EDX,DWORD PTR DS:[49E654]
0044D41F 3B51 08 CMP EDX,DWORD PTR DS:[ECX+8]
0044D422 7D 11 JGE SHORT Cold_Cor.0044D435
0044D424 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
0044D427 8B48 10 MOV ECX,DWORD PTR DS:[EAX+10]
0044D42A 83E9 08 SUB ECX,8
0044D42D 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8]
0044D430 894A 10 MOV DWORD PTR DS:[EDX+10],ECX
0044D433 EB 0F JMP SHORT Cold_Cor.0044D444
0044D435 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
0044D438 8B48 10 MOV ECX,DWORD PTR DS:[EAX+10]
0044D43B 83C1 08 ADD ECX,8
0044D43E 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8]
0044D441 894A 10 MOV DWORD PTR DS:[EDX+10],ECX
0044D444 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
0044D447 8B0D 58E64900 MOV ECX,DWORD PTR DS:[49E658]
0044D44D 3B48 0C CMP ECX,DWORD PTR DS:[EAX+C]
0044D450 7D 11 JGE SHORT Cold_Cor.0044D463
0044D452 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8]
0044D455 8B42 14 MOV EAX,DWORD PTR DS:[EDX+14]
0044D458 83E8 08 SUB EAX,8
0044D45B 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8]
0044D45E 8941 14 MOV DWORD PTR DS:[ECX+14],EAX
0044D461 EB 0F JMP SHORT Cold_Cor.0044D472
0044D463 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8]
0044D466 8B42 14 MOV EAX,DWORD PTR DS:[EDX+14]
0044D469 83C0 08 ADD EAX,8
0044D46C 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8]
0044D46F 8941 14 MOV DWORD PTR DS:[ECX+14],EAX
0044D472 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8]
0044D475 817A 10 00040000 CMP DWORD PTR DS:[EDX+10],400
0044D47C 7E 0A JLE SHORT Cold_Cor.0044D488
0044D47E 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
0044D481 C740 10 00040000 MOV DWORD PTR DS:[EAX+10],400
0044D488 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8]
0044D48B 8179 10 00FCFFFF CMP DWORD PTR DS:[ECX+10],-400
0044D492 7D 0A JGE SHORT Cold_Cor.0044D49E
0044D494 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8]
0044D497 C742 10 00FCFFFF MOV DWORD PTR DS:[EDX+10],-400
0044D49E 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
0044D4A1 8178 14 00040000 CMP DWORD PTR DS:[EAX+14],400
0044D4A8 7E 0A JLE SHORT Cold_Cor.0044D4B4
0044D4AA 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8]
0044D4AD C741 14 00040000 MOV DWORD PTR DS:[ECX+14],400
0044D4B4 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8]
0044D4B7 817A 14 00FCFFFF CMP DWORD PTR DS:[EDX+14],-400
0044D4BE 7D 0A JGE SHORT Cold_Cor.0044D4CA
0044D4C0 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
0044D4C3 C740 14 00FCFFFF MOV DWORD PTR DS:[EAX+14],-400
0044D4CA 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8]
0044D4CD 8B51 08 MOV EDX,DWORD PTR DS:[ECX+8]
0044D4D0 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
0044D4D3 0350 10 ADD EDX,DWORD PTR DS:[EAX+10]
0044D4D6 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8]
0044D4D9 8951 08 MOV DWORD PTR DS:[ECX+8],EDX
0044D4DC 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8]
0044D4DF 8B42 0C MOV EAX,DWORD PTR DS:[EDX+C]
0044D4E2 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8]
0044D4E5 0341 14 ADD EAX,DWORD PTR DS:[ECX+14]
0044D4E8 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8]
0044D4EB 8942 0C MOV DWORD PTR DS:[EDX+C],EAX
0044D4EE 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
0044D4F1 8B0D 54E64900 MOV ECX,DWORD PTR DS:[49E654]
0044D4F7 3B48 08 CMP ECX,DWORD PTR DS:[EAX+8]
0044D4FA 7D 0C JGE SHORT Cold_Cor.0044D508
0044D4FC 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8]
0044D4FF C742 4C 00000000 MOV DWORD PTR DS:[EDX+4C],0
0044D506 EB 0A JMP SHORT Cold_Cor.0044D512
0044D508 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
0044D50B C740 4C 02000000 MOV DWORD PTR DS:[EAX+4C],2
0044D512 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8]
0044D515 8B51 64 MOV EDX,DWORD PTR DS:[ECX+64]
0044D518 83C2 01 ADD EDX,1
0044D51B 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
0044D51E 8950 64 MOV DWORD PTR DS:[EAX+64],EDX
0044D521 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8]
0044D524 8379 64 02 CMP DWORD PTR DS:[ECX+64],2
0044D528 7E 19 JLE SHORT Cold_Cor.0044D543
0044D52A 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8]
0044D52D C742 64 00000000 MOV DWORD PTR DS:[EDX+64],0
0044D534 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
0044D537 8B48 68 MOV ECX,DWORD PTR DS:[EAX+68]
0044D53A 83C1 01 ADD ECX,1
0044D53D 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8]
0044D540 894A 68 MOV DWORD PTR DS:[EDX+68],ECX
0044D543 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
0044D546 8378 68 02 CMP DWORD PTR DS:[EAX+68],2
0044D54A 7E 0A JLE SHORT Cold_Cor.0044D556
0044D54C 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8]
0044D54F C741 68 00000000 MOV DWORD PTR DS:[ECX+68],0
0044D556 C745 D0 E0000000 MOV DWORD PTR SS:[EBP-30],0E0
0044D55D C745 D4 B8000000 MOV DWORD PTR SS:[EBP-2C],0B8
0044D564 C745 D8 E8000000 MOV DWORD PTR SS:[EBP-28],0E8
0044D56B C745 DC C8000000 MOV DWORD PTR SS:[EBP-24],0C8
0044D572 C745 E0 E8000000 MOV DWORD PTR SS:[EBP-20],0E8
0044D579 C745 E4 B8000000 MOV DWORD PTR SS:[EBP-1C],0B8
0044D580 C745 E8 F0000000 MOV DWORD PTR SS:[EBP-18],0F0
0044D587 C745 EC C8000000 MOV DWORD PTR SS:[EBP-14],0C8
0044D58E C745 F0 F0000000 MOV DWORD PTR SS:[EBP-10],0F0
0044D595 C745 F4 B8000000 MOV DWORD PTR SS:[EBP-C],0B8
0044D59C C745 F8 F8000000 MOV DWORD PTR SS:[EBP-8],0F8
0044D5A3 C745 FC C8000000 MOV DWORD PTR SS:[EBP-4],0C8
0044D5AA 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8]
0044D5AD 8B42 68 MOV EAX,DWORD PTR DS:[EDX+68]
0044D5B0 C1E0 04 SHL EAX,4
0044D5B3 8D4C05 D0 LEA ECX,DWORD PTR SS:[EBP+EAX-30]
0044D5B7 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8]
0044D5BA 83C2 54 ADD EDX,54
0044D5BD 8B01 MOV EAX,DWORD PTR DS:[ECX]
0044D5BF 8902 MOV DWORD PTR DS:[EDX],EAX
0044D5C1 8B41 04 MOV EAX,DWORD PTR DS:[ECX+4]
0044D5C4 8942 04 MOV DWORD PTR DS:[EDX+4],EAX
0044D5C7 8B41 08 MOV EAX,DWORD PTR DS:[ECX+8]
0044D5CA 8942 08 MOV DWORD PTR DS:[EDX+8],EAX
0044D5CD 8B49 0C MOV ECX,DWORD PTR DS:[ECX+C]
0044D5D0 894A 0C MOV DWORD PTR DS:[EDX+C],ECX
0044D5D3 8BE5 MOV ESP,EBP
0044D5D5 5D POP EBP
0044D5D6 C3 RETN
Alright, I need to make this thing change it's velocity quicker, so how would I do that?

Edit: This is the Homing Flame npc btw.
 
Jun 14, 2016 at 2:36 AM
beep boop
Bobomb says: "I need a hug!"
Join Date: Aug 16, 2014
Location: no
Posts: 848
Age: 23
Pronouns: he/him
How do you get the debug save thing to work that you can see in Resource Hacker?
 
Jun 14, 2016 at 7:55 PM
beep boop
Bobomb says: "I need a hug!"
Join Date: Aug 16, 2014
Location: no
Posts: 848
Age: 23
Pronouns: he/him
Oh, I found an easier way to do it, make one resource before the debug mode have the same value, 40005, and it should delete that one.
 
Jun 15, 2016 at 11:03 AM
Senior Member
"This is the greatest handgun ever made! You have to ask yourself, do I feel lucky?"
Join Date: Oct 22, 2014
Location: Xyrinfe multiverse
Posts: 100
Age: 29
Pronouns: she/her
What's the highest possible HP that any entity can have?
Or is there a different way to make an entity immortal while it can still take damage and such?
(I had in mind something like practice dummies, to test out which weapons are useful at specific levels.)
 
Jun 15, 2016 at 11:23 AM
Deliverer of Sweets
Bobomb says: "I need a hug!"
Join Date: Jul 20, 2015
Location: Under sea level or something
Posts: 804
Age: 26
Pronouns: 菓子
Pretty sure this has been asked before, but can I prevent a weapon from reaching level 3?(Other than not including experience in stages or requiring 9999 experience)
 
Jun 15, 2016 at 8:45 PM
Been here way too long...
"What're YOU lookin' at?"
Join Date: Oct 17, 2011
Location: probably somewhere else
Posts: 1104
Age: 27
Pronouns: none
What's the highest possible HP that any entity can have?
Or is there a different way to make an entity immortal while it can still take damage and such?
(I had in mind something like practice dummies, to test out which weapons are useful at specific levels.)
you can always make an npc with like ~1000 health and set it to 1000 every frame
unless one of your weapons deals 1000 health in one blow you can never destroy it
 
Jun 18, 2016 at 12:47 AM
beep boop
Bobomb says: "I need a hug!"
Join Date: Aug 16, 2014
Location: no
Posts: 848
Age: 23
Pronouns: he/him
Alright, how would I make the exp capsule change from spawning the amount of exp from the flag number to just adding the flag number to the exp of the current weapon.

Edit: Never mind I did it myself. It was quite easy, actually.
 
Last edited:
Jun 18, 2016 at 1:27 AM
Its dark in here
"Deaths: 4000"
Join Date: Nov 21, 2013
Location: farther
Posts: 922
Age: 27
Pronouns: he/him
Alright, how would I make the exp capsule change from spawning the amount of exp from the flag number to just adding the flag number to the exp of the current weapon.

Edit: Never mind I did it myself. It was quite easy, actually.
Mind telling us how then, I'm curious and may want to use such a feature in my mods
 
Jun 18, 2016 at 8:25 PM
beep boop
Bobomb says: "I need a hug!"
Join Date: Aug 16, 2014
Location: no
Posts: 848
Age: 23
Pronouns: he/him
Alright I have it! The exp capsule now gives the exp directly to the weapon, instead of spawning it. The flag id determines the amount of exp, like before.
Code:
00457A4B nop
00457A4E nop
00457A51 nop
00457A52 nop
00457A55 nop
00457A58 nop
00457A59 CALL 004196F0
00457A5E ADD ESP,4
Have fun!
 
Jun 19, 2016 at 2:20 AM
Catz R cool
Modding Community Discord Moderator
"..."
Join Date: Nov 23, 2015
Location: Somewhere within a world far away from reality...
Posts: 381
Age: 24
Pronouns: he/him
Alright I have it! The exp capsule now gives the exp directly to the weapon, instead of spawning it. The flag id determines the amount of exp, like before.
Code:
00457A4B nop
00457A4E nop
00457A51 nop
00457A52 nop
00457A55 nop
00457A58 nop
00457A59 CALL 004196F0
00457A5E ADD ESP,4
Have fun!
You don't need ADD ESP, 4. POP EAX will do just fine, plus it uses less space. It does run very slightly slower though, but that's not going to affect anything, since the game processes millions of lines of code every second anyway. You can also condense the NOPs into FNOPs since they do nothing anyway.
I believe you can only give NPCs 10 digits of health. I've made an NPC with 1000000000 health before, --unless your weapons are doing fuck-tons of damage--nobody will ever kill an NPC with that much health.
Also if you make an NPC run an event on death, and that event is, say 0, it will just end the event and the NPC will never die. Although this may let people skip H/V Triggers if they have the Spur and they can get the game to constantly run an event other than the H/V Trigger's event whilst they walk trough it.
If you want the illusion that the player is making no headway turn off the "Show Damage #" flag. In BL it's actually the second "Interactable" flag.
you can always make an npc with like ~1000 health and set it to 1000 every frame
unless one of your weapons deals 1000 health in one blow you can never destroy it
Max HP = 2,147,483,647 (dec)
7FFFFFFF (hex)
More than that and it will go into the negative (since the values are signed)
So it's larger than 1,000,000,000
But even if you've filled all weapon slots with bullets dealing the max of 127 damage/frame, you'd still only reach about 406,400 dps. That would take half an hour to kill an enemy with 1,000,000,000 HP, and over an hour to kill one with 2,147,483,647
Pretty sure this has been asked before, but can I prevent a weapon from reaching level 3?(Other than not including experience in stages or requiring 9999 experience)
Find some empty space or optimise the weapon slightly, then add in a CALL 0419890
Easiest way to do it is to replace the
MOV ESP,EBP
POP EBP
RETN
with
CALL 419890
LEAVE
RETN
You'll have to use some of the INT3s after the command, don't use this method if there's no space.
This will prevent it levelling up at all. If you somehow level it up in 1 frame it levels down instantly the next frame
I got to 110. But I think I know why it broke the game. Cave Story is just very tricky.
p215803-0-imagesqtbnand9gcrlf76vweht2iivvy7yyniwnguoel0ddjwq4emugcvgfsybb.jpg
from what I remember, you could have something like over 180 maps with cave editor and like thousands with boosters lab (I remember noxid saying this somewhere, but I can't remember where).
It appears that more than 0x80 maps will write into the player's flags! Probably not the best idea.
I've created a working (hopefully) hack that allows you to have up to 256 maps in total:
0x0414B00
55 8B EC A1 F0 57 4A 00 0F BE 88 00 49 49 00 85
C9 75 04 33 C0 EB 05 B8 01 00 00 00 5D C3 CC CC
55 8B EC 68 00 01 00 00 6A 00 68 00 49 49 00 E8
FC C1 06 00 83 C4 0C 5D C3 CC CC CC CC CC CC CC
55 8B EC 8B 45 08 C6 80 00 49 49 00 01 5D C3
0x041D1EE
68 00 49 49 00
0x041D3D2
68 00 49 49 00
0x0494900
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
If there's anything wrong with this, tell me immediately. To add even more maps, just add more 0s behind the array of 0s above, two per map over 256

Okay guys, now for my question.
Why can you only give NPCs a direction of up to 4 using <CNP? It's a DWORD value!
 
Last edited:
Back
Top