Include finalized Ironbun map plus finished script

master
sigonasr2 2 years ago
parent 9b922c4eaf
commit 55ee14ee2a
  1. 129
      Ironbun.CT
  2. BIN
      Ironbun/area0.map
  3. BIN
      Ironbun/area1.map
  4. BIN
      Ironbun/area11.map
  5. BIN
      Ironbun/area2.map
  6. BIN
      Ironbun/area3.map
  7. BIN
      Ironbun/area4.map
  8. BIN
      Ironbun/area5.map
  9. BIN
      Ironbun/area6.map
  10. BIN
      Ironbun/area7.map
  11. BIN
      Ironbun/area8.map
  12. BIN
      Ironbun/area9.map
  13. BIN
      Ironbun/save/save0.sav
  14. BIN
      Ironbun/save/save0_a.bmp
  15. 2
      area0.json
  16. 2
      area1.json
  17. 2
      area11.json
  18. 2
      area2.json
  19. 2
      area3.json
  20. 2
      area4.json
  21. 2
      area5.json
  22. 2
      area6.json
  23. 2
      area7.json
  24. 2
      area8.json
  25. 2
      area9.json
  26. 78
      modifyMap.js
  27. 1
      originals/area0.json
  28. 1
      originals/area1.json
  29. 1
      originals/area11.json
  30. 1
      originals/area2.json
  31. 1
      originals/area3.json
  32. 1
      originals/area4.json
  33. 1
      originals/area5.json
  34. 1
      originals/area6.json
  35. 1
      originals/area7.json
  36. 1
      originals/area8.json
  37. 1
      originals/area9.json
  38. BIN
      out

@ -0,0 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="45">
<CheatEntries>
<CheatEntry>
<ID>0</ID>
<Description>"No description"</Description>
<LastState Value="118" RealAddress="19F8BDE8"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>rabiribi.exe+01682364</Address>
<Offsets>
<Offset>4F0</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>1</ID>
<Description>"No description"</Description>
<LastState Value="0" RealAddress="021B7CE8"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>rabiribi.exe+0x1637CE8</Address>
</CheatEntry>
</CheatEntries>
<UserdefinedSymbols/>
<LuaScript>erinaCostume = readInteger("rabiribi.exe+167CFB4")
ribbonCostume = readInteger("rabiribi.exe+167CFB8")
print("Started Bun")
writeInteger("rabiribi.exe+167CFB4",5*65536)
writeInteger("rabiribi.exe+167CFB8",6)
maxHealthPointer=readPointer("rabiribi.exe+01682364")+0x4F0
healthPointer=readPointer("rabiribi.exe+01682364")+0x4E0
currentHealth=50
currentMaxHealth=50
currentDonutCount=0
currentCakeCount=0
characterData={1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1}
townMember={false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false}
characterStartAddr=0x1637CCC
waitForReset=false
confirmTimes=10
skipItemCheck=false
os.remove("C:\\Program Files (x86)\\Steam\\steamapps\\common\\Rabi-Ribi\\custom\\Ironbun\\save\\save0.sav")
function update(timer)
consumedItem=false
skipItemCheck=false
for i, char in ipairs(characterData) do
if (townMember[i]==false and readInteger("rabiribi.exe+"..string.format("%x",characterStartAddr+4*i))==1) then
townMember[i]=true
if (characterData[i]==1) then
print("Add Cake")
currentCakeCount=currentCakeCount+1
writeInteger("rabiribi.exe+167303C",currentCakeCount)
skipItemCheck=true
else
currentDonutCount=currentDonutCount+1
print("Add Donut")
writeInteger("rabiribi.exe+1673038",currentDonutCount)
skipItemCheck=true
end
end
end
if (currentDonutCount-readInteger("rabiribi.exe+1673038")==1 and skipItemCheck==false) then
currentDonutCount=readInteger("rabiribi.exe+1673038")
consumedItem=true
if (math.floor(currentHealth+currentMaxHealth*0.2)&lt;currentMaxHealth) then
currentHealth=math.floor(currentHealth+currentMaxHealth*0.2)
else
currentHealth=currentMaxHealth
end
end
if (currentCakeCount-readInteger("rabiribi.exe+167303C")==1 and skipItemCheck==false) then
currentCakeCount=readInteger("rabiribi.exe+167303C")
consumedItem=true
if (math.floor(currentHealth+currentMaxHealth*0.7)&lt;currentMaxHealth) then
currentHealth=math.floor(currentHealth+currentMaxHealth*0.7)
else
currentHealth=currentMaxHealth
end
end
if (readInteger(maxHealthPointer)==50 and waitForReset==false) then
if (confirmTimes&gt;0) then
confirmTimes=confirmTimes-1
else
currentHealth=50
currentMaxHealth=50
currentDonutCount=0
currentCakeCount=0
waitForReset=true
print("RESET")
os.remove("C:\\Program Files (x86)\\Steam\\steamapps\\common\\Rabi-Ribi\\custom\\Ironbun\\save\\save0.sav")
townMember={false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false}
end
return
else
confirmTimes=10
if (readInteger(healthPointer)==0 and waitForReset==true) then
print("Ded")
os.remove("C:\\Program Files (x86)\\Steam\\steamapps\\common\\Rabi-Ribi\\custom\\Ironbun\\save\\save0.sav")
waitForReset=false
end
if (readInteger(healthPointer)&lt;currentHealth and (readInteger(healthPointer)~=50) and (consumedItem==false)) then
currentHealth=readInteger(healthPointer)
end
if (readInteger(maxHealthPointer)&gt;currentMaxHealth) then
print("Max Health increased: "..tostring(currentMaxHealth).."&gt;"..tostring(readInteger(maxHealthPointer)))
currentHealth=currentHealth+readInteger(maxHealthPointer)-currentMaxHealth
currentMaxHealth=readInteger(maxHealthPointer)
print("Current Health: "..tostring(currentHealth).." / Max: "..tostring(currentMaxHealth))
end
writeInteger("rabiribi.exe+1673038",currentDonutCount)
writeInteger("rabiribi.exe+167303C",currentCakeCount)
writeInteger(healthPointer,currentHealth)
end
writeInteger("rabiribi.exe+16751C4",0)
end
healthSetTimer=createTimer(getMainForm())
healthSetTimer.setInterval(100)
healthSetTimer.setOnTimer(update)
healthSetTimer.setEnabled(true)
</LuaScript>
</CheatTable>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1,8 +1,7 @@
const fs = require('fs'); const fs = require('fs');
mapData=[] mapData=[]
files=["area0.json",
for (file of ["area0.json",
"area1.json", "area1.json",
"area2.json", "area2.json",
"area3.json", "area3.json",
@ -12,12 +11,81 @@ for (file of ["area0.json",
"area7.json", "area7.json",
"area8.json", "area8.json",
"area9.json", "area9.json",
"area11.json"]) { "area11.json"]
mapData=[...mapData,JSON.parse(fs.readFileSync(file))]
for (file of files) {
mapData=[...mapData,JSON.parse(fs.readFileSync("originals/"+file))]
} }
counter=0
for (data of mapData){ for (data of mapData){
counter2=0
for (layer of data.layers) { for (layer of data.layers) {
console.log(layer.data) console.log(layer.name+"["+counter2+"]")
if (layer.name=="event") {
counter3=0
for (object of layer.objects){
counter3++
if (object.name=="224"){
object.name="5001"
}
if (object.name=="42"){
object.name="5001"
}
if (object.name=="44"){
object.name="5001"
}
}
}
if (layer.name=="items")
{
for (object of layer.objects)
{
}
}
counter2++
}
counter++
}
//Level 3 powerups
for (var i=0;i<mapData.length;i++){
for (item of mapData[i].layers[9].objects){
if (Number(item.name)<96){
mapData[i].layers[8].objects=[...mapData[i].layers[8].objects,{ width: 32, height: 32, x: item.x-32, y: item.y, name: '529' }]
mapData[i].layers[8].objects=[...mapData[i].layers[8].objects,{ width: 32, height: 32, x: item.x-32, y: item.y-32, name: '529' }]
mapData[i].layers[8].objects=[...mapData[i].layers[8].objects,{ width: 32, height: 32, x: item.x, y: item.y-32, name: '529' }]
mapData[i].layers[8].objects=[...mapData[i].layers[8].objects,{ width: 32, height: 32, x: item.x, y: item.y+32, name: '529' }]
mapData[i].layers[8].objects=[...mapData[i].layers[8].objects,{ width: 32, height: 32, x: item.x+32, y: item.y, name: '529' }]
mapData[i].layers[8].objects=[...mapData[i].layers[8].objects,{ width: 32, height: 32, x: item.x+32, y: item.y+32, name: '529' }]
mapData[i].layers[8].objects=[...mapData[i].layers[8].objects,{ width: 32, height: 32, x: item.x-32, y: item.y+32, name: '529' }]
mapData[i].layers[8].objects=[...mapData[i].layers[8].objects,{ width: 32, height: 32, x: item.x+32, y: item.y-32, name: '529' }]
}
} }
}
/*
//Speed Boost Level 3 at town
for (var i=0;i<9;i++){
mapData[5].layers[8].objects=[...mapData[5].layers[8].objects,{ width: 32, height: 32, x: 5536, y: 4544-32*i, name: '558' }]
mapData[5].layers[8].objects=[...mapData[5].layers[8].objects,{ width: 32, height: 32, x: 5536+32, y: 4544-32*i, name: '5006' }]
mapData[5].layers[8].objects=[...mapData[5].layers[8].objects,{ width: 32, height: 32, x: 5536+64, y: 4544-32*i, name: '5003' }]
}
//Amulet level 2
for (var i=0;i<13;i++){
mapData[8].layers[8].objects=[...mapData[8].layers[8].objects,{ width: 32, height: 32, x: 4512, y: 2784-32*i, name: '558' }]
mapData[8].layers[8].objects=[...mapData[8].layers[8].objects,{ width: 32, height: 32, x: 4512+32, y: 2784-32*i, name: '5033' }]
mapData[8].layers[8].objects=[...mapData[8].layers[8].objects,{ width: 32, height: 32, x: 4512+64, y: 2784-32*i, name: '5002' }]
}
//Amulet level 3
for (var i=0;i<13;i++){
mapData[8].layers[8].objects=[...mapData[8].layers[8].objects,{ width: 32, height: 32, x: 11072, y: 2784-32*i, name: '558' }]
mapData[8].layers[8].objects=[...mapData[8].layers[8].objects,{ width: 32, height: 32, x: 11072+32, y: 2784-32*i, name: '5033' }]
mapData[8].layers[8].objects=[...mapData[8].layers[8].objects,{ width: 32, height: 32, x: 11072+64, y: 2784-32*i, name: '5003' }]
}*/
//console.log(JSON.stringify(mapData[0]))
for (var i=0;i<files.length;i++){
fs.writeFileSync(files[i],JSON.stringify(mapData[i]))
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

BIN
out

Binary file not shown.
Loading…
Cancel
Save