Merge branch 'Akebi-Group:master' into master
30
README.md
@ -29,8 +29,15 @@ As well as setting up **`cheat-library`** as startup project.
|
|||||||
## Latest Release
|
## Latest Release
|
||||||
1. Head over to the [action](https://github.com/Akebi-Group/Akebi-GC/actions) page
|
1. Head over to the [action](https://github.com/Akebi-Group/Akebi-GC/actions) page
|
||||||
1. Click Publish workflow
|
1. Click Publish workflow
|
||||||
1. Select most recent workflow with green checkmark ✔
|
1. Select most recent workflow with green checkmark ✔ (Choose your client version **GLOBAL/CN/BETA**)
|
||||||
1. Download Akebi-GC-release in Artifacts section
|
<p align="center">
|
||||||
|
<a href="#"><img src="https://user-images.githubusercontent.com/96950043/186429274-1e556c58-8027-4ec9-9c1d-3609c75aede4.png"></a>
|
||||||
|
</p>
|
||||||
|
4. Download Akebi-GC-release in Artifacts section
|
||||||
|
<p align="center">
|
||||||
|
<a href="#"><img src="https://user-images.githubusercontent.com/96950043/186429302-7c7be3f6-df2f-4e49-9bb9-4a703c3491df.png"></a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
### Requirements
|
### Requirements
|
||||||
- [Visual C++ Redistributable packages for Visual Studio 2015-2022](https://aka.ms/vs/17/release/vc_redist.x64.exe) (x64)
|
- [Visual C++ Redistributable packages for Visual Studio 2015-2022](https://aka.ms/vs/17/release/vc_redist.x64.exe) (x64)
|
||||||
@ -56,19 +63,18 @@ As well as setting up **`cheat-library`** as startup project.
|
|||||||
- Notifications
|
- Notifications
|
||||||
|
|
||||||
#### Player
|
#### Player
|
||||||
- Invincible
|
- God Mode(Invincible)
|
||||||
- Attack Modifier
|
- Attack Modifier: Multi-Hit/Target/Animation
|
||||||
- No Cooldown Skill/Ultimate/Sprint/Bow
|
- No Cooldown: Skill/Ultimate/Sprint/Bow
|
||||||
- Unlimited Stamina
|
- Unlimited Stamina
|
||||||
- No Clip
|
- No Clip
|
||||||
|
|
||||||
#### World
|
#### World
|
||||||
- Auto Seelie
|
- Auto Seelie
|
||||||
- Vacuum Loot
|
|
||||||
- Dumb Enemies
|
- Dumb Enemies
|
||||||
- Freeze Enemies
|
- Freeze Enemies
|
||||||
- Auto Destroy Objects
|
- Auto Destroy: Ores/Shields/Doodas/Plants
|
||||||
- Auto Loot
|
- Auto Loot/Open Chests
|
||||||
- Pickup Range
|
- Pickup Range
|
||||||
- Auto Talk
|
- Auto Talk
|
||||||
- Auto Tree Farm
|
- Auto Tree Farm
|
||||||
@ -77,6 +83,7 @@ As well as setting up **`cheat-library`** as startup project.
|
|||||||
- Auto Fish
|
- Auto Fish
|
||||||
- Kill Aura
|
- Kill Aura
|
||||||
- Mob Vacuum
|
- Mob Vacuum
|
||||||
|
- Vacuum Loot
|
||||||
|
|
||||||
#### Teleport
|
#### Teleport
|
||||||
- Chest/Oculi Teleport (Teleports to nearest)
|
- Chest/Oculi Teleport (Teleports to nearest)
|
||||||
@ -94,16 +101,17 @@ As well as setting up **`cheat-library`** as startup project.
|
|||||||
- Hide UI
|
- Hide UI
|
||||||
- In-game Embedded Browser
|
- In-game Embedded Browser
|
||||||
- Enable Peeking
|
- Enable Peeking
|
||||||
- Profile Changer
|
- Profile Changer: UID/Nickname/AR/WorldLevel/Avatar/Namecard
|
||||||
|
- Custom Weather
|
||||||
- Free Camera
|
- Free Camera
|
||||||
- Texture Changer
|
|
||||||
- Paimon Follow
|
- Paimon Follow
|
||||||
|
- Texture Changer
|
||||||
|
|
||||||
#### Debugging
|
#### Debugging
|
||||||
- Entities Manager
|
- Entities Manager
|
||||||
- Position Info
|
- Position Info
|
||||||
- FPS Graph
|
- FPS Graph
|
||||||
- Packet Sniffer
|
- [Packet Sniffer](https://github.com/Akebi-Group/Akebi-PacketSniffer)
|
||||||
|
|
||||||
|
|
||||||
<h1 align="center">Demo</h1>
|
<h1 align="center">Demo</h1>
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
<ClInclude Include="src\user\cheat\misc\sniffer\pipe\PipeIO.h" />
|
<ClInclude Include="src\user\cheat\misc\sniffer\pipe\PipeIO.h" />
|
||||||
<ClInclude Include="src\user\cheat\player\AutoRun.h" />
|
<ClInclude Include="src\user\cheat\player\AutoRun.h" />
|
||||||
<ClInclude Include="src\user\cheat\visuals\AnimationChanger.h" />
|
<ClInclude Include="src\user\cheat\visuals\AnimationChanger.h" />
|
||||||
|
<ClInclude Include="src\user\cheat\player\FallControl.h" />
|
||||||
<ClInclude Include="src\user\cheat\visuals\TextureChanger.h" />
|
<ClInclude Include="src\user\cheat\visuals\TextureChanger.h" />
|
||||||
<ClInclude Include="src\user\cheat\visuals\FreeCamera.h" />
|
<ClInclude Include="src\user\cheat\visuals\FreeCamera.h" />
|
||||||
<ClInclude Include="src\user\cheat\world\AutoChallenge.h" />
|
<ClInclude Include="src\user\cheat\world\AutoChallenge.h" />
|
||||||
@ -116,6 +117,7 @@
|
|||||||
<ClCompile Include="src\user\cheat\misc\sniffer\pipe\PipeIO.cpp" />
|
<ClCompile Include="src\user\cheat\misc\sniffer\pipe\PipeIO.cpp" />
|
||||||
<ClCompile Include="src\user\cheat\player\AutoRun.cpp" />
|
<ClCompile Include="src\user\cheat\player\AutoRun.cpp" />
|
||||||
<ClCompile Include="src\user\cheat\visuals\AnimationChanger.cpp" />
|
<ClCompile Include="src\user\cheat\visuals\AnimationChanger.cpp" />
|
||||||
|
<ClCompile Include="src\user\cheat\player\FallControl.cpp" />
|
||||||
<ClCompile Include="src\user\cheat\visuals\TextureChanger.cpp" />
|
<ClCompile Include="src\user\cheat\visuals\TextureChanger.cpp" />
|
||||||
<ClCompile Include="src\user\cheat\visuals\FreeCamera.cpp" />
|
<ClCompile Include="src\user\cheat\visuals\FreeCamera.cpp" />
|
||||||
<ClCompile Include="src\user\cheat\world\AutoChallenge.cpp" />
|
<ClCompile Include="src\user\cheat\world\AutoChallenge.cpp" />
|
||||||
@ -224,12 +226,19 @@
|
|||||||
<Image Include="res\iconsHD\Azhdaha.png" />
|
<Image Include="res\iconsHD\Azhdaha.png" />
|
||||||
<Image Include="res\iconsHD\Boar.png" />
|
<Image Include="res\iconsHD\Boar.png" />
|
||||||
<Image Include="res\iconsHD\BookPage.png" />
|
<Image Include="res\iconsHD\BookPage.png" />
|
||||||
|
<Image Include="res\iconsHD\BouncyMushroom.png" />
|
||||||
<Image Include="res\iconsHD\Cat.png" />
|
<Image Include="res\iconsHD\Cat.png" />
|
||||||
<Image Include="res\iconsHD\Cicin.png" />
|
<Image Include="res\iconsHD\Cicin.png" />
|
||||||
|
<Image Include="res\iconsHD\ClusterleafOfCultivation.png" />
|
||||||
<Image Include="res\iconsHD\Crane.png" />
|
<Image Include="res\iconsHD\Crane.png" />
|
||||||
<Image Include="res\iconsHD\CryoBathysmalVishap.png" />
|
<Image Include="res\iconsHD\CryoBathysmalVishap.png" />
|
||||||
<Image Include="res\iconsHD\Dendroculus.png" />
|
<Image Include="res\iconsHD\Dendroculus.png" />
|
||||||
|
<Image Include="res\iconsHD\DendroGranum.png" />
|
||||||
|
<Image Include="res\iconsHD\DendroPile.png" />
|
||||||
|
<Image Include="res\iconsHD\DendroPuzzles.png" />
|
||||||
|
<Image Include="res\iconsHD\DendroRock.png" />
|
||||||
<Image Include="res\iconsHD\Dog.png" />
|
<Image Include="res\iconsHD\Dog.png" />
|
||||||
|
<Image Include="res\iconsHD\DreadfulWithering.png" />
|
||||||
<Image Include="res\iconsHD\DunlinsTooth.png" />
|
<Image Include="res\iconsHD\DunlinsTooth.png" />
|
||||||
<Image Include="res\iconsHD\Dvalin.png" />
|
<Image Include="res\iconsHD\Dvalin.png" />
|
||||||
<Image Include="res\iconsHD\Eel.png" />
|
<Image Include="res\iconsHD\Eel.png" />
|
||||||
@ -418,6 +427,7 @@
|
|||||||
<Image Include="res\iconsHD\NilotpalaLotus.png" />
|
<Image Include="res\iconsHD\NilotpalaLotus.png" />
|
||||||
<Image Include="res\iconsHD\Nobushi.png" />
|
<Image Include="res\iconsHD\Nobushi.png" />
|
||||||
<Image Include="res\iconsHD\NoctilucousJade.png" />
|
<Image Include="res\iconsHD\NoctilucousJade.png" />
|
||||||
|
<Image Include="res\iconsHD\NurseriesInTheWilds.png" />
|
||||||
<Image Include="res\iconsHD\OceanCrab.png" />
|
<Image Include="res\iconsHD\OceanCrab.png" />
|
||||||
<Image Include="res\iconsHD\Oceanid.png" />
|
<Image Include="res\iconsHD\Oceanid.png" />
|
||||||
<Image Include="res\iconsHD\OceanidSummons.png" />
|
<Image Include="res\iconsHD\OceanidSummons.png" />
|
||||||
@ -427,6 +437,7 @@
|
|||||||
<Image Include="res\iconsHD\Padisarah.png" />
|
<Image Include="res\iconsHD\Padisarah.png" />
|
||||||
<Image Include="res\iconsHD\PaleRedCrab.png" />
|
<Image Include="res\iconsHD\PaleRedCrab.png" />
|
||||||
<Image Include="res\iconsHD\PerpetualMechanicalArray.png" />
|
<Image Include="res\iconsHD\PerpetualMechanicalArray.png" />
|
||||||
|
<Image Include="res\iconsHD\PhantasmalGate.png" />
|
||||||
<Image Include="res\iconsHD\PhaseGate.png" />
|
<Image Include="res\iconsHD\PhaseGate.png" />
|
||||||
<Image Include="res\iconsHD\PhilanemoMushroom.png" />
|
<Image Include="res\iconsHD\PhilanemoMushroom.png" />
|
||||||
<Image Include="res\iconsHD\Pigeon.png" />
|
<Image Include="res\iconsHD\Pigeon.png" />
|
||||||
@ -465,6 +476,7 @@
|
|||||||
<Image Include="res\iconsHD\RukkhashavaMushrooms.png" />
|
<Image Include="res\iconsHD\RukkhashavaMushrooms.png" />
|
||||||
<Image Include="res\iconsHD\RustyKoi.png" />
|
<Image Include="res\iconsHD\RustyKoi.png" />
|
||||||
<Image Include="res\iconsHD\SacredSakura.png" />
|
<Image Include="res\iconsHD\SacredSakura.png" />
|
||||||
|
<Image Include="res\iconsHD\SaghiraMachine.png" />
|
||||||
<Image Include="res\iconsHD\SakuraBloom.png" />
|
<Image Include="res\iconsHD\SakuraBloom.png" />
|
||||||
<Image Include="res\iconsHD\Salamander.png" />
|
<Image Include="res\iconsHD\Salamander.png" />
|
||||||
<Image Include="res\iconsHD\Samachurl.png" />
|
<Image Include="res\iconsHD\Samachurl.png" />
|
||||||
@ -507,6 +519,7 @@
|
|||||||
<Image Include="res\iconsHD\Starshroom.png" />
|
<Image Include="res\iconsHD\Starshroom.png" />
|
||||||
<Image Include="res\iconsHD\Starsilver.png" />
|
<Image Include="res\iconsHD\Starsilver.png" />
|
||||||
<Image Include="res\iconsHD\StatueofTheSeven.png" />
|
<Image Include="res\iconsHD\StatueofTheSeven.png" />
|
||||||
|
<Image Include="res\iconsHD\StonePillarSeal.png" />
|
||||||
<Image Include="res\iconsHD\StormBarrier.png" />
|
<Image Include="res\iconsHD\StormBarrier.png" />
|
||||||
<Image Include="res\iconsHD\Stormstone.png" />
|
<Image Include="res\iconsHD\Stormstone.png" />
|
||||||
<Image Include="res\iconsHD\StrangeTooth.png" />
|
<Image Include="res\iconsHD\StrangeTooth.png" />
|
||||||
@ -530,7 +543,8 @@
|
|||||||
<Image Include="res\iconsHD\TorchPuzzle.png" />
|
<Image Include="res\iconsHD\TorchPuzzle.png" />
|
||||||
<Image Include="res\iconsHD\TreasureHoarder.png" />
|
<Image Include="res\iconsHD\TreasureHoarder.png" />
|
||||||
<Image Include="res\iconsHD\TriangularMechanism.png" />
|
<Image Include="res\iconsHD\TriangularMechanism.png" />
|
||||||
<Image Include="res\iconsHD\Tukan.png" />
|
<Image Include="res\iconsHD\DuskBird.png" />
|
||||||
|
<Image Include="res\iconsHD\TriYanaSeeds.png" />
|
||||||
<Image Include="res\iconsHD\UnagiMeat.png" />
|
<Image Include="res\iconsHD\UnagiMeat.png" />
|
||||||
<Image Include="res\iconsHD\UniqueRocks.png" />
|
<Image Include="res\iconsHD\UniqueRocks.png" />
|
||||||
<Image Include="res\iconsHD\UnusualHilichurl.png" />
|
<Image Include="res\iconsHD\UnusualHilichurl.png" />
|
||||||
@ -563,12 +577,19 @@
|
|||||||
<Image Include="res\icons\Azhdaha.png" />
|
<Image Include="res\icons\Azhdaha.png" />
|
||||||
<Image Include="res\icons\Boar.png" />
|
<Image Include="res\icons\Boar.png" />
|
||||||
<Image Include="res\icons\BookPage.png" />
|
<Image Include="res\icons\BookPage.png" />
|
||||||
|
<Image Include="res\icons\BouncyMushroom.png" />
|
||||||
<Image Include="res\icons\Cat.png" />
|
<Image Include="res\icons\Cat.png" />
|
||||||
<Image Include="res\icons\Cicin.png" />
|
<Image Include="res\icons\Cicin.png" />
|
||||||
|
<Image Include="res\icons\ClusterleafOfCultivation.png" />
|
||||||
<Image Include="res\icons\Crane.png" />
|
<Image Include="res\icons\Crane.png" />
|
||||||
<Image Include="res\icons\CryoBathysmalVishap.png" />
|
<Image Include="res\icons\CryoBathysmalVishap.png" />
|
||||||
<Image Include="res\icons\Dendroculus.png" />
|
<Image Include="res\icons\Dendroculus.png" />
|
||||||
|
<Image Include="res\icons\DendroGranum.png" />
|
||||||
|
<Image Include="res\icons\DendroPile.png" />
|
||||||
|
<Image Include="res\icons\DendroPuzzles.png" />
|
||||||
|
<Image Include="res\icons\DendroRock.png" />
|
||||||
<Image Include="res\icons\Dog.png" />
|
<Image Include="res\icons\Dog.png" />
|
||||||
|
<Image Include="res\icons\DreadfulWithering.png" />
|
||||||
<Image Include="res\icons\DunlinsTooth.png" />
|
<Image Include="res\icons\DunlinsTooth.png" />
|
||||||
<Image Include="res\icons\Dvalin.png" />
|
<Image Include="res\icons\Dvalin.png" />
|
||||||
<Image Include="res\icons\Eel.png" />
|
<Image Include="res\icons\Eel.png" />
|
||||||
@ -757,6 +778,7 @@
|
|||||||
<Image Include="res\icons\NilotpalaLotus.png" />
|
<Image Include="res\icons\NilotpalaLotus.png" />
|
||||||
<Image Include="res\icons\Nobushi.png" />
|
<Image Include="res\icons\Nobushi.png" />
|
||||||
<Image Include="res\icons\NoctilucousJade.png" />
|
<Image Include="res\icons\NoctilucousJade.png" />
|
||||||
|
<Image Include="res\icons\NurseriesInTheWilds.png" />
|
||||||
<Image Include="res\icons\OceanCrab.png" />
|
<Image Include="res\icons\OceanCrab.png" />
|
||||||
<Image Include="res\icons\Oceanid.png" />
|
<Image Include="res\icons\Oceanid.png" />
|
||||||
<Image Include="res\icons\OceanidSummons.png" />
|
<Image Include="res\icons\OceanidSummons.png" />
|
||||||
@ -766,6 +788,7 @@
|
|||||||
<Image Include="res\icons\Padisarah.png" />
|
<Image Include="res\icons\Padisarah.png" />
|
||||||
<Image Include="res\icons\PaleRedCrab.png" />
|
<Image Include="res\icons\PaleRedCrab.png" />
|
||||||
<Image Include="res\icons\PerpetualMechanicalArray.png" />
|
<Image Include="res\icons\PerpetualMechanicalArray.png" />
|
||||||
|
<Image Include="res\icons\PhantasmalGate.png" />
|
||||||
<Image Include="res\icons\PhaseGate.png" />
|
<Image Include="res\icons\PhaseGate.png" />
|
||||||
<Image Include="res\icons\PhilanemoMushroom.png" />
|
<Image Include="res\icons\PhilanemoMushroom.png" />
|
||||||
<Image Include="res\icons\Pigeon.png" />
|
<Image Include="res\icons\Pigeon.png" />
|
||||||
@ -804,6 +827,7 @@
|
|||||||
<Image Include="res\icons\RukkhashavaMushrooms.png" />
|
<Image Include="res\icons\RukkhashavaMushrooms.png" />
|
||||||
<Image Include="res\icons\RustyKoi.png" />
|
<Image Include="res\icons\RustyKoi.png" />
|
||||||
<Image Include="res\icons\SacredSakura.png" />
|
<Image Include="res\icons\SacredSakura.png" />
|
||||||
|
<Image Include="res\icons\SaghiraMachine.png" />
|
||||||
<Image Include="res\icons\SakuraBloom.png" />
|
<Image Include="res\icons\SakuraBloom.png" />
|
||||||
<Image Include="res\icons\Salamander.png" />
|
<Image Include="res\icons\Salamander.png" />
|
||||||
<Image Include="res\icons\Samachurl.png" />
|
<Image Include="res\icons\Samachurl.png" />
|
||||||
@ -846,6 +870,7 @@
|
|||||||
<Image Include="res\icons\Starshroom.png" />
|
<Image Include="res\icons\Starshroom.png" />
|
||||||
<Image Include="res\icons\Starsilver.png" />
|
<Image Include="res\icons\Starsilver.png" />
|
||||||
<Image Include="res\icons\StatueofTheSeven.png" />
|
<Image Include="res\icons\StatueofTheSeven.png" />
|
||||||
|
<Image Include="res\icons\StonePillarSeal.png" />
|
||||||
<Image Include="res\icons\StormBarrier.png" />
|
<Image Include="res\icons\StormBarrier.png" />
|
||||||
<Image Include="res\icons\Stormstone.png" />
|
<Image Include="res\icons\Stormstone.png" />
|
||||||
<Image Include="res\icons\StrangeTooth.png" />
|
<Image Include="res\icons\StrangeTooth.png" />
|
||||||
@ -869,7 +894,8 @@
|
|||||||
<Image Include="res\icons\TorchPuzzle.png" />
|
<Image Include="res\icons\TorchPuzzle.png" />
|
||||||
<Image Include="res\icons\TreasureHoarder.png" />
|
<Image Include="res\icons\TreasureHoarder.png" />
|
||||||
<Image Include="res\icons\TriangularMechanism.png" />
|
<Image Include="res\icons\TriangularMechanism.png" />
|
||||||
<Image Include="res\icons\Tukan.png" />
|
<Image Include="res\icons\DuskBird.png" />
|
||||||
|
<Image Include="res\icons\TriYanaSeeds.png" />
|
||||||
<Image Include="res\icons\UnagiMeat.png" />
|
<Image Include="res\icons\UnagiMeat.png" />
|
||||||
<Image Include="res\icons\UniqueRocks.png" />
|
<Image Include="res\icons\UniqueRocks.png" />
|
||||||
<Image Include="res\icons\UnusualHilichurl.png" />
|
<Image Include="res\icons\UnusualHilichurl.png" />
|
||||||
|
@ -255,6 +255,9 @@
|
|||||||
<ClInclude Include="src\user\cheat\visuals\AnimationChanger.h">
|
<ClInclude Include="src\user\cheat\visuals\AnimationChanger.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="src\user\cheat\player\FallControl.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
<ClInclude Include="src\user\cheat\world\AutoChallenge.h">
|
<ClInclude Include="src\user\cheat\world\AutoChallenge.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
@ -471,6 +474,9 @@
|
|||||||
<ClCompile Include="src\user\cheat\visuals\AnimationChanger.cpp">
|
<ClCompile Include="src\user\cheat\visuals\AnimationChanger.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="src\user\cheat\player\FallControl.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="src\user\cheat\world\AutoChallenge.cpp">
|
<ClCompile Include="src\user\cheat\world\AutoChallenge.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
@ -2409,9 +2415,6 @@
|
|||||||
<Image Include="res\iconsHD\SumeruRose.png">
|
<Image Include="res\iconsHD\SumeruRose.png">
|
||||||
<Filter>Resource Files</Filter>
|
<Filter>Resource Files</Filter>
|
||||||
</Image>
|
</Image>
|
||||||
<Image Include="res\iconsHD\Tukan.png">
|
|
||||||
<Filter>Resource Files</Filter>
|
|
||||||
</Image>
|
|
||||||
<Image Include="res\iconsHD\Viparyas.png">
|
<Image Include="res\iconsHD\Viparyas.png">
|
||||||
<Filter>Resource Files</Filter>
|
<Filter>Resource Files</Filter>
|
||||||
</Image>
|
</Image>
|
||||||
@ -2439,9 +2442,6 @@
|
|||||||
<Image Include="res\iconsHD\RukkhashavaMushrooms.png">
|
<Image Include="res\iconsHD\RukkhashavaMushrooms.png">
|
||||||
<Filter>Resource Files</Filter>
|
<Filter>Resource Files</Filter>
|
||||||
</Image>
|
</Image>
|
||||||
<Image Include="res\icons\Tukan.png">
|
|
||||||
<Filter>Resource Files</Filter>
|
|
||||||
</Image>
|
|
||||||
<Image Include="res\icons\Viparyas.png">
|
<Image Include="res\icons\Viparyas.png">
|
||||||
<Filter>Resource Files</Filter>
|
<Filter>Resource Files</Filter>
|
||||||
</Image>
|
</Image>
|
||||||
@ -2526,5 +2526,83 @@
|
|||||||
<Image Include="res\icons\BookPage.png">
|
<Image Include="res\icons\BookPage.png">
|
||||||
<Filter>Resource Files</Filter>
|
<Filter>Resource Files</Filter>
|
||||||
</Image>
|
</Image>
|
||||||
|
<Image Include="res\icons\DuskBird.png">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\iconsHD\DuskBird.png">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\iconsHD\TriYanaSeeds.png">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\iconsHD\BouncyMushroom.png">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\iconsHD\ClusterleafOfCultivation.png">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\iconsHD\DendroGranum.png">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\iconsHD\DendroPile.png">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\iconsHD\DendroPuzzles.png">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\iconsHD\DendroRock.png">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\iconsHD\DreadfulWithering.png">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\iconsHD\NurseriesInTheWilds.png">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\iconsHD\PhantasmalGate.png">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\iconsHD\SaghiraMachine.png">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\iconsHD\StonePillarSeal.png">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\icons\StonePillarSeal.png">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\icons\TriYanaSeeds.png">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\icons\BouncyMushroom.png">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\icons\ClusterleafOfCultivation.png">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\icons\DendroGranum.png">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\icons\DendroPile.png">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\icons\DendroPuzzles.png">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\icons\DendroRock.png">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\icons\DreadfulWithering.png">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\icons\NurseriesInTheWilds.png">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\icons\PhantasmalGate.png">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\icons\SaghiraMachine.png">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</Image>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"game_version": "2.8",
|
"game_version": "3.0",
|
||||||
"modules": {
|
"modules": {
|
||||||
"UnityPlayer.dll": {
|
"UnityPlayer.dll": {
|
||||||
"checksum": 4999961552328781053,
|
"checksum": 18225598526199471527,
|
||||||
"timestamp": 0
|
"timestamp": 0
|
||||||
},
|
},
|
||||||
"UserAssembly.dll": {
|
"UserAssembly.dll": {
|
||||||
"checksum": 807890720029543258,
|
"checksum": 10799527772725786707,
|
||||||
"timestamp": 0
|
"timestamp": 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
BIN
cheat-library/res/icons/BouncyMushroom.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
cheat-library/res/icons/ClusterleafOfCultivation.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
cheat-library/res/icons/DendroGranum.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
cheat-library/res/icons/DendroPile.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
cheat-library/res/icons/DendroPuzzles.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
cheat-library/res/icons/DendroRock.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
cheat-library/res/icons/DreadfulWithering.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
BIN
cheat-library/res/icons/NurseriesInTheWilds.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
cheat-library/res/icons/PhantasmalGate.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
cheat-library/res/icons/SaghiraMachine.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
cheat-library/res/icons/StonePillarSeal.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
cheat-library/res/icons/TriYanaSeeds.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
cheat-library/res/iconsHD/BouncyMushroom.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
cheat-library/res/iconsHD/ClusterleafOfCultivation.png
Normal file
After Width: | Height: | Size: 107 KiB |
BIN
cheat-library/res/iconsHD/DendroGranum.png
Normal file
After Width: | Height: | Size: 80 KiB |
BIN
cheat-library/res/iconsHD/DendroPile.png
Normal file
After Width: | Height: | Size: 55 KiB |
BIN
cheat-library/res/iconsHD/DendroPuzzles.png
Normal file
After Width: | Height: | Size: 68 KiB |
BIN
cheat-library/res/iconsHD/DendroRock.png
Normal file
After Width: | Height: | Size: 84 KiB |
BIN
cheat-library/res/iconsHD/DreadfulWithering.png
Normal file
After Width: | Height: | Size: 109 KiB |
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
BIN
cheat-library/res/iconsHD/NurseriesInTheWilds.png
Normal file
After Width: | Height: | Size: 120 KiB |
BIN
cheat-library/res/iconsHD/PhantasmalGate.png
Normal file
After Width: | Height: | Size: 118 KiB |
BIN
cheat-library/res/iconsHD/SaghiraMachine.png
Normal file
After Width: | Height: | Size: 132 KiB |
BIN
cheat-library/res/iconsHD/StonePillarSeal.png
Normal file
After Width: | Height: | Size: 124 KiB |
BIN
cheat-library/res/iconsHD/TriYanaSeeds.png
Normal file
After Width: | Height: | Size: 27 KiB |
@ -72,6 +72,8 @@ AssemblyChecksums RCDATA "assembly_checksum.json"
|
|||||||
// PNG
|
// PNG
|
||||||
//
|
//
|
||||||
|
|
||||||
|
#pragma region iconsHD
|
||||||
|
|
||||||
HDABIDINGANGELFISH PNG "iconsHD\\AbidingAngelfish.png"
|
HDABIDINGANGELFISH PNG "iconsHD\\AbidingAngelfish.png"
|
||||||
|
|
||||||
HDABYSSMAGE PNG "iconsHD\\AbyssMage.png"
|
HDABYSSMAGE PNG "iconsHD\\AbyssMage.png"
|
||||||
@ -144,6 +146,8 @@ HDBOOKPAGE PNG "iconsHD\\BookPage.png"
|
|||||||
|
|
||||||
HDBOOTWEASEL PNG "iconsHD\\BootWeasel.png"
|
HDBOOTWEASEL PNG "iconsHD\\BootWeasel.png"
|
||||||
|
|
||||||
|
HDBOUNCYMUSHROOM PNG "iconsHD\\BouncyMushroom.png"
|
||||||
|
|
||||||
HDBRIGHTCROWNPIGEON PNG "iconsHD\\BrightcrownPigeon.png"
|
HDBRIGHTCROWNPIGEON PNG "iconsHD\\BrightcrownPigeon.png"
|
||||||
|
|
||||||
HDBROWNSHIRAKODAI PNG "iconsHD\\BrownShirakodai.png"
|
HDBROWNSHIRAKODAI PNG "iconsHD\\BrownShirakodai.png"
|
||||||
@ -166,6 +170,10 @@ HDCHILLEDMEAT PNG "iconsHD\\ChilledMeat.png"
|
|||||||
|
|
||||||
HDCICIN PNG "iconsHD\\Cicin.png"
|
HDCICIN PNG "iconsHD\\Cicin.png"
|
||||||
|
|
||||||
|
HDCLOUDLEISURESTEPS PNG "iconsHD\\CloudleisureSteps.png"
|
||||||
|
|
||||||
|
HDCLUSTERLEAFOFCULTIVATION PNG "iconsHD\\ClusterleafOfCultivation.png"
|
||||||
|
|
||||||
HDCOMMONCHEST PNG "iconsHD\\CommonChest.png"
|
HDCOMMONCHEST PNG "iconsHD\\CommonChest.png"
|
||||||
|
|
||||||
HDCOOKINGINGREDIENT PNG "iconsHD\\CookingIngredient.png"
|
HDCOOKINGINGREDIENT PNG "iconsHD\\CookingIngredient.png"
|
||||||
@ -220,14 +228,28 @@ HDDENDROBIUM PNG "iconsHD\\Dendrobium.png"
|
|||||||
|
|
||||||
HDDENDROCULUS PNG "iconsHD\\Dendroculus.png"
|
HDDENDROCULUS PNG "iconsHD\\Dendroculus.png"
|
||||||
|
|
||||||
|
HDDENDROGRANUM PNG "iconsHD\\DendroGranum.png"
|
||||||
|
|
||||||
|
HDDENDROPILE PNG "iconsHD\\DendroPile.png"
|
||||||
|
|
||||||
|
HDDENDROPUZZLES PNG "iconsHD\\DendroPuzzles.png"
|
||||||
|
|
||||||
|
HDDENDROROCK PNG "iconsHD\\DendroRock.png"
|
||||||
|
|
||||||
HDDIVDARAY PNG "iconsHD\\DivdaRay.png"
|
HDDIVDARAY PNG "iconsHD\\DivdaRay.png"
|
||||||
|
|
||||||
HDDOG PNG "iconsHD\\Dog.png"
|
HDDOG PNG "iconsHD\\Dog.png"
|
||||||
|
|
||||||
HDDOMAIN PNG "iconsHD\\Domain.png"
|
HDDOMAIN PNG "iconsHD\\Domain.png"
|
||||||
|
|
||||||
|
HDDREADFULWITHERING PNG "iconsHD\\DreadfulWithering.png"
|
||||||
|
|
||||||
|
HDDREAMFORM PNG "iconsHD\\DreamForm.png"
|
||||||
|
|
||||||
HDDUNLINSTOOTH PNG "iconsHD\\DunlinsTooth.png"
|
HDDUNLINSTOOTH PNG "iconsHD\\DunlinsTooth.png"
|
||||||
|
|
||||||
|
HDDUSKBIRD PNG "iconsHD\\DuskBird.png"
|
||||||
|
|
||||||
HDDVALIN PNG "iconsHD\\Dvalin.png"
|
HDDVALIN PNG "iconsHD\\Dvalin.png"
|
||||||
|
|
||||||
HDECHOINGCONCH PNG "iconsHD\\EchoingConch.png"
|
HDECHOINGCONCH PNG "iconsHD\\EchoingConch.png"
|
||||||
@ -362,6 +384,8 @@ HDHORSETAIL PNG "iconsHD\\Horsetail.png"
|
|||||||
|
|
||||||
HDHYDROABYSSHERALD PNG "iconsHD\\HydroAbyssHerald.png"
|
HDHYDROABYSSHERALD PNG "iconsHD\\HydroAbyssHerald.png"
|
||||||
|
|
||||||
|
HDHYDROBATHYSMALVISHAP PNG "iconsHD\\HydroBathysmalVishap.png"
|
||||||
|
|
||||||
HDHYDROHYPOSTASIS PNG "iconsHD\\HydroHypostasis.png"
|
HDHYDROHYPOSTASIS PNG "iconsHD\\HydroHypostasis.png"
|
||||||
|
|
||||||
HDILLUSION PNG "iconsHD\\Illusion.png"
|
HDILLUSION PNG "iconsHD\\Illusion.png"
|
||||||
@ -442,6 +466,8 @@ HDMATSUTAKE PNG "iconsHD\\Matsutake.png"
|
|||||||
|
|
||||||
HDMEDAKA PNG "iconsHD\\Medaka.png"
|
HDMEDAKA PNG "iconsHD\\Medaka.png"
|
||||||
|
|
||||||
|
HDMELODICBLOOM PNG "iconsHD\\MelodicBloom.png"
|
||||||
|
|
||||||
HDMERCHANT PNG "iconsHD\\Merchant.png"
|
HDMERCHANT PNG "iconsHD\\Merchant.png"
|
||||||
|
|
||||||
HDMILLELITH PNG "iconsHD\\Millelith.png"
|
HDMILLELITH PNG "iconsHD\\Millelith.png"
|
||||||
@ -474,6 +500,8 @@ HDNOBUSHI PNG "iconsHD\\Nobushi.png"
|
|||||||
|
|
||||||
HDNOCTILUCOUSJADE PNG "iconsHD\\NoctilucousJade.png"
|
HDNOCTILUCOUSJADE PNG "iconsHD\\NoctilucousJade.png"
|
||||||
|
|
||||||
|
HDNURSERIESINTHEWILDS PNG "iconsHD\\NurseriesInTheWilds.png"
|
||||||
|
|
||||||
HDOCEANCRAB PNG "iconsHD\\OceanCrab.png"
|
HDOCEANCRAB PNG "iconsHD\\OceanCrab.png"
|
||||||
|
|
||||||
HDOCEANID PNG "iconsHD\\Oceanid.png"
|
HDOCEANID PNG "iconsHD\\Oceanid.png"
|
||||||
@ -506,6 +534,8 @@ HDPALEREDCRAB PNG "iconsHD\\PaleRedCrab.png"
|
|||||||
|
|
||||||
HDPERPETUALMECHANICALARRAY PNG "iconsHD\\PerpetualMechanicalArray.png"
|
HDPERPETUALMECHANICALARRAY PNG "iconsHD\\PerpetualMechanicalArray.png"
|
||||||
|
|
||||||
|
HDPHANTASMALGATE PNG "iconsHD\\PhantasmalGate.png"
|
||||||
|
|
||||||
HDPHASEGATE PNG "iconsHD\\PhaseGate.png"
|
HDPHASEGATE PNG "iconsHD\\PhaseGate.png"
|
||||||
|
|
||||||
HDPHILANEMOMUSHROOM PNG "iconsHD\\PhilanemoMushroom.png"
|
HDPHILANEMOMUSHROOM PNG "iconsHD\\PhilanemoMushroom.png"
|
||||||
@ -584,6 +614,8 @@ HDRUSTYKOI PNG "iconsHD\\RustyKoi.png"
|
|||||||
|
|
||||||
HDSACREDSAKURA PNG "iconsHD\\SacredSakura.png"
|
HDSACREDSAKURA PNG "iconsHD\\SacredSakura.png"
|
||||||
|
|
||||||
|
HDSAGHIRAMACHINE PNG "iconsHD\\SaghiraMachine.png"
|
||||||
|
|
||||||
HDSAKURABLOOM PNG "iconsHD\\SakuraBloom.png"
|
HDSAKURABLOOM PNG "iconsHD\\SakuraBloom.png"
|
||||||
|
|
||||||
HDSALAMANDER PNG "iconsHD\\Salamander.png"
|
HDSALAMANDER PNG "iconsHD\\Salamander.png"
|
||||||
@ -606,8 +638,6 @@ HDSEAGRASS PNG "iconsHD\\Seagrass.png"
|
|||||||
|
|
||||||
HDSEALEDCHEST PNG "iconsHD\\SealedChest.png"
|
HDSEALEDCHEST PNG "iconsHD\\SealedChest.png"
|
||||||
|
|
||||||
HDSEALLOCATIONS PNG "iconsHD\\SealLocationI.png"
|
|
||||||
|
|
||||||
HDSEALLOCATIONI PNG "iconsHD\\SealLocationI.png"
|
HDSEALLOCATIONI PNG "iconsHD\\SealLocationI.png"
|
||||||
|
|
||||||
HDSEALLOCATIONII PNG "iconsHD\\SealLocationII.png"
|
HDSEALLOCATIONII PNG "iconsHD\\SealLocationII.png"
|
||||||
@ -616,6 +646,8 @@ HDSEALLOCATIONIII PNG "iconsHD\\SealLocationIII.png"
|
|||||||
|
|
||||||
HDSEALLOCATIONIV PNG "iconsHD\\SealLocationIV.png"
|
HDSEALLOCATIONIV PNG "iconsHD\\SealLocationIV.png"
|
||||||
|
|
||||||
|
HDSEALLOCATIONS PNG "iconsHD\\SealLocationI.png"
|
||||||
|
|
||||||
HDSEALLOCATIONV PNG "iconsHD\\SealLocationV.png"
|
HDSEALLOCATIONV PNG "iconsHD\\SealLocationV.png"
|
||||||
|
|
||||||
HDSEELIE PNG "iconsHD\\Seelie.png"
|
HDSEELIE PNG "iconsHD\\Seelie.png"
|
||||||
@ -664,12 +696,16 @@ HDSQUIRREL PNG "iconsHD\\Squirrel.png"
|
|||||||
|
|
||||||
HDSTARCONCH PNG "iconsHD\\Starconch.png"
|
HDSTARCONCH PNG "iconsHD\\Starconch.png"
|
||||||
|
|
||||||
|
HDSTARLIGHTCOALESCENCE PNG "iconsHD\\StarlightCoalescence.png"
|
||||||
|
|
||||||
HDSTARSHROOM PNG "iconsHD\\Starshroom.png"
|
HDSTARSHROOM PNG "iconsHD\\Starshroom.png"
|
||||||
|
|
||||||
HDSTARSILVER PNG "iconsHD\\Starsilver.png"
|
HDSTARSILVER PNG "iconsHD\\Starsilver.png"
|
||||||
|
|
||||||
HDSTATUEOFTHESEVEN PNG "iconsHD\\StatueofTheSeven.png"
|
HDSTATUEOFTHESEVEN PNG "iconsHD\\StatueofTheSeven.png"
|
||||||
|
|
||||||
|
HDSTONEPILLARSEAL PNG "iconsHD\\StonePillarSeal.png"
|
||||||
|
|
||||||
HDSTORMBARRIER PNG "iconsHD\\StormBarrier.png"
|
HDSTORMBARRIER PNG "iconsHD\\StormBarrier.png"
|
||||||
|
|
||||||
HDSTORMSTONE PNG "iconsHD\\Stormstone.png"
|
HDSTORMSTONE PNG "iconsHD\\Stormstone.png"
|
||||||
@ -704,6 +740,8 @@ HDTHECRUXTHEALCOR PNG "iconsHD\\TheCruxTheAlcor.png"
|
|||||||
|
|
||||||
HDTHEGREATSNOWBOARKING PNG "iconsHD\\TheGreatSnowboarKing.png"
|
HDTHEGREATSNOWBOARKING PNG "iconsHD\\TheGreatSnowboarKing.png"
|
||||||
|
|
||||||
|
HDTHERAVENFORUM PNG "iconsHD\\TheRavenForum.png"
|
||||||
|
|
||||||
HDTHREEBOXES PNG "iconsHD\\ThreeBoxes.png"
|
HDTHREEBOXES PNG "iconsHD\\ThreeBoxes.png"
|
||||||
|
|
||||||
HDTHUNDERMANIFESTATION PNG "iconsHD\\ThunderManifestation.png"
|
HDTHUNDERMANIFESTATION PNG "iconsHD\\ThunderManifestation.png"
|
||||||
@ -716,7 +754,7 @@ HDTREASUREHOARDER PNG "iconsHD\\TreasureHoarder.png"
|
|||||||
|
|
||||||
HDTRIANGULARMECHANISM PNG "iconsHD\\TriangularMechanism.png"
|
HDTRIANGULARMECHANISM PNG "iconsHD\\TriangularMechanism.png"
|
||||||
|
|
||||||
HDTUKAN PNG "iconsHD\\Tukan.png"
|
HDTRIYANASEEDS PNG "iconsHD\\TriYanaSeeds.png"
|
||||||
|
|
||||||
HDUNAGIMEAT PNG "iconsHD\\UnagiMeat.png"
|
HDUNAGIMEAT PNG "iconsHD\\UnagiMeat.png"
|
||||||
|
|
||||||
@ -771,17 +809,11 @@ HDWORLDQUESTS PNG "iconsHD\\WorldQuests.png"
|
|||||||
HDYUMEMIRUWOOD PNG "iconsHD\\YumemiruWood.png"
|
HDYUMEMIRUWOOD PNG "iconsHD\\YumemiruWood.png"
|
||||||
|
|
||||||
HDZAYTUNPEACH PNG "iconsHD\\ZaytunPeach.png"
|
HDZAYTUNPEACH PNG "iconsHD\\ZaytunPeach.png"
|
||||||
|
#pragma endregion
|
||||||
|
|
||||||
HDMELODICBLOOM PNG "iconsHD\\MelodicBloom.png"
|
|
||||||
|
|
||||||
HDCLOUDLEISURESTEPS PNG "iconsHD\\CloudleisureSteps.png"
|
|
||||||
|
|
||||||
HDDREAMFORM PNG "iconsHD\\DreamForm.png"
|
|
||||||
|
|
||||||
HDSTARLIGHTCOALESCENCE PNG "iconsHD\\StarlightCoalescence.png"
|
|
||||||
|
|
||||||
HDTHERAVENFORUM PNG "iconsHD\\TheRavenForum.png"
|
|
||||||
|
|
||||||
|
#pragma region icons
|
||||||
ABIDINGANGELFISH PNG "icons\\AbidingAngelfish.png"
|
ABIDINGANGELFISH PNG "icons\\AbidingAngelfish.png"
|
||||||
|
|
||||||
ABYSSMAGE PNG "icons\\AbyssMage.png"
|
ABYSSMAGE PNG "icons\\AbyssMage.png"
|
||||||
@ -858,6 +890,8 @@ BOOKPAGE PNG "icons\\BookPage.png"
|
|||||||
|
|
||||||
BOOTWEASEL PNG "icons\\BootWeasel.png"
|
BOOTWEASEL PNG "icons\\BootWeasel.png"
|
||||||
|
|
||||||
|
BOUNCYMUSHROOM PNG "icons\\BouncyMushroom.png"
|
||||||
|
|
||||||
BRIGHTCROWNPIGEON PNG "icons\\BrightcrownPigeon.png"
|
BRIGHTCROWNPIGEON PNG "icons\\BrightcrownPigeon.png"
|
||||||
|
|
||||||
BROWNSHIRAKODAI PNG "icons\\BrownShirakodai.png"
|
BROWNSHIRAKODAI PNG "icons\\BrownShirakodai.png"
|
||||||
@ -880,6 +914,10 @@ CHILLEDMEAT PNG "icons\\ChilledMeat.png"
|
|||||||
|
|
||||||
CICIN PNG "icons\\Cicin.png"
|
CICIN PNG "icons\\Cicin.png"
|
||||||
|
|
||||||
|
CLOUDLEISURESTEPS PNG "icons\\CloudleisureSteps.png"
|
||||||
|
|
||||||
|
CLUSTERLEAFOFCULTIVATION PNG "icons\\ClusterleafOfCultivation.png"
|
||||||
|
|
||||||
COMMONCHEST PNG "icons\\CommonChest.png"
|
COMMONCHEST PNG "icons\\CommonChest.png"
|
||||||
|
|
||||||
COOKINGINGREDIENT PNG "icons\\CookingIngredient.png"
|
COOKINGINGREDIENT PNG "icons\\CookingIngredient.png"
|
||||||
@ -934,14 +972,28 @@ DENDROBIUM PNG "icons\\Dendrobium.png"
|
|||||||
|
|
||||||
DENDROCULUS PNG "icons\\Dendroculus.png"
|
DENDROCULUS PNG "icons\\Dendroculus.png"
|
||||||
|
|
||||||
|
DENDROGRANUM PNG "icons\\DendroGranum.png"
|
||||||
|
|
||||||
|
DENDROPILE PNG "icons\\DendroPile.png"
|
||||||
|
|
||||||
|
DENDROPUZZLES PNG "icons\\DendroPuzzles.png"
|
||||||
|
|
||||||
|
DENDROROCK PNG "icons\\DendroRock.png"
|
||||||
|
|
||||||
DIVDARAY PNG "icons\\DivdaRay.png"
|
DIVDARAY PNG "icons\\DivdaRay.png"
|
||||||
|
|
||||||
DOG PNG "icons\\Dog.png"
|
DOG PNG "icons\\Dog.png"
|
||||||
|
|
||||||
DOMAIN PNG "icons\\Domain.png"
|
DOMAIN PNG "icons\\Domain.png"
|
||||||
|
|
||||||
|
DREADFULWITHERING PNG "icons\\DreadfulWithering.png"
|
||||||
|
|
||||||
|
DREAMFORM PNG "icons\\DreamForm.png"
|
||||||
|
|
||||||
DUNLINSTOOTH PNG "icons\\DunlinsTooth.png"
|
DUNLINSTOOTH PNG "icons\\DunlinsTooth.png"
|
||||||
|
|
||||||
|
DUSKBIRD PNG "icons\\DuskBird.png"
|
||||||
|
|
||||||
DVALIN PNG "icons\\Dvalin.png"
|
DVALIN PNG "icons\\Dvalin.png"
|
||||||
|
|
||||||
ECHOINGCONCH PNG "icons\\EchoingConch.png"
|
ECHOINGCONCH PNG "icons\\EchoingConch.png"
|
||||||
@ -1076,6 +1128,8 @@ HORSETAIL PNG "icons\\Horsetail.png"
|
|||||||
|
|
||||||
HYDROABYSSHERALD PNG "icons\\HydroAbyssHerald.png"
|
HYDROABYSSHERALD PNG "icons\\HydroAbyssHerald.png"
|
||||||
|
|
||||||
|
HYDROBATHYSMALVISHAP PNG "icons\\HydroBathysmalVishap.png"
|
||||||
|
|
||||||
HYDROHYPOSTASIS PNG "icons\\HydroHypostasis.png"
|
HYDROHYPOSTASIS PNG "icons\\HydroHypostasis.png"
|
||||||
|
|
||||||
ILLUSION PNG "icons\\Illusion.png"
|
ILLUSION PNG "icons\\Illusion.png"
|
||||||
@ -1156,6 +1210,8 @@ MATSUTAKE PNG "icons\\Matsutake.png"
|
|||||||
|
|
||||||
MEDAKA PNG "icons\\Medaka.png"
|
MEDAKA PNG "icons\\Medaka.png"
|
||||||
|
|
||||||
|
MELODICBLOOM PNG "icons\\MelodicBloom.png"
|
||||||
|
|
||||||
MERCHANT PNG "icons\\Merchant.png"
|
MERCHANT PNG "icons\\Merchant.png"
|
||||||
|
|
||||||
MILLELITH PNG "icons\\Millelith.png"
|
MILLELITH PNG "icons\\Millelith.png"
|
||||||
@ -1190,6 +1246,8 @@ NOCTILUCOUSJADE PNG "icons\\NoctilucousJade.png"
|
|||||||
|
|
||||||
NPC PNG "icons\\Npc.png"
|
NPC PNG "icons\\Npc.png"
|
||||||
|
|
||||||
|
NURSERIESINTHEWILDS PNG "icons\\NurseriesInTheWilds.png"
|
||||||
|
|
||||||
OCEANCRAB PNG "icons\\OceanCrab.png"
|
OCEANCRAB PNG "icons\\OceanCrab.png"
|
||||||
|
|
||||||
OCEANID PNG "icons\\Oceanid.png"
|
OCEANID PNG "icons\\Oceanid.png"
|
||||||
@ -1222,6 +1280,8 @@ PALEREDCRAB PNG "icons\\PaleRedCrab.png"
|
|||||||
|
|
||||||
PERPETUALMECHANICALARRAY PNG "icons\\PerpetualMechanicalArray.png"
|
PERPETUALMECHANICALARRAY PNG "icons\\PerpetualMechanicalArray.png"
|
||||||
|
|
||||||
|
PHANTASMALGATE PNG "icons\\PhantasmalGate.png"
|
||||||
|
|
||||||
PHASEGATE PNG "icons\\PhaseGate.png"
|
PHASEGATE PNG "icons\\PhaseGate.png"
|
||||||
|
|
||||||
PHILANEMOMUSHROOM PNG "icons\\PhilanemoMushroom.png"
|
PHILANEMOMUSHROOM PNG "icons\\PhilanemoMushroom.png"
|
||||||
@ -1300,6 +1360,8 @@ RUSTYKOI PNG "icons\\RustyKoi.png"
|
|||||||
|
|
||||||
SACREDSAKURA PNG "icons\\SacredSakura.png"
|
SACREDSAKURA PNG "icons\\SacredSakura.png"
|
||||||
|
|
||||||
|
SAGHIRAMACHINE PNG "icons\\SaghiraMachine.png"
|
||||||
|
|
||||||
SAKURABLOOM PNG "icons\\SakuraBloom.png"
|
SAKURABLOOM PNG "icons\\SakuraBloom.png"
|
||||||
|
|
||||||
SALAMANDER PNG "icons\\Salamander.png"
|
SALAMANDER PNG "icons\\Salamander.png"
|
||||||
@ -1322,8 +1384,6 @@ SEAGRASS PNG "icons\\Seagrass.png"
|
|||||||
|
|
||||||
SEALEDCHEST PNG "icons\\SealedChest.png"
|
SEALEDCHEST PNG "icons\\SealedChest.png"
|
||||||
|
|
||||||
SEALLOCATIONS PNG "icons\\SealLocationI.png"
|
|
||||||
|
|
||||||
SEALLOCATIONI PNG "icons\\SealLocationI.png"
|
SEALLOCATIONI PNG "icons\\SealLocationI.png"
|
||||||
|
|
||||||
SEALLOCATIONII PNG "icons\\SealLocationII.png"
|
SEALLOCATIONII PNG "icons\\SealLocationII.png"
|
||||||
@ -1332,6 +1392,8 @@ SEALLOCATIONIII PNG "icons\\SealLocationIII.png"
|
|||||||
|
|
||||||
SEALLOCATIONIV PNG "icons\\SealLocationIV.png"
|
SEALLOCATIONIV PNG "icons\\SealLocationIV.png"
|
||||||
|
|
||||||
|
SEALLOCATIONS PNG "icons\\SealLocationI.png"
|
||||||
|
|
||||||
SEALLOCATIONV PNG "icons\\SealLocationV.png"
|
SEALLOCATIONV PNG "icons\\SealLocationV.png"
|
||||||
|
|
||||||
SEELIE PNG "icons\\Seelie.png"
|
SEELIE PNG "icons\\Seelie.png"
|
||||||
@ -1380,12 +1442,16 @@ SQUIRREL PNG "icons\\Squirrel.png"
|
|||||||
|
|
||||||
STARCONCH PNG "icons\\Starconch.png"
|
STARCONCH PNG "icons\\Starconch.png"
|
||||||
|
|
||||||
|
STARLIGHTCOALESCENCE PNG "icons\\StarlightCoalescence.png"
|
||||||
|
|
||||||
STARSHROOM PNG "icons\\Starshroom.png"
|
STARSHROOM PNG "icons\\Starshroom.png"
|
||||||
|
|
||||||
STARSILVER PNG "icons\\Starsilver.png"
|
STARSILVER PNG "icons\\Starsilver.png"
|
||||||
|
|
||||||
STATUEOFTHESEVEN PNG "icons\\StatueofTheSeven.png"
|
STATUEOFTHESEVEN PNG "icons\\StatueofTheSeven.png"
|
||||||
|
|
||||||
|
STONEPILLARSEAL PNG "icons\\StonePillarSeal.png"
|
||||||
|
|
||||||
STORMBARRIER PNG "icons\\StormBarrier.png"
|
STORMBARRIER PNG "icons\\StormBarrier.png"
|
||||||
|
|
||||||
STORMSTONE PNG "icons\\Stormstone.png"
|
STORMSTONE PNG "icons\\Stormstone.png"
|
||||||
@ -1420,6 +1486,8 @@ THECRUXTHEALCOR PNG "icons\\TheCruxTheAlcor.png"
|
|||||||
|
|
||||||
THEGREATSNOWBOARKING PNG "icons\\TheGreatSnowboarKing.png"
|
THEGREATSNOWBOARKING PNG "icons\\TheGreatSnowboarKing.png"
|
||||||
|
|
||||||
|
THERAVENFORUM PNG "icons\\TheRavenForum.png"
|
||||||
|
|
||||||
THREEBOXES PNG "icons\\ThreeBoxes.png"
|
THREEBOXES PNG "icons\\ThreeBoxes.png"
|
||||||
|
|
||||||
THUNDERMANIFESTATION PNG "icons\\ThunderManifestation.png"
|
THUNDERMANIFESTATION PNG "icons\\ThunderManifestation.png"
|
||||||
@ -1432,7 +1500,7 @@ TREASUREHOARDER PNG "icons\\TreasureHoarder.png"
|
|||||||
|
|
||||||
TRIANGULARMECHANISM PNG "icons\\TriangularMechanism.png"
|
TRIANGULARMECHANISM PNG "icons\\TriangularMechanism.png"
|
||||||
|
|
||||||
TUKAN PNG "icons\\Tukan.png"
|
TRIYANASEEDS PNG "icons\\TriYanaSeeds.png"
|
||||||
|
|
||||||
UNAGIMEAT PNG "icons\\UnagiMeat.png"
|
UNAGIMEAT PNG "icons\\UnagiMeat.png"
|
||||||
|
|
||||||
@ -1487,16 +1555,7 @@ WORLDQUESTS PNG "icons\\WorldQuests.png"
|
|||||||
YUMEMIRUWOOD PNG "icons\\YumemiruWood.png"
|
YUMEMIRUWOOD PNG "icons\\YumemiruWood.png"
|
||||||
|
|
||||||
ZAYTUNPEACH PNG "icons\\ZaytunPeach.png"
|
ZAYTUNPEACH PNG "icons\\ZaytunPeach.png"
|
||||||
|
#pragma endregion
|
||||||
MELODICBLOOM PNG "icons\\MelodicBloom.png"
|
|
||||||
|
|
||||||
CLOUDLEISURESTEPS PNG "icons\\CloudleisureSteps.png"
|
|
||||||
|
|
||||||
DREAMFORM PNG "icons\\DreamForm.png"
|
|
||||||
|
|
||||||
STARLIGHTCOALESCENCE PNG "icons\\StarlightCoalescence.png"
|
|
||||||
|
|
||||||
THERAVENFORUM PNG "icons\\TheRavenForum.png"
|
|
||||||
|
|
||||||
#endif // English (United States) resources
|
#endif // English (United States) resources
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -57,6 +57,7 @@
|
|||||||
#include <cheat/visuals/TextureChanger.h>
|
#include <cheat/visuals/TextureChanger.h>
|
||||||
#include <cheat/visuals/FreeCamera.h>
|
#include <cheat/visuals/FreeCamera.h>
|
||||||
#include <cheat/visuals/AnimationChanger.h>
|
#include <cheat/visuals/AnimationChanger.h>
|
||||||
|
#include <cheat/player/FallControl.h>
|
||||||
|
|
||||||
#include "GenshinCM.h"
|
#include "GenshinCM.h"
|
||||||
|
|
||||||
@ -87,6 +88,7 @@ namespace cheat
|
|||||||
FEAT_INST(NoClip),
|
FEAT_INST(NoClip),
|
||||||
FEAT_INST(RapidFire),
|
FEAT_INST(RapidFire),
|
||||||
FEAT_INST(AutoRun),
|
FEAT_INST(AutoRun),
|
||||||
|
FEAT_INST(FallControl),
|
||||||
|
|
||||||
FEAT_INST(AutoLoot),
|
FEAT_INST(AutoLoot),
|
||||||
FEAT_INST(AutoTreeFarm),
|
FEAT_INST(AutoTreeFarm),
|
||||||
|
@ -581,27 +581,30 @@ namespace cheat::feature
|
|||||||
ADD_FILTER_FIELD(chest, LuxuriousChest);
|
ADD_FILTER_FIELD(chest, LuxuriousChest);
|
||||||
ADD_FILTER_FIELD(chest, RemarkableChest);
|
ADD_FILTER_FIELD(chest, RemarkableChest);
|
||||||
// Other Chests
|
// Other Chests
|
||||||
ADD_FILTER_FIELD(chest, BuriedChest);
|
//ADD_FILTER_FIELD(chest, BuriedChest); // Shared name, commented for now
|
||||||
ADD_FILTER_FIELD(chest, SearchPoint);
|
ADD_FILTER_FIELD(chest, SearchPoint);
|
||||||
|
|
||||||
|
|
||||||
ADD_FILTER_FIELD(featured, Anemoculus);
|
ADD_FILTER_FIELD(featured, Anemoculus);
|
||||||
ADD_FILTER_FIELD(featured, CrimsonAgate);
|
ADD_FILTER_FIELD(featured, CrimsonAgate);
|
||||||
ADD_FILTER_FIELD(featured, Electroculus);
|
|
||||||
ADD_FILTER_FIELD(featured, Dendroculus);
|
ADD_FILTER_FIELD(featured, Dendroculus);
|
||||||
ADD_FILTER_FIELD(featured, EchoingConch);
|
ADD_FILTER_FIELD(featured, Electroculus);
|
||||||
ADD_FILTER_FIELD(featured, Electrogranum);
|
ADD_FILTER_FIELD(featured, Electrogranum);
|
||||||
ADD_FILTER_FIELD(featured, FishingPoint);
|
ADD_FILTER_FIELD(featured, FishingPoint);
|
||||||
ADD_FILTER_FIELD(featured, Geoculus);
|
ADD_FILTER_FIELD(featured, Geoculus);
|
||||||
ADD_FILTER_FIELD(featured, ImagingConch);
|
|
||||||
ADD_FILTER_FIELD(featured, ItemDrops);
|
ADD_FILTER_FIELD(featured, ItemDrops);
|
||||||
ADD_FILTER_FIELD(featured, KeySigil);
|
ADD_FILTER_FIELD(featured, KeySigil);
|
||||||
ADD_FILTER_FIELD(featured, Lumenspar);
|
ADD_FILTER_FIELD(featured, Lumenspar);
|
||||||
ADD_FILTER_FIELD(featured, ShrineOfDepth);
|
ADD_FILTER_FIELD(featured, ShrineOfDepth);
|
||||||
ADD_FILTER_FIELD(featured, TimeTrialChallenge);
|
ADD_FILTER_FIELD(featured, TimeTrialChallenge);
|
||||||
|
|
||||||
|
ADD_FILTER_FIELD(guide, BouncyMushroom);
|
||||||
ADD_FILTER_FIELD(guide, CampfireTorch);
|
ADD_FILTER_FIELD(guide, CampfireTorch);
|
||||||
|
ADD_FILTER_FIELD(guide, ClusterleafOfCultivation);
|
||||||
ADD_FILTER_FIELD(guide, DayNightSwitchingMechanism);
|
ADD_FILTER_FIELD(guide, DayNightSwitchingMechanism);
|
||||||
|
ADD_FILTER_FIELD(guide, DendroGranum);
|
||||||
|
ADD_FILTER_FIELD(guide, DendroPile);
|
||||||
|
ADD_FILTER_FIELD(guide, DendroRock);
|
||||||
ADD_FILTER_FIELD(guide, EnkanomiyaPhaseGate);
|
ADD_FILTER_FIELD(guide, EnkanomiyaPhaseGate);
|
||||||
ADD_FILTER_FIELD(guide, MysteriousCarvings);
|
ADD_FILTER_FIELD(guide, MysteriousCarvings);
|
||||||
ADD_FILTER_FIELD(guide, PhaseGate);
|
ADD_FILTER_FIELD(guide, PhaseGate);
|
||||||
@ -623,6 +626,7 @@ namespace cheat::feature
|
|||||||
ADD_FILTER_FIELD(living, Crow);
|
ADD_FILTER_FIELD(living, Crow);
|
||||||
ADD_FILTER_FIELD(living, CrystalCore);
|
ADD_FILTER_FIELD(living, CrystalCore);
|
||||||
ADD_FILTER_FIELD(living, Dog);
|
ADD_FILTER_FIELD(living, Dog);
|
||||||
|
ADD_FILTER_FIELD(living, DuskBird);
|
||||||
ADD_FILTER_FIELD(living, Eel);
|
ADD_FILTER_FIELD(living, Eel);
|
||||||
ADD_FILTER_FIELD(living, Falcon);
|
ADD_FILTER_FIELD(living, Falcon);
|
||||||
ADD_FILTER_FIELD(living, Finch);
|
ADD_FILTER_FIELD(living, Finch);
|
||||||
@ -640,7 +644,6 @@ namespace cheat::feature
|
|||||||
ADD_FILTER_FIELD(living, Salamander);
|
ADD_FILTER_FIELD(living, Salamander);
|
||||||
ADD_FILTER_FIELD(living, Squirrel);
|
ADD_FILTER_FIELD(living, Squirrel);
|
||||||
ADD_FILTER_FIELD(living, Starconch);
|
ADD_FILTER_FIELD(living, Starconch);
|
||||||
ADD_FILTER_FIELD(living, Tukan);
|
|
||||||
ADD_FILTER_FIELD(living, Weasel);
|
ADD_FILTER_FIELD(living, Weasel);
|
||||||
ADD_FILTER_FIELD(living, Wigeon);
|
ADD_FILTER_FIELD(living, Wigeon);
|
||||||
|
|
||||||
@ -710,7 +713,6 @@ namespace cheat::feature
|
|||||||
ADD_FILTER_FIELD(monster, Hilichurl);
|
ADD_FILTER_FIELD(monster, Hilichurl);
|
||||||
ADD_FILTER_FIELD(monster, HydroAbyssHerald);
|
ADD_FILTER_FIELD(monster, HydroAbyssHerald);
|
||||||
ADD_FILTER_FIELD(monster, HydroBathysmalVishap);
|
ADD_FILTER_FIELD(monster, HydroBathysmalVishap);
|
||||||
ADD_FILTER_FIELD(monster, HydroHypostasisSummon);
|
|
||||||
ADD_FILTER_FIELD(monster, Kairagi);
|
ADD_FILTER_FIELD(monster, Kairagi);
|
||||||
ADD_FILTER_FIELD(monster, Millelith);
|
ADD_FILTER_FIELD(monster, Millelith);
|
||||||
ADD_FILTER_FIELD(monster, Mitachurl);
|
ADD_FILTER_FIELD(monster, Mitachurl);
|
||||||
@ -789,7 +791,7 @@ namespace cheat::feature
|
|||||||
ADD_FILTER_FIELD(plant, SweetFlower);
|
ADD_FILTER_FIELD(plant, SweetFlower);
|
||||||
ADD_FILTER_FIELD(plant, Valberry);
|
ADD_FILTER_FIELD(plant, Valberry);
|
||||||
ADD_FILTER_FIELD(plant, Violetgrass);
|
ADD_FILTER_FIELD(plant, Violetgrass);
|
||||||
//ADD_FILTER_FIELD(plant, Viparyas);
|
ADD_FILTER_FIELD(plant, Viparyas);
|
||||||
ADD_FILTER_FIELD(plant, WindwheelAster);
|
ADD_FILTER_FIELD(plant, WindwheelAster);
|
||||||
ADD_FILTER_FIELD(plant, Wolfhook);
|
ADD_FILTER_FIELD(plant, Wolfhook);
|
||||||
ADD_FILTER_FIELD(plant, ZaytunPeach);
|
ADD_FILTER_FIELD(plant, ZaytunPeach);
|
||||||
@ -798,39 +800,41 @@ namespace cheat::feature
|
|||||||
ADD_FILTER_FIELD(puzzle, BakeDanuki);
|
ADD_FILTER_FIELD(puzzle, BakeDanuki);
|
||||||
ADD_FILTER_FIELD(puzzle, BloattyFloatty);
|
ADD_FILTER_FIELD(puzzle, BloattyFloatty);
|
||||||
ADD_FILTER_FIELD(puzzle, CubeDevices);
|
ADD_FILTER_FIELD(puzzle, CubeDevices);
|
||||||
|
ADD_FILTER_FIELD(puzzle, DendroPuzzles);
|
||||||
|
ADD_FILTER_FIELD(puzzle, DreadfulWithering);
|
||||||
ADD_FILTER_FIELD(puzzle, EightStoneTablets);
|
ADD_FILTER_FIELD(puzzle, EightStoneTablets);
|
||||||
ADD_FILTER_FIELD(puzzle, ElectricConduction);
|
ADD_FILTER_FIELD(puzzle, ElectricConduction);
|
||||||
ADD_FILTER_FIELD(puzzle, RelayStone);
|
|
||||||
ADD_FILTER_FIELD(puzzle, ElectroSeelie);
|
ADD_FILTER_FIELD(puzzle, ElectroSeelie);
|
||||||
ADD_FILTER_FIELD(puzzle, ElementalMonument);
|
ADD_FILTER_FIELD(puzzle, ElementalMonument);
|
||||||
ADD_FILTER_FIELD(puzzle, FloatingAnemoSlime);
|
ADD_FILTER_FIELD(puzzle, FloatingAnemoSlime);
|
||||||
ADD_FILTER_FIELD(puzzle, Geogranum);
|
ADD_FILTER_FIELD(puzzle, Geogranum);
|
||||||
ADD_FILTER_FIELD(puzzle, GeoPuzzle);
|
ADD_FILTER_FIELD(puzzle, GeoPuzzle);
|
||||||
ADD_FILTER_FIELD(puzzle, LargeRockPile);
|
ADD_FILTER_FIELD(puzzle, LargeRockPile);
|
||||||
ADD_FILTER_FIELD(puzzle, LightUpTilePuzzle);
|
|
||||||
ADD_FILTER_FIELD(puzzle, LightningStrikeProbe);
|
ADD_FILTER_FIELD(puzzle, LightningStrikeProbe);
|
||||||
|
ADD_FILTER_FIELD(puzzle, LightUpTilePuzzle);
|
||||||
ADD_FILTER_FIELD(puzzle, LumenCage);
|
ADD_FILTER_FIELD(puzzle, LumenCage);
|
||||||
ADD_FILTER_FIELD(puzzle, LuminousSeelie);
|
ADD_FILTER_FIELD(puzzle, LuminousSeelie);
|
||||||
ADD_FILTER_FIELD(puzzle, MistBubble);
|
ADD_FILTER_FIELD(puzzle, MistBubble);
|
||||||
|
ADD_FILTER_FIELD(puzzle, NurseriesInTheWilds);
|
||||||
ADD_FILTER_FIELD(puzzle, OozingConcretions);
|
ADD_FILTER_FIELD(puzzle, OozingConcretions);
|
||||||
|
ADD_FILTER_FIELD(puzzle, PhantasmalGate);
|
||||||
ADD_FILTER_FIELD(puzzle, PirateHelm);
|
ADD_FILTER_FIELD(puzzle, PirateHelm);
|
||||||
ADD_FILTER_FIELD(puzzle, PressurePlate);
|
ADD_FILTER_FIELD(puzzle, PressurePlate);
|
||||||
|
ADD_FILTER_FIELD(puzzle, RelayStone);
|
||||||
|
ADD_FILTER_FIELD(puzzle, SaghiraMachine);
|
||||||
ADD_FILTER_FIELD(puzzle, SealLocations);
|
ADD_FILTER_FIELD(puzzle, SealLocations);
|
||||||
ADD_FILTER_FIELD(puzzle, Seelie);
|
ADD_FILTER_FIELD(puzzle, Seelie);
|
||||||
ADD_FILTER_FIELD(puzzle, SeelieLamp);
|
ADD_FILTER_FIELD(puzzle, SeelieLamp);
|
||||||
ADD_FILTER_FIELD(puzzle, SmallRockPile);
|
ADD_FILTER_FIELD(puzzle, SmallRockPile);
|
||||||
|
ADD_FILTER_FIELD(puzzle, StonePillarSeal);
|
||||||
ADD_FILTER_FIELD(puzzle, StormBarrier);
|
ADD_FILTER_FIELD(puzzle, StormBarrier);
|
||||||
ADD_FILTER_FIELD(puzzle, SwordHilt);
|
ADD_FILTER_FIELD(puzzle, SwordHilt);
|
||||||
ADD_FILTER_FIELD(puzzle, Temari);
|
ADD_FILTER_FIELD(puzzle, Temari);
|
||||||
ADD_FILTER_FIELD(puzzle, TorchPuzzle);
|
ADD_FILTER_FIELD(puzzle, TorchPuzzle);
|
||||||
|
ADD_FILTER_FIELD(puzzle, TriYanaSeeds);
|
||||||
ADD_FILTER_FIELD(puzzle, UniqueRocks);
|
ADD_FILTER_FIELD(puzzle, UniqueRocks);
|
||||||
ADD_FILTER_FIELD(puzzle, WarmingSeelie);
|
ADD_FILTER_FIELD(puzzle, WarmingSeelie);
|
||||||
ADD_FILTER_FIELD(puzzle, WindmillMechanism);
|
ADD_FILTER_FIELD(puzzle, WindmillMechanism);
|
||||||
ADD_FILTER_FIELD(puzzle, MelodicBloom);
|
|
||||||
ADD_FILTER_FIELD(puzzle, CloudleisureSteps);
|
|
||||||
ADD_FILTER_FIELD(puzzle, DreamForm);
|
|
||||||
ADD_FILTER_FIELD(puzzle, StarlightCoalescence);
|
|
||||||
ADD_FILTER_FIELD(puzzle, TheRavenForum);
|
|
||||||
}
|
}
|
||||||
#undef ADD_FILTER_FIELD
|
#undef ADD_FILTER_FIELD
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@ namespace cheat::game
|
|||||||
entityFilters[filter] = { false, 0 };
|
entityFilters[filter] = { false, 0 };
|
||||||
|
|
||||||
auto& entry = entityFilters[filter];
|
auto& entry = entityFilters[filter];
|
||||||
auto timestamp = app::MoleMole_TimeUtil_get_NowTimeStamp(nullptr);
|
auto timestamp = app::MoleMole_TimeUtil_get_LocalNowMsTimeStamp(nullptr);
|
||||||
if (entry.second + m_LifeTime > timestamp)
|
if (entry.second + m_LifeTime > timestamp)
|
||||||
return entry.first;
|
return entry.first;
|
||||||
|
|
||||||
|
@ -229,7 +229,7 @@ namespace cheat::game
|
|||||||
SAFE_END();
|
SAFE_END();
|
||||||
}
|
}
|
||||||
|
|
||||||
app::Vector3 Entity::forward()
|
app::Vector3 Entity::forward() const
|
||||||
{
|
{
|
||||||
if (m_RawEntity == nullptr)
|
if (m_RawEntity == nullptr)
|
||||||
return {};
|
return {};
|
||||||
@ -237,12 +237,12 @@ namespace cheat::game
|
|||||||
return app::MoleMole_BaseEntity_GetForward(m_RawEntity, nullptr);
|
return app::MoleMole_BaseEntity_GetForward(m_RawEntity, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
app::Vector3 Entity::back()
|
app::Vector3 Entity::back() const
|
||||||
{
|
{
|
||||||
return -forward();
|
return -forward();
|
||||||
}
|
}
|
||||||
|
|
||||||
app::Vector3 Entity::right()
|
app::Vector3 Entity::right() const
|
||||||
{
|
{
|
||||||
if (m_RawEntity == nullptr)
|
if (m_RawEntity == nullptr)
|
||||||
return {};
|
return {};
|
||||||
@ -250,12 +250,12 @@ namespace cheat::game
|
|||||||
return app::MoleMole_BaseEntity_GetRight(m_RawEntity, nullptr);
|
return app::MoleMole_BaseEntity_GetRight(m_RawEntity, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
app::Vector3 Entity::left()
|
app::Vector3 Entity::left() const
|
||||||
{
|
{
|
||||||
return -right();
|
return -right();
|
||||||
}
|
}
|
||||||
|
|
||||||
app::Vector3 Entity::up()
|
app::Vector3 Entity::up() const
|
||||||
{
|
{
|
||||||
if (m_RawEntity == nullptr)
|
if (m_RawEntity == nullptr)
|
||||||
return {};
|
return {};
|
||||||
@ -263,7 +263,7 @@ namespace cheat::game
|
|||||||
return app::MoleMole_BaseEntity_GetUp(m_RawEntity, nullptr);
|
return app::MoleMole_BaseEntity_GetUp(m_RawEntity, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
app::Vector3 Entity::down()
|
app::Vector3 Entity::down() const
|
||||||
{
|
{
|
||||||
return -up();
|
return -up();
|
||||||
}
|
}
|
||||||
|
@ -39,12 +39,12 @@ namespace cheat::game
|
|||||||
app::Rigidbody* rigidbody();
|
app::Rigidbody* rigidbody();
|
||||||
app::Animator* animator();
|
app::Animator* animator();
|
||||||
|
|
||||||
app::Vector3 forward();
|
app::Vector3 forward() const;
|
||||||
app::Vector3 back();
|
app::Vector3 back() const;
|
||||||
app::Vector3 right();
|
app::Vector3 right() const;
|
||||||
app::Vector3 left();
|
app::Vector3 left() const;
|
||||||
app::Vector3 up();
|
app::Vector3 up() const;
|
||||||
app::Vector3 down();
|
app::Vector3 down() const;
|
||||||
|
|
||||||
template<class T>
|
template<class T>
|
||||||
T* plugin(void* pClass)
|
T* plugin(void* pClass)
|
||||||
|
@ -75,6 +75,11 @@ namespace cheat::game::filters
|
|||||||
SimpleFilter RuinBrazier = { EntityType__Enum_1::Gadget, "_AncientHeatSource" };
|
SimpleFilter RuinBrazier = { EntityType__Enum_1::Gadget, "_AncientHeatSource" };
|
||||||
SimpleFilter Stormstone = { EntityType__Enum_1::Gadget, "_ReginLamp" };
|
SimpleFilter Stormstone = { EntityType__Enum_1::Gadget, "_ReginLamp" };
|
||||||
SimpleFilter TriangularMechanism = { EntityType__Enum_1::Field, "_TuningFork" };
|
SimpleFilter TriangularMechanism = { EntityType__Enum_1::Field, "_TuningFork" };
|
||||||
|
SimpleFilter DendroGranum = { EntityType__Enum_1::Gadget, "GrassSeedCreate" };
|
||||||
|
SimpleFilter BouncyMushroom = { EntityType__Enum_1::Gadget, "JumpMushroom" };
|
||||||
|
SimpleFilter ClusterleafOfCultivation = { EntityType__Enum_1::Field, "RaioFlower" };
|
||||||
|
SimpleFilter DendroRock = { EntityType__Enum_1::Field, "GrassSealStone" };
|
||||||
|
SimpleFilter DendroPile = { EntityType__Enum_1::Field, "XuMiPlantinshitou" };
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace living
|
namespace living
|
||||||
@ -101,7 +106,7 @@ namespace cheat::game::filters
|
|||||||
SimpleFilter Falcon = { EntityType__Enum_1::Monster, "Falcon" };
|
SimpleFilter Falcon = { EntityType__Enum_1::Monster, "Falcon" };
|
||||||
SimpleFilter LucklightFly = { EntityType__Enum_1::EnvAnimal, "Boltbug_" };
|
SimpleFilter LucklightFly = { EntityType__Enum_1::EnvAnimal, "Boltbug_" };
|
||||||
SimpleFilter Salamander = { EntityType__Enum_1::EnvAnimal, "Salamander" };
|
SimpleFilter Salamander = { EntityType__Enum_1::EnvAnimal, "Salamander" };
|
||||||
SimpleFilter Tukan = { EntityType__Enum_1::Monster, "Pigeon_Beak" };
|
SimpleFilter DuskBird = { EntityType__Enum_1::Monster, "Pigeon_Beak" };
|
||||||
SimpleFilter Pigeon = { EntityType__Enum_1::Monster, "Pigeon_0" };
|
SimpleFilter Pigeon = { EntityType__Enum_1::Monster, "Pigeon_0" };
|
||||||
SimpleFilter Crow = { EntityType__Enum_1::Monster, "Crow" };
|
SimpleFilter Crow = { EntityType__Enum_1::Monster, "Crow" };
|
||||||
SimpleFilter Finch = { EntityType__Enum_1::Monster, "Tit" };
|
SimpleFilter Finch = { EntityType__Enum_1::Monster, "Tit" };
|
||||||
@ -277,7 +282,7 @@ namespace cheat::game::filters
|
|||||||
SimpleFilter Padisarah = { EntityType__Enum_1::GatherObject, "_Pasusalan" };
|
SimpleFilter Padisarah = { EntityType__Enum_1::GatherObject, "_Pasusalan" };
|
||||||
SimpleFilter RukkhashavaMushrooms = { EntityType__Enum_1::GatherObject, "_HolyMushroom" };
|
SimpleFilter RukkhashavaMushrooms = { EntityType__Enum_1::GatherObject, "_HolyMushroom" };
|
||||||
SimpleFilter SumeruRose = { EntityType__Enum_1::GatherObject, "_XumiRose" };
|
SimpleFilter SumeruRose = { EntityType__Enum_1::GatherObject, "_XumiRose" };
|
||||||
//SimpleFilter Viparyas = { EntityType__Enum_1::GatherObject, "_" };
|
SimpleFilter Viparyas = { EntityType__Enum_1::GatherObject, "_DreamerPlant" };
|
||||||
SimpleFilter ZaytunPeach = { EntityType__Enum_1::GatherObject, "_Olea" };
|
SimpleFilter ZaytunPeach = { EntityType__Enum_1::GatherObject, "_Olea" };
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -320,8 +325,15 @@ namespace cheat::game::filters
|
|||||||
WhitelistFilter DreamForm = { {EntityType__Enum_1::Field, EntityType__Enum_1::Platform }, "_AnimalSeelie" };
|
WhitelistFilter DreamForm = { {EntityType__Enum_1::Field, EntityType__Enum_1::Platform }, "_AnimalSeelie" };
|
||||||
SimpleFilter StarlightCoalescence = { EntityType__Enum_1::Field, "_PaperStar" };
|
SimpleFilter StarlightCoalescence = { EntityType__Enum_1::Field, "_PaperStar" };
|
||||||
SimpleFilter TheRavenForum = { EntityType__Enum_1::Gadget, "_NightCrowStatue" };
|
SimpleFilter TheRavenForum = { EntityType__Enum_1::Gadget, "_NightCrowStatue" };
|
||||||
WhitelistFilter TimeTrialChallengeCollection = { { EntityType__Enum_1::Field, EntityType__Enum_1::Gadget }, { "SkillObj_EmptyGadget", "_GlideChampOrb" } };
|
WhitelistFilter TimeTrialChallengeCollection = { { EntityType__Enum_1::Field, EntityType__Enum_1::Gadget }, { "SkillObj_EmptyGadget", "_GlideChampOrb", "_DendroGlideChampOrb" } };
|
||||||
SimpleFilter Bombbarrel = { EntityType__Enum_1::Gadget, "_Bombbarrel" };
|
SimpleFilter Bombbarrel = { EntityType__Enum_1::Gadget, "_Bombbarrel" };
|
||||||
|
SimpleFilter NurseriesInTheWilds = { EntityType__Enum_1::Field, "PlantDrawStart" };
|
||||||
|
SimpleFilter SaghiraMachine = { EntityType__Enum_1::Gadget, "FatuiMaranaWell" };
|
||||||
|
SimpleFilter StonePillarSeal = { EntityType__Enum_1::Gadget, "GrassSealRing_" };
|
||||||
|
SimpleFilter TriYanaSeeds = { EntityType__Enum_1::Gadget, "XuMiVisualizationplant" };
|
||||||
|
SimpleFilter DendroPuzzles = { EntityType__Enum_1::Gadget, "AyusProjector" };
|
||||||
|
SimpleFilter DreadfulWithering = { EntityType__Enum_1::Gadget, "DeathZonePoint" };
|
||||||
|
SimpleFilter PhantasmalGate = { EntityType__Enum_1::Field, "DreamlandDoor" };
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace combined
|
namespace combined
|
||||||
@ -332,7 +344,8 @@ namespace cheat::game::filters
|
|||||||
featured::Electroculus,
|
featured::Electroculus,
|
||||||
featured::Geoculus,
|
featured::Geoculus,
|
||||||
featured::Lumenspar,
|
featured::Lumenspar,
|
||||||
featured::KeySigil
|
featured::KeySigil,
|
||||||
|
featured::Dendroculus
|
||||||
};
|
};
|
||||||
SimpleFilter Chests = { EntityType__Enum_1::Chest };
|
SimpleFilter Chests = { EntityType__Enum_1::Chest };
|
||||||
SimpleFilter Ores = {
|
SimpleFilter Ores = {
|
||||||
@ -395,7 +408,7 @@ namespace cheat::game::filters
|
|||||||
living::Squirrel,
|
living::Squirrel,
|
||||||
living::Boar,
|
living::Boar,
|
||||||
living::Weasel,
|
living::Weasel,
|
||||||
living::Tukan
|
living::DuskBird
|
||||||
};
|
};
|
||||||
SimpleFilter AnimalPickUp = {
|
SimpleFilter AnimalPickUp = {
|
||||||
living::CrystalCore,
|
living::CrystalCore,
|
||||||
|
@ -76,6 +76,11 @@ namespace cheat::game::filters
|
|||||||
extern SimpleFilter RuinBrazier;
|
extern SimpleFilter RuinBrazier;
|
||||||
extern SimpleFilter Stormstone;
|
extern SimpleFilter Stormstone;
|
||||||
extern SimpleFilter TriangularMechanism;
|
extern SimpleFilter TriangularMechanism;
|
||||||
|
extern SimpleFilter DendroGranum;
|
||||||
|
extern SimpleFilter BouncyMushroom;
|
||||||
|
extern SimpleFilter ClusterleafOfCultivation;
|
||||||
|
extern SimpleFilter DendroRock;
|
||||||
|
extern SimpleFilter DendroPile;
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace living
|
namespace living
|
||||||
@ -102,7 +107,7 @@ namespace cheat::game::filters
|
|||||||
extern SimpleFilter LucklightFly;
|
extern SimpleFilter LucklightFly;
|
||||||
extern SimpleFilter Npc;
|
extern SimpleFilter Npc;
|
||||||
extern SimpleFilter Salamander;
|
extern SimpleFilter Salamander;
|
||||||
extern SimpleFilter Tukan;
|
extern SimpleFilter DuskBird;
|
||||||
extern SimpleFilter Pigeon;
|
extern SimpleFilter Pigeon;
|
||||||
extern SimpleFilter Crow;
|
extern SimpleFilter Crow;
|
||||||
extern SimpleFilter Finch;
|
extern SimpleFilter Finch;
|
||||||
@ -277,7 +282,7 @@ namespace cheat::game::filters
|
|||||||
extern SimpleFilter Padisarah;
|
extern SimpleFilter Padisarah;
|
||||||
extern SimpleFilter RukkhashavaMushrooms;
|
extern SimpleFilter RukkhashavaMushrooms;
|
||||||
extern SimpleFilter SumeruRose;
|
extern SimpleFilter SumeruRose;
|
||||||
//extern SimpleFilter Viparyas;
|
extern SimpleFilter Viparyas;
|
||||||
extern SimpleFilter ZaytunPeach;
|
extern SimpleFilter ZaytunPeach;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -322,6 +327,13 @@ namespace cheat::game::filters
|
|||||||
extern SimpleFilter TheRavenForum;
|
extern SimpleFilter TheRavenForum;
|
||||||
extern WhitelistFilter TimeTrialChallengeCollection;
|
extern WhitelistFilter TimeTrialChallengeCollection;
|
||||||
extern SimpleFilter Bombbarrel;
|
extern SimpleFilter Bombbarrel;
|
||||||
|
extern SimpleFilter NurseriesInTheWilds;
|
||||||
|
extern SimpleFilter SaghiraMachine;
|
||||||
|
extern SimpleFilter StonePillarSeal;
|
||||||
|
extern SimpleFilter TriYanaSeeds;
|
||||||
|
extern SimpleFilter DendroPuzzles;
|
||||||
|
extern SimpleFilter DreadfulWithering;
|
||||||
|
extern SimpleFilter PhantasmalGate;
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace combined
|
namespace combined
|
||||||
|
@ -1787,9 +1787,11 @@ namespace cheat::feature
|
|||||||
INIT_FILTER(chest, RemarkableChest);
|
INIT_FILTER(chest, RemarkableChest);
|
||||||
INIT_FILTER(featured, Anemoculus);
|
INIT_FILTER(featured, Anemoculus);
|
||||||
INIT_FILTER(featured, CrimsonAgate);
|
INIT_FILTER(featured, CrimsonAgate);
|
||||||
|
INIT_FILTER(featured, Dendroculus);
|
||||||
INIT_FILTER(featured, Electroculus);
|
INIT_FILTER(featured, Electroculus);
|
||||||
//INIT_FILTER(featured, Electrogranum);
|
//INIT_FILTER(featured, Electrogranum);
|
||||||
INIT_FILTER(featured, Geoculus);
|
INIT_FILTER(featured, Geoculus);
|
||||||
|
INIT_FILTER(featured, KeySigil);
|
||||||
INIT_FILTER(featured, Lumenspar);
|
INIT_FILTER(featured, Lumenspar);
|
||||||
//INIT_FILTER(featured, KeySigil);
|
//INIT_FILTER(featured, KeySigil);
|
||||||
//INIT_FILTER(featured, ShrineOfDepth);
|
//INIT_FILTER(featured, ShrineOfDepth);
|
||||||
@ -1925,8 +1927,10 @@ namespace cheat::feature
|
|||||||
|
|
||||||
INIT_DETECT_ITEM(Anemoculus);
|
INIT_DETECT_ITEM(Anemoculus);
|
||||||
INIT_DETECT_ITEM(CrimsonAgate);
|
INIT_DETECT_ITEM(CrimsonAgate);
|
||||||
|
INIT_DETECT_ITEM(Dendroculus);
|
||||||
INIT_DETECT_ITEM(Electroculus);
|
INIT_DETECT_ITEM(Electroculus);
|
||||||
INIT_DETECT_ITEM(Geoculus);
|
INIT_DETECT_ITEM(Geoculus);
|
||||||
|
INIT_DETECT_ITEM(KeySigil);
|
||||||
INIT_DETECT_ITEM(Lumenspar);
|
INIT_DETECT_ITEM(Lumenspar);
|
||||||
|
|
||||||
#undef INIT_DETECT_ITEM
|
#undef INIT_DETECT_ITEM
|
||||||
|
121
cheat-library/src/user/cheat/player/FallControl.cpp
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
#include "pch-il2cpp.h"
|
||||||
|
#include "FallControl.h"
|
||||||
|
|
||||||
|
#include <cheat/events.h>
|
||||||
|
#include <cheat/game/EntityManager.h>
|
||||||
|
|
||||||
|
namespace cheat::feature
|
||||||
|
{
|
||||||
|
bool FallControl::isFalling = false;
|
||||||
|
|
||||||
|
FallControl::FallControl() : Feature(),
|
||||||
|
NF(f_Enabled, "Fall Control", "FallControl", false),
|
||||||
|
NF(f_Speed, "Speed", "FallControl", 10.0f)
|
||||||
|
{
|
||||||
|
events::GameUpdateEvent += MY_METHOD_HANDLER(FallControl::OnGameUpdate);
|
||||||
|
events::MoveSyncEvent += MY_METHOD_HANDLER(FallControl::OnMoveSync);
|
||||||
|
}
|
||||||
|
|
||||||
|
const FeatureGUIInfo& cheat::feature::FallControl::GetGUIInfo() const
|
||||||
|
{
|
||||||
|
static const FeatureGUIInfo info{ "Fall-Control", "Player", true };
|
||||||
|
return info;
|
||||||
|
}
|
||||||
|
|
||||||
|
void cheat::feature::FallControl::DrawMain()
|
||||||
|
{
|
||||||
|
ConfigWidget("Enabled", f_Enabled, "Enables fall control");
|
||||||
|
ConfigWidget("Speed", f_Speed, 1.0f, 0.0f, 100.0f, "Movement speed when using fall control");
|
||||||
|
}
|
||||||
|
|
||||||
|
bool cheat::feature::FallControl::NeedStatusDraw() const
|
||||||
|
{
|
||||||
|
return f_Enabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
void cheat::feature::FallControl::DrawStatus()
|
||||||
|
{
|
||||||
|
ImGui::Text("Fall Control [%.1f]", f_Speed.value());
|
||||||
|
}
|
||||||
|
|
||||||
|
FallControl& cheat::feature::FallControl::GetInstance()
|
||||||
|
{
|
||||||
|
static FallControl instance;
|
||||||
|
return instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fall control update function
|
||||||
|
// Detects and moves avatar when movement keys are pressed.
|
||||||
|
void FallControl::OnGameUpdate()
|
||||||
|
{
|
||||||
|
if (!f_Enabled || !isFalling)
|
||||||
|
return;
|
||||||
|
|
||||||
|
auto& manager = game::EntityManager::instance();
|
||||||
|
|
||||||
|
const auto avatarEntity = manager.avatar();
|
||||||
|
auto rigidBody = avatarEntity->rigidbody();
|
||||||
|
if (rigidBody == nullptr)
|
||||||
|
return;
|
||||||
|
|
||||||
|
const auto cameraEntity = game::Entity(reinterpret_cast<app::BaseEntity*>(manager.mainCamera()));
|
||||||
|
app::Vector3 direction = {};
|
||||||
|
if (Hotkey(ImGuiKey_W).IsPressed())
|
||||||
|
direction = direction + cameraEntity.forward();;
|
||||||
|
if (Hotkey(ImGuiKey_S).IsPressed())
|
||||||
|
direction = direction + cameraEntity.back();;
|
||||||
|
if (Hotkey(ImGuiKey_D).IsPressed())
|
||||||
|
direction = direction + cameraEntity.right();;
|
||||||
|
if (Hotkey(ImGuiKey_A).IsPressed())
|
||||||
|
direction = direction + cameraEntity.left();;
|
||||||
|
if (IsVectorZero(direction))
|
||||||
|
return;
|
||||||
|
// Do not change falling velocity when camera relative
|
||||||
|
direction.y = 0;
|
||||||
|
|
||||||
|
// Alternative, using set_velocity. Does not work while falling?
|
||||||
|
// const float speed = f_Speed.value();
|
||||||
|
// const auto currentVelocity = app::Rigidbody_get_velocity(rigidBody, nullptr);
|
||||||
|
// const auto desiredvelocity = currentVelocity + direction * speed;
|
||||||
|
// LOG_DEBUG("Current velocity: [%.1f,%.1f,%.1f]", currentVelocity.x, currentVelocity.y, currentVelocity.z);
|
||||||
|
// LOG_DEBUG("Desired velocity: [%.1f,%.1f,%.1f]\n", desiredvelocity.x, desiredvelocity.y, desiredvelocity.z);
|
||||||
|
// app::Rigidbody_set_collisionDetectionMode(rigidBody, app::CollisionDetectionMode__Enum::Continuous, nullptr);
|
||||||
|
// app::Rigidbody_set_velocity(rigidBody, desiredvelocity, nullptr);
|
||||||
|
|
||||||
|
const app::Vector3 prevPos = avatarEntity->relativePosition();
|
||||||
|
const auto currentVelocity = app::Rigidbody_get_velocity(rigidBody, nullptr);
|
||||||
|
const float speed = f_Speed.value();
|
||||||
|
const float deltaTime = app::Time_get_deltaTime(nullptr);
|
||||||
|
const app::Vector3 newPos = prevPos + (currentVelocity + direction * speed) * deltaTime;
|
||||||
|
avatarEntity->setRelativePosition(newPos);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Detects when player is falling and enables the FallControl cheat
|
||||||
|
void FallControl::OnMoveSync(uint32_t entityId, app::MotionInfo* syncInfo)
|
||||||
|
{
|
||||||
|
if (!f_Enabled) {
|
||||||
|
// Edgecase for when you turn off cheat while falling
|
||||||
|
isFalling = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const auto motionState = syncInfo->fields.motionState;
|
||||||
|
switch (motionState)
|
||||||
|
{
|
||||||
|
// These states tell us we are falling
|
||||||
|
case app::MotionState__Enum::MotionDrop:
|
||||||
|
isFalling = true;
|
||||||
|
return;
|
||||||
|
|
||||||
|
// State that doesn't tell us anything
|
||||||
|
case app::MotionState__Enum::MotionStandby:
|
||||||
|
case app::MotionState__Enum::MotionNotify:
|
||||||
|
return;
|
||||||
|
|
||||||
|
// We are not falling
|
||||||
|
default:
|
||||||
|
isFalling = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
32
cheat-library/src/user/cheat/player/FallControl.h
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
#pragma once
|
||||||
|
#include <cheat-base/cheat/Feature.h>
|
||||||
|
#include <cheat-base/config/config.h>
|
||||||
|
|
||||||
|
#include <il2cpp-appdata.h>
|
||||||
|
|
||||||
|
namespace cheat::feature
|
||||||
|
{
|
||||||
|
class FallControl : public Feature
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
config::Field<config::Toggle<Hotkey>> f_Enabled;
|
||||||
|
config::Field<float> f_Speed;
|
||||||
|
|
||||||
|
static FallControl& GetInstance();
|
||||||
|
|
||||||
|
// Inherited via Feature
|
||||||
|
virtual const FeatureGUIInfo& GetGUIInfo() const override;
|
||||||
|
virtual void DrawMain() override;
|
||||||
|
|
||||||
|
virtual bool NeedStatusDraw() const override;
|
||||||
|
void DrawStatus() override;
|
||||||
|
|
||||||
|
void OnGameUpdate();
|
||||||
|
void OnMoveSync(uint32_t entityId, app::MotionInfo* syncInfo);
|
||||||
|
|
||||||
|
private:
|
||||||
|
FallControl();
|
||||||
|
|
||||||
|
static bool isFalling;
|
||||||
|
};
|
||||||
|
}
|
@ -45,8 +45,7 @@ namespace cheat::feature
|
|||||||
ConfigWidget("Multi-hit Mode", f_MultiHit, "Enables multi-hit.\n" \
|
ConfigWidget("Multi-hit Mode", f_MultiHit, "Enables multi-hit.\n" \
|
||||||
"Multiplies your attack count.\n" \
|
"Multiplies your attack count.\n" \
|
||||||
"This is not well tested, and can be detected by anticheat.\n" \
|
"This is not well tested, and can be detected by anticheat.\n" \
|
||||||
"Not recommended to be used with main accounts or used with high values.\n" \
|
"Not recommended to be used with main accounts or used with high values.\n");
|
||||||
"Known issues with certain multi-hit attacks, e.g. Xiao E, Ayaka CA, etc.");
|
|
||||||
|
|
||||||
ImGui::Indent();
|
ImGui::Indent();
|
||||||
|
|
||||||
@ -205,7 +204,7 @@ namespace cheat::feature
|
|||||||
// Taiga#5555: IDs can be found in ConfigAbility_Avatar_*.json or GadgetExcelConfigData.json
|
// Taiga#5555: IDs can be found in ConfigAbility_Avatar_*.json or GadgetExcelConfigData.json
|
||||||
bool bulletID = attackerID >= 40000160 && attackerID <= 41069999;
|
bool bulletID = attackerID >= 40000160 && attackerID <= 41069999;
|
||||||
|
|
||||||
return avatarID == attackerID || bulletID;
|
return avatarID == attackerID || bulletID || attacker.type() == app::EntityType__Enum_1::Bullet;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IsValidByFilter(game::Entity* entity)
|
bool IsValidByFilter(game::Entity* entity)
|
||||||
@ -269,7 +268,6 @@ namespace cheat::feature
|
|||||||
for (int i = 0; i < attackCount; i++)
|
for (int i = 0; i < attackCount; i++)
|
||||||
app::MoleMole_LCBaseCombat_FireBeingHitEvent(__this, entity->runtimeID(), attackResult, method);
|
app::MoleMole_LCBaseCombat_FireBeingHitEvent(__this, entity->runtimeID(), attackResult, method);
|
||||||
}
|
}
|
||||||
else app::MoleMole_LCBaseCombat_FireBeingHitEvent(__this, entity->runtimeID(), attackResult, method);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CALL_ORIGIN(LCBaseCombat_DoHitEntity_Hook, __this, targetID, attackResult, ignoreCheckCanBeHitInMP, method);
|
CALL_ORIGIN(LCBaseCombat_DoHitEntity_Hook, __this, targetID, attackResult, ignoreCheckCanBeHitInMP, method);
|
||||||
|
@ -20,12 +20,16 @@ namespace cheat::feature
|
|||||||
NF(f_Enabled, "Custom Teleport", "CustomTeleports", false),
|
NF(f_Enabled, "Custom Teleport", "CustomTeleports", false),
|
||||||
NF(f_Next, "Teleport Next", "CustomTeleports", Hotkey(VK_OEM_6)),
|
NF(f_Next, "Teleport Next", "CustomTeleports", Hotkey(VK_OEM_6)),
|
||||||
NF(f_Previous, "Teleport Previous", "CustomTeleports", Hotkey(VK_OEM_4)),
|
NF(f_Previous, "Teleport Previous", "CustomTeleports", Hotkey(VK_OEM_4)),
|
||||||
NF(f_Interpolate, "Custom Teleport", "CustomTeleports", false),
|
NF(f_Auto, "Auto Teleport", "CustomTeleports", false),
|
||||||
|
NF(f_DelayTime, "Delay time (in s)", "CustomTeleports", 20),
|
||||||
|
NF(f_Interpolate, "Interpolate Teleport", "CustomTeleports", false),
|
||||||
NF(f_Speed, "Interpolation Speed", "CustomTeleports", 10.0f),
|
NF(f_Speed, "Interpolation Speed", "CustomTeleports", 10.0f),
|
||||||
dir(util::GetCurrentPath() / "teleports")
|
dir(util::GetCurrentPath() /= "teleports"),
|
||||||
|
nextTime(0)
|
||||||
{
|
{
|
||||||
f_Next.value().PressedEvent += MY_METHOD_HANDLER(CustomTeleports::OnNext);
|
f_Next.value().PressedEvent += MY_METHOD_HANDLER(CustomTeleports::OnNext);
|
||||||
f_Previous.value().PressedEvent += MY_METHOD_HANDLER(CustomTeleports::OnPrevious);
|
f_Previous.value().PressedEvent += MY_METHOD_HANDLER(CustomTeleports::OnPrevious);
|
||||||
|
events::GameUpdateEvent += MY_METHOD_HANDLER(CustomTeleports::OnGameUpdate);
|
||||||
}
|
}
|
||||||
|
|
||||||
const FeatureGUIInfo& CustomTeleports::GetGUIInfo() const
|
const FeatureGUIInfo& CustomTeleports::GetGUIInfo() const
|
||||||
@ -79,7 +83,7 @@ namespace cheat::feature
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Teleport CustomTeleports::SerializeFromJson(std::string json, bool fromfile)
|
std::optional<Teleport> CustomTeleports::SerializeFromJson(std::string json, bool fromfile)
|
||||||
{
|
{
|
||||||
nlohmann::json j;
|
nlohmann::json j;
|
||||||
try { j = nlohmann::json::parse(json); }
|
try { j = nlohmann::json::parse(json); }
|
||||||
@ -87,8 +91,11 @@ namespace cheat::feature
|
|||||||
{
|
{
|
||||||
LOG_ERROR("Invalid JSON Format");
|
LOG_ERROR("Invalid JSON Format");
|
||||||
LOG_ERROR("Failed to parse JSON: %s", e.what());
|
LOG_ERROR("Failed to parse JSON: %s", e.what());
|
||||||
|
return std::nullopt;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string teleportName;
|
std::string teleportName;
|
||||||
|
|
||||||
teleportName = j["name"];
|
teleportName = j["name"];
|
||||||
if (j["name"].is_null() && fromfile)
|
if (j["name"].is_null() && fromfile)
|
||||||
{
|
{
|
||||||
@ -99,6 +106,7 @@ namespace cheat::feature
|
|||||||
if (j["description"].is_null()) description = "";
|
if (j["description"].is_null()) description = "";
|
||||||
else description = j["description"];
|
else description = j["description"];
|
||||||
return Teleport_(teleportName, { j["position"][0], j["position"][1], j["position"][2] }, description);
|
return Teleport_(teleportName, { j["position"][0], j["position"][1], j["position"][2] }, description);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CustomTeleports::ReloadTeleports()
|
void CustomTeleports::ReloadTeleports()
|
||||||
@ -113,7 +121,8 @@ namespace cheat::feature
|
|||||||
std::ifstream ifs(file.path());
|
std::ifstream ifs(file.path());
|
||||||
std::string json;
|
std::string json;
|
||||||
std::getline(ifs, json);
|
std::getline(ifs, json);
|
||||||
SerializeTeleport(SerializeFromJson(json, true));
|
auto t = SerializeFromJson(json, true);
|
||||||
|
if(t.has_value()) SerializeTeleport(t.value());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -188,10 +197,35 @@ namespace cheat::feature
|
|||||||
|
|
||||||
void CustomTeleports::OnPrevious()
|
void CustomTeleports::OnPrevious()
|
||||||
{
|
{
|
||||||
|
if (f_Auto) return;
|
||||||
OnTeleportKeyPressed(false);
|
OnTeleportKeyPressed(false);
|
||||||
}
|
}
|
||||||
void CustomTeleports::OnNext()
|
void CustomTeleports::OnNext()
|
||||||
{
|
{
|
||||||
|
if (f_Auto) return;
|
||||||
|
OnTeleportKeyPressed(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CustomTeleports::OnGameUpdate()
|
||||||
|
{
|
||||||
|
if (!f_Enabled || !f_Auto)
|
||||||
|
return;
|
||||||
|
|
||||||
|
auto currentTime = util::GetCurrentTimeMillisec();
|
||||||
|
if (currentTime < nextTime)
|
||||||
|
return;
|
||||||
|
|
||||||
|
auto loadingManager = GET_SINGLETON(MoleMole_LoadingManager);
|
||||||
|
if (loadingManager == nullptr || !app::MoleMole_LoadingManager_IsLoaded(loadingManager, nullptr))
|
||||||
|
return;
|
||||||
|
|
||||||
|
auto camera = app::Camera_get_main(nullptr);
|
||||||
|
if (camera == nullptr) return;
|
||||||
|
|
||||||
|
if (!app::Behaviour_get_isActiveAndEnabled(reinterpret_cast<app::Behaviour*>(camera), nullptr))
|
||||||
|
return;
|
||||||
|
|
||||||
|
nextTime = currentTime + (int64_t)f_DelayTime * 1000;
|
||||||
OnTeleportKeyPressed(true);
|
OnTeleportKeyPressed(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -260,26 +294,35 @@ namespace cheat::feature
|
|||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
if (ImGui::Button("Load from JSON"))
|
if (ImGui::Button("Load from JSON"))
|
||||||
{
|
{
|
||||||
|
if (!JSONBuffer_.empty()) {
|
||||||
|
auto t = SerializeFromJson(JSONBuffer_, false);
|
||||||
|
if (t.has_value()) {
|
||||||
selectedIndex = -1;
|
selectedIndex = -1;
|
||||||
UpdateIndexName();
|
UpdateIndexName();
|
||||||
SerializeTeleport(SerializeFromJson(JSONBuffer_, false));
|
SerializeTeleport(t.value());
|
||||||
JSONBuffer_ = "";
|
}
|
||||||
|
JSONBuffer_.clear();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
ImGui::InputTextMultiline("JSON input", &JSONBuffer_, ImVec2(0, 50), ImGuiInputTextFlags_AllowTabInput);
|
ImGui::InputTextMultiline("JSON input", &JSONBuffer_, ImVec2(0, 50), ImGuiInputTextFlags_AllowTabInput);
|
||||||
|
|
||||||
ConfigWidget("Teleport Next", f_Next, true, "Press to teleport next of selected");
|
ConfigWidget("Teleport Next", f_Next, true, "Press to teleport next of selected.");
|
||||||
ConfigWidget("Teleport Previous", f_Previous, true, "Press to teleport previous of selected");
|
ConfigWidget("Teleport Previous", f_Previous, true, "Press to teleport previous of selected.");
|
||||||
ConfigWidget("Enable", f_Enabled,
|
ConfigWidget("Enable", f_Enabled,
|
||||||
"Enable teleport-through-list functionality\n"
|
"Enable teleport-through-list functionality.\n"
|
||||||
"Usage:\n"
|
"Usage:\n"
|
||||||
"1. Put Checkmark to the teleports you want to teleport using hotkey\n"
|
"1. Put Checkmark to the teleports you want to teleport using hotkey\n"
|
||||||
"2. Single click the teleport (with checkmark) to select where you want to start\n"
|
"2. Single click the teleport (with checkmark) to select where you want to start\n"
|
||||||
"3. You can now press Next or Previous Hotkey to Teleport through the Checklist\n"
|
"3. You can now press Next or Previous Hotkey to Teleport through the Checklist\n"
|
||||||
"Initially it will teleport the player to the selection made\n"
|
"Initially it will teleport the player to the selection made\n"
|
||||||
"Note: Double click or click the arrow to open teleport details");
|
"Note: Double click or click the arrow to open teleport details");
|
||||||
ConfigWidget("Enable Interpolation", f_Interpolate, "Enable interpolation between teleports when using keybinds");
|
ConfigWidget("Enable Interpolation", f_Interpolate, "Enable interpolation between teleports when using keybinds."); ImGui::SameLine(); ImGui::SetNextItemWidth(300.0f);
|
||||||
ConfigWidget("Interpolation Speed", f_Speed, 0.1f, 0.1f, 99.0f,
|
ConfigWidget("Interpolation Speed", f_Speed, 0.1f, 0.1f, 99.0f,
|
||||||
"Interpolation speed.\n recommended setting below or equal to 0.1.");
|
"Interpolation speed.\n recommended setting below or equal to 0.1.");
|
||||||
|
ConfigWidget("Auto Teleport", f_Auto, "Enable automatic forward teleporation between teleports"); ImGui::SameLine(); ImGui::SetNextItemWidth(300.0f);
|
||||||
|
ConfigWidget("Delay Time (s)", f_DelayTime, 1, 0, 60, "Delay (in s) between teleport.\n"
|
||||||
|
"Note: This is not fully tested detection-wise.\nNot recommended with low values.");
|
||||||
|
|
||||||
if (ImGui::Button("Delete Checked"))
|
if (ImGui::Button("Delete Checked"))
|
||||||
{
|
{
|
||||||
@ -396,10 +439,13 @@ namespace cheat::feature
|
|||||||
|
|
||||||
if (ImGui::Button(("Select##Button" + stringIndex).c_str()))
|
if (ImGui::Button(("Select##Button" + stringIndex).c_str()))
|
||||||
{
|
{
|
||||||
|
auto isChecked = checkedIndices.find(index) != checkedIndices.end();
|
||||||
|
if (isChecked) {
|
||||||
selectedIndex = index;
|
selectedIndex = index;
|
||||||
selectedByClick = true;
|
selectedByClick = true;
|
||||||
UpdateIndexName();
|
UpdateIndexName();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
ImGui::TableNextColumn();
|
ImGui::TableNextColumn();
|
||||||
|
|
||||||
ImGui::PushStyleColor(ImGuiCol_Text, selected ? IM_COL32(40, 90, 175, 255) : ImGui::ColorConvertFloat4ToU32(ImGui::GetStyle().Colors[ImGuiCol_Text]));
|
ImGui::PushStyleColor(ImGuiCol_Text, selected ? IM_COL32(40, 90, 175, 255) : ImGui::ColorConvertFloat4ToU32(ImGui::GetStyle().Colors[ImGuiCol_Text]));
|
||||||
@ -432,7 +478,7 @@ namespace cheat::feature
|
|||||||
|
|
||||||
void CustomTeleports::DrawStatus()
|
void CustomTeleports::DrawStatus()
|
||||||
{
|
{
|
||||||
ImGui::Text("Custom Teleport\n[%s]", selectedIndexName);
|
ImGui::Text("Custom Teleport\n[%s|%s]", f_Auto ? "Auto" : "Manual", selectedIndexName);
|
||||||
}
|
}
|
||||||
|
|
||||||
CustomTeleports &CustomTeleports::GetInstance()
|
CustomTeleports &CustomTeleports::GetInstance()
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
#include <cheat-base/cheat/Feature.h>
|
#include <cheat-base/cheat/Feature.h>
|
||||||
#include <cheat-base/config/Config.h>
|
#include <cheat-base/config/Config.h>
|
||||||
|
#include <cheat-base/thread-safe.h>
|
||||||
#include <set>
|
#include <set>
|
||||||
|
|
||||||
namespace cheat::feature
|
namespace cheat::feature
|
||||||
@ -27,9 +28,11 @@ namespace cheat::feature
|
|||||||
public:
|
public:
|
||||||
config::Field<config::Toggle<Hotkey>> f_Enabled;
|
config::Field<config::Toggle<Hotkey>> f_Enabled;
|
||||||
config::Field<config::Toggle<Hotkey>> f_Interpolate;
|
config::Field<config::Toggle<Hotkey>> f_Interpolate;
|
||||||
|
config::Field<config::Toggle<Hotkey>> f_Auto;
|
||||||
config::Field<float> f_Speed;
|
config::Field<float> f_Speed;
|
||||||
config::Field<Hotkey> f_Next;
|
config::Field<Hotkey> f_Next;
|
||||||
config::Field<Hotkey> f_Previous;
|
config::Field<Hotkey> f_Previous;
|
||||||
|
config::Field<int> f_DelayTime;
|
||||||
static CustomTeleports& GetInstance();
|
static CustomTeleports& GetInstance();
|
||||||
const FeatureGUIInfo& GetGUIInfo() const override;
|
const FeatureGUIInfo& GetGUIInfo() const override;
|
||||||
|
|
||||||
@ -38,12 +41,13 @@ namespace cheat::feature
|
|||||||
Teleport Teleport_(std::string name, app::Vector3 position, std::string description);
|
Teleport Teleport_(std::string name, app::Vector3 position, std::string description);
|
||||||
void SerializeTeleport(Teleport t);
|
void SerializeTeleport(Teleport t);
|
||||||
void ReloadTeleports();
|
void ReloadTeleports();
|
||||||
Teleport SerializeFromJson(std::string json, bool fromfile);
|
std::optional<Teleport> SerializeFromJson(std::string json, bool fromfile);
|
||||||
|
|
||||||
|
|
||||||
void DrawMain() override;
|
void DrawMain() override;
|
||||||
virtual bool NeedStatusDraw() const override;
|
virtual bool NeedStatusDraw() const override;
|
||||||
void DrawStatus() override;
|
void DrawStatus() override;
|
||||||
|
void OnGameUpdate();
|
||||||
|
|
||||||
std::vector<Teleport> Teleports;
|
std::vector<Teleport> Teleports;
|
||||||
std::filesystem::path dir;
|
std::filesystem::path dir;
|
||||||
@ -55,6 +59,7 @@ namespace cheat::feature
|
|||||||
int selectedIndex = -1;
|
int selectedIndex = -1;
|
||||||
std::string selectedName;
|
std::string selectedName;
|
||||||
std::string selectedIndexName;
|
std::string selectedIndexName;
|
||||||
|
SafeValue<int64_t> nextTime;
|
||||||
CustomTeleports();
|
CustomTeleports();
|
||||||
void TeleportTo(app::Vector3 position, bool interpolate);
|
void TeleportTo(app::Vector3 position, bool interpolate);
|
||||||
void OnTeleportKeyPressed(bool next);
|
void OnTeleportKeyPressed(bool next);
|
||||||
|
@ -56,7 +56,7 @@ namespace cheat::feature
|
|||||||
void AutoChallenge::OnGameUpdate()
|
void AutoChallenge::OnGameUpdate()
|
||||||
{
|
{
|
||||||
static uint64_t lastTime = 0;
|
static uint64_t lastTime = 0;
|
||||||
auto timestamp = app::MoleMole_TimeUtil_get_NowTimeStamp(nullptr);
|
auto timestamp = app::MoleMole_TimeUtil_get_LocalNowMsTimeStamp(nullptr);
|
||||||
|
|
||||||
if (!f_Enabled || lastTime + f_Delay > timestamp)
|
if (!f_Enabled || lastTime + f_Delay > timestamp)
|
||||||
return;
|
return;
|
||||||
|
@ -170,7 +170,7 @@ namespace cheat::feature
|
|||||||
{
|
{
|
||||||
__this->fields._pageMono->fields._qteTime = 0;
|
__this->fields._pageMono->fields._qteTime = 0;
|
||||||
__this->fields._pageMono->fields._autoQteTime = 0;
|
__this->fields._pageMono->fields._autoQteTime = 0;
|
||||||
app::CookingQtePageContext_CloseItemGotPanel(__this, nullptr); // Auto Close Panel
|
app::MoleMole_CookingQtePageContext_CloseItemGotPanel(__this, nullptr); // Auto Close Panel
|
||||||
}
|
}
|
||||||
return CALL_ORIGIN(CookingQtePageContext_UpdateProficiency, __this, method);
|
return CALL_ORIGIN(CookingQtePageContext_UpdateProficiency, __this, method);
|
||||||
}
|
}
|
||||||
|
@ -91,7 +91,7 @@ namespace cheat::feature
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::lock_guard<std::mutex> catchLock(autoFish.m_BattleFinishTimestampMutex);
|
std::lock_guard<std::mutex> catchLock(autoFish.m_BattleFinishTimestampMutex);
|
||||||
autoFish.m_BattleFinishTimestamp = app::MoleMole_TimeUtil_get_NowTimeStamp(nullptr) + autoFish.f_DelayBeforeCatch;
|
autoFish.m_BattleFinishTimestamp = app::MoleMole_TimeUtil_get_LocalNowMsTimeStamp(nullptr) + autoFish.f_DelayBeforeCatch;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AutoFish::FishingModule_OnFishBattleEndRsp_Hook(void* __this, app::FishBattleEndRsp* rsp, MethodInfo* method)
|
void AutoFish::FishingModule_OnFishBattleEndRsp_Hook(void* __this, app::FishBattleEndRsp* rsp, MethodInfo* method)
|
||||||
@ -115,7 +115,7 @@ namespace cheat::feature
|
|||||||
{
|
{
|
||||||
LOG_WARNING("Failed to catch fish, retrying in %u ms", autoFish.f_DelayBeforeCatch);
|
LOG_WARNING("Failed to catch fish, retrying in %u ms", autoFish.f_DelayBeforeCatch);
|
||||||
std::lock_guard<std::mutex> catchLock(autoFish.m_BattleFinishTimestampMutex);
|
std::lock_guard<std::mutex> catchLock(autoFish.m_BattleFinishTimestampMutex);
|
||||||
autoFish.m_BattleFinishTimestamp = app::MoleMole_TimeUtil_get_NowTimeStamp(nullptr) + autoFish.f_DelayBeforeCatch;
|
autoFish.m_BattleFinishTimestamp = app::MoleMole_TimeUtil_get_LocalNowMsTimeStamp(nullptr) + autoFish.f_DelayBeforeCatch;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -123,7 +123,7 @@ namespace cheat::feature
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
std::lock_guard<std::mutex> _lock(autoFish.m_RecastTimestampMutex);
|
std::lock_guard<std::mutex> _lock(autoFish.m_RecastTimestampMutex);
|
||||||
autoFish.m_RecastTimestamp = app::MoleMole_TimeUtil_get_NowTimeStamp(nullptr) + autoFish.f_DelayBeforeRecast;
|
autoFish.m_RecastTimestamp = app::MoleMole_TimeUtil_get_LocalNowMsTimeStamp(nullptr) + autoFish.f_DelayBeforeRecast;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AutoFish::FishingModule_OnExitFishingRsp_Hook(void* __this, void* rsp, MethodInfo* method)
|
void AutoFish::FishingModule_OnExitFishingRsp_Hook(void* __this, void* rsp, MethodInfo* method)
|
||||||
@ -154,7 +154,7 @@ namespace cheat::feature
|
|||||||
|
|
||||||
void AutoFish::OnGameUpdate()
|
void AutoFish::OnGameUpdate()
|
||||||
{
|
{
|
||||||
auto timestamp = app::MoleMole_TimeUtil_get_NowTimeStamp(nullptr);
|
auto timestamp = app::MoleMole_TimeUtil_get_LocalNowMsTimeStamp(nullptr);
|
||||||
|
|
||||||
std::lock_guard<std::mutex> _lock(m_BattleFinishTimestampMutex);
|
std::lock_guard<std::mutex> _lock(m_BattleFinishTimestampMutex);
|
||||||
std::lock_guard<std::mutex> _lock2(m_RecastTimestampMutex);
|
std::lock_guard<std::mutex> _lock2(m_RecastTimestampMutex);
|
||||||
|
@ -13,6 +13,8 @@ namespace cheat::feature
|
|||||||
static bool LCSelectPickup_IsInPosition_Hook(void* __this, app::BaseEntity* entity, MethodInfo* method);
|
static bool LCSelectPickup_IsInPosition_Hook(void* __this, app::BaseEntity* entity, MethodInfo* method);
|
||||||
static bool LCSelectPickup_IsOutPosition_Hook(void* __this, app::BaseEntity* entity, MethodInfo* method);
|
static bool LCSelectPickup_IsOutPosition_Hook(void* __this, app::BaseEntity* entity, MethodInfo* method);
|
||||||
|
|
||||||
|
float g_default_range = 3.0f;
|
||||||
|
|
||||||
AutoLoot::AutoLoot() : Feature(),
|
AutoLoot::AutoLoot() : Feature(),
|
||||||
NF(f_AutoPickup, "Auto-pickup drops", "AutoLoot", false),
|
NF(f_AutoPickup, "Auto-pickup drops", "AutoLoot", false),
|
||||||
NF(f_AutoTreasure, "Auto-open treasures", "AutoLoot", false),
|
NF(f_AutoTreasure, "Auto-open treasures", "AutoLoot", false),
|
||||||
@ -26,7 +28,9 @@ namespace cheat::feature
|
|||||||
NF(f_Investigate, "Search points", "AutoLoot", false),
|
NF(f_Investigate, "Search points", "AutoLoot", false),
|
||||||
NF(f_QuestInteract, "Quest interacts", "AutoLoot", false),
|
NF(f_QuestInteract, "Quest interacts", "AutoLoot", false),
|
||||||
NF(f_Others, "Other treasures", "AutoLoot", false),
|
NF(f_Others, "Other treasures", "AutoLoot", false),
|
||||||
NF(f_DelayTime, "Delay time (in ms)", "AutoLoot", 150),
|
NF(f_DelayTime, "Delay time (in ms)", "AutoLoot", 200),
|
||||||
|
NF(f_UseDelayTimeFluctuation, "Use delay fluctuation", "AutoLoot", false),
|
||||||
|
NF(f_DelayTimeFluctuation, "Delay fluctuation +(in ms)", "AutoLoot", 200),
|
||||||
NF(f_CustomRange, "Pickup Range", "AutoLoot", 5.0f),
|
NF(f_CustomRange, "Pickup Range", "AutoLoot", 5.0f),
|
||||||
toBeLootedItems(), nextLootTime(0)
|
toBeLootedItems(), nextLootTime(0)
|
||||||
{
|
{
|
||||||
@ -82,6 +86,17 @@ namespace cheat::feature
|
|||||||
}
|
}
|
||||||
ImGui::EndGroupPanel();
|
ImGui::EndGroupPanel();
|
||||||
|
|
||||||
|
ImGui::BeginGroupPanel("Looting delay fluctuation");
|
||||||
|
{
|
||||||
|
ConfigWidget("Enabled", f_UseDelayTimeFluctuation, "Enable delay fluctuation.\n" \
|
||||||
|
"Simulates human clicking delay as manual clickling never consistent.");
|
||||||
|
ImGui::SameLine();
|
||||||
|
ImGui::TextColored(ImColor(255, 165, 0, 255), "Read the note!");
|
||||||
|
ImGui::SetNextItemWidth(100.0f);
|
||||||
|
ConfigWidget("Delay range +(ms)", f_DelayTimeFluctuation, 1, 0, 1000, "Delay randomly fluctuates between 'Delay Time'+'Delay Time+range'");
|
||||||
|
}
|
||||||
|
ImGui::EndGroupPanel();
|
||||||
|
|
||||||
ImGui::TableSetColumnIndex(1);
|
ImGui::TableSetColumnIndex(1);
|
||||||
ImGui::BeginGroupPanel("Auto-Treasure");
|
ImGui::BeginGroupPanel("Auto-Treasure");
|
||||||
{
|
{
|
||||||
@ -120,12 +135,13 @@ namespace cheat::feature
|
|||||||
|
|
||||||
void AutoLoot::DrawStatus()
|
void AutoLoot::DrawStatus()
|
||||||
{
|
{
|
||||||
ImGui::Text("Auto Loot\n[%s%s%s%s%s]",
|
ImGui::Text("Auto Loot\n[%s%s%s%s%s%s]",
|
||||||
f_AutoPickup ? "AP" : "",
|
f_AutoPickup ? "AP" : "",
|
||||||
f_AutoTreasure ? fmt::format("{}AT", f_AutoPickup ? "|" : "").c_str() : "",
|
f_AutoTreasure ? fmt::format("{}AT", f_AutoPickup ? "|" : "").c_str() : "",
|
||||||
f_UseCustomRange ? fmt::format("{}CR{:.1f}m", f_AutoPickup || f_AutoTreasure ? "|" : "", f_CustomRange.value()).c_str() : "",
|
f_UseCustomRange ? fmt::format("{}CR{:.1f}m", f_AutoPickup || f_AutoTreasure ? "|" : "", f_CustomRange.value()).c_str() : "",
|
||||||
f_PickupFilter ? fmt::format("{}PF", f_AutoPickup || f_AutoTreasure || f_UseCustomRange ? "|" : "").c_str() : "",
|
f_PickupFilter ? fmt::format("{}PF", f_AutoPickup || f_AutoTreasure || f_UseCustomRange ? "|" : "").c_str() : "",
|
||||||
f_AutoPickup || f_AutoTreasure ? fmt::format("|{}ms", f_DelayTime.value()).c_str() : ""
|
f_AutoPickup || f_AutoTreasure ? fmt::format("|{}ms", f_DelayTime.value()).c_str() : "",
|
||||||
|
f_UseDelayTimeFluctuation ? fmt::format("|FL+{}ms", f_DelayTimeFluctuation.value()).c_str() : ""
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -171,7 +187,7 @@ namespace cheat::feature
|
|||||||
auto& manager = game::EntityManager::instance();
|
auto& manager = game::EntityManager::instance();
|
||||||
for (auto& entity : manager.entities(game::filters::combined::Chests))
|
for (auto& entity : manager.entities(game::filters::combined::Chests))
|
||||||
{
|
{
|
||||||
float range = f_UseCustomRange ? f_CustomRange : 3.5f;
|
float range = f_UseCustomRange ? f_CustomRange : g_default_range;
|
||||||
if (manager.avatar()->distance(entity) >= range)
|
if (manager.avatar()->distance(entity) >= range)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
@ -220,13 +236,20 @@ namespace cheat::feature
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
app::MoleMole_ItemModule_PickItem(itemModule, *entityId, nullptr);
|
app::MoleMole_ItemModule_PickItem(itemModule, *entityId, nullptr);
|
||||||
nextLootTime = currentTime + (int)f_DelayTime;
|
|
||||||
|
int fluctuation = 0;
|
||||||
|
if (f_UseDelayTimeFluctuation)
|
||||||
|
{
|
||||||
|
fluctuation = std::rand() % (f_DelayTimeFluctuation + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
nextLootTime = currentTime + (int)f_DelayTime + fluctuation;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AutoLoot::OnCheckIsInPosition(bool& result, app::BaseEntity* entity)
|
void AutoLoot::OnCheckIsInPosition(bool& result, app::BaseEntity* entity)
|
||||||
{
|
{
|
||||||
if (f_AutoPickup || f_UseCustomRange) {
|
if (f_AutoPickup || f_UseCustomRange) {
|
||||||
float pickupRange = f_UseCustomRange ? f_CustomRange : 3.5f;
|
float pickupRange = f_UseCustomRange ? f_CustomRange : g_default_range;
|
||||||
if (f_PickupFilter)
|
if (f_PickupFilter)
|
||||||
{
|
{
|
||||||
if (!f_PickupFilter_Animals && entity->fields.entityType == app::EntityType__Enum_1::EnvAnimal ||
|
if (!f_PickupFilter_Animals && entity->fields.entityType == app::EntityType__Enum_1::EnvAnimal ||
|
||||||
|
@ -12,9 +12,11 @@ namespace cheat::feature
|
|||||||
config::Field<config::Toggle<Hotkey>> f_AutoPickup;
|
config::Field<config::Toggle<Hotkey>> f_AutoPickup;
|
||||||
config::Field<config::Toggle<Hotkey>> f_AutoTreasure;
|
config::Field<config::Toggle<Hotkey>> f_AutoTreasure;
|
||||||
config::Field<config::Toggle<Hotkey>> f_UseCustomRange;
|
config::Field<config::Toggle<Hotkey>> f_UseCustomRange;
|
||||||
|
config::Field<config::Toggle<Hotkey>> f_UseDelayTimeFluctuation;
|
||||||
config::Field<config::Toggle<Hotkey>> f_PickupFilter;
|
config::Field<config::Toggle<Hotkey>> f_PickupFilter;
|
||||||
|
|
||||||
config::Field<int> f_DelayTime;
|
config::Field<int> f_DelayTime;
|
||||||
|
config::Field<int> f_DelayTimeFluctuation;
|
||||||
config::Field<float> f_CustomRange;
|
config::Field<float> f_CustomRange;
|
||||||
|
|
||||||
config::Field<bool> f_Chest;
|
config::Field<bool> f_Chest;
|
||||||
|
@ -162,7 +162,7 @@ namespace cheat::feature
|
|||||||
static std::unordered_set<app::SceneTreeObject*> s_AttackQueueSet;
|
static std::unordered_set<app::SceneTreeObject*> s_AttackQueueSet;
|
||||||
static uint64_t s_LastAttackTimestamp = 0;
|
static uint64_t s_LastAttackTimestamp = 0;
|
||||||
|
|
||||||
uint64_t timestamp = app::MoleMole_TimeUtil_get_NowTimeStamp(nullptr);
|
uint64_t timestamp = app::MoleMole_TimeUtil_get_LocalNowMsTimeStamp(nullptr);
|
||||||
if (!m_Enabled || s_LastAttackTimestamp + m_AttackDelay > timestamp)
|
if (!m_Enabled || s_LastAttackTimestamp + m_AttackDelay > timestamp)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -16,11 +16,14 @@ namespace cheat::feature
|
|||||||
KillAura::KillAura() : Feature(),
|
KillAura::KillAura() : Feature(),
|
||||||
NF(f_Enabled, "Kill aura", "KillAura", false),
|
NF(f_Enabled, "Kill aura", "KillAura", false),
|
||||||
NF(f_DamageMode, "Damage mode", "Damage mode", false),
|
NF(f_DamageMode, "Damage mode", "Damage mode", false),
|
||||||
|
NF(f_PercentDamageMode, "Percent damage mode", "Damage mode", false),
|
||||||
NF(f_InstantDeathMode, "Instant death", "Instant death", false),
|
NF(f_InstantDeathMode, "Instant death", "Instant death", false),
|
||||||
NF(f_OnlyTargeted, "Only targeted", "KillAura", true),
|
NF(f_OnlyTargeted, "Only targeted", "KillAura", true),
|
||||||
NF(f_Range, "Range", "KillAura", 15.0f),
|
NF(f_Range, "Range", "KillAura", 15.0f),
|
||||||
NF(f_AttackDelay, "Attack delay time (in ms)", "KillAura", 100),
|
NF(f_AttackDelay, "Attack delay time (in ms)", "KillAura", 100),
|
||||||
NF(f_RepeatDelay, "Repeat delay time (in ms)", "KillAura", 1000)
|
NF(f_RepeatDelay, "Repeat delay time (in ms)", "KillAura", 1000),
|
||||||
|
NF(f_DamageValue, "Crash damage value", "Damage mode", 233.0f),
|
||||||
|
NF(f_PercentDamageTimes, "Times to kill", "Damage mode", 3)
|
||||||
{
|
{
|
||||||
events::GameUpdateEvent += MY_METHOD_HANDLER(KillAura::OnGameUpdate);
|
events::GameUpdateEvent += MY_METHOD_HANDLER(KillAura::OnGameUpdate);
|
||||||
HookManager::install(app::MoleMole_BaseMoveSyncPlugin_ConvertSyncTaskToMotionInfo, BaseMoveSyncPlugin_ConvertSyncTaskToMotionInfo_Hook);
|
HookManager::install(app::MoleMole_BaseMoveSyncPlugin_ConvertSyncTaskToMotionInfo, BaseMoveSyncPlugin_ConvertSyncTaskToMotionInfo_Hook);
|
||||||
@ -39,6 +42,20 @@ namespace cheat::feature
|
|||||||
ImGui::TextColored(ImColor(255, 165, 0, 255), "Choose any or both modes below.");
|
ImGui::TextColored(ImColor(255, 165, 0, 255), "Choose any or both modes below.");
|
||||||
|
|
||||||
ConfigWidget("Crash Damage Mode", f_DamageMode, "Kill aura causes crash damage for monster around you.");
|
ConfigWidget("Crash Damage Mode", f_DamageMode, "Kill aura causes crash damage for monster around you.");
|
||||||
|
ImGui::Indent();
|
||||||
|
ConfigWidget("Percent mode", f_PercentDamageMode, "Crash damage with percent value.");
|
||||||
|
if (f_DamageMode)
|
||||||
|
{
|
||||||
|
if (!f_PercentDamageMode)
|
||||||
|
{
|
||||||
|
ConfigWidget("Damage Value", f_DamageValue, 1, 0, 10000000, "Crash damage value");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ConfigWidget("Kill times", f_PercentDamageTimes, 1, 1, 100, "How many times to kill.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ImGui::Unindent();
|
||||||
ConfigWidget("Instant Death Mode", f_InstantDeathMode, "Kill aura will attempt to instagib any valid target.");
|
ConfigWidget("Instant Death Mode", f_InstantDeathMode, "Kill aura will attempt to instagib any valid target.");
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
ImGui::TextColored(ImColor(255, 165, 0, 255), "Can get buggy with bosses like PMA and Hydro Hypo.");
|
ImGui::TextColored(ImColor(255, 165, 0, 255), "Can get buggy with bosses like PMA and Hydro Hypo.");
|
||||||
@ -55,8 +72,9 @@ namespace cheat::feature
|
|||||||
|
|
||||||
void KillAura::DrawStatus()
|
void KillAura::DrawStatus()
|
||||||
{
|
{
|
||||||
ImGui::Text("Kill Aura [%s]\n[%.01fm|%s|%dms|%dms]",
|
ImGui::Text("Kill Aura [%s%s]\n[%.01fm|%s|%dms|%dms]",
|
||||||
f_DamageMode && f_InstantDeathMode ? "Extreme" : f_DamageMode ? "Crash" : f_InstantDeathMode ? "Instant" : "None",
|
f_DamageMode && f_InstantDeathMode ? "Extreme" : f_DamageMode ? "Crash" : f_InstantDeathMode ? "Instant" : "None",
|
||||||
|
f_DamageMode ? !f_PercentDamageMode ? "|Fixed" : fmt::format("|Rate({})", f_PercentDamageTimes.value()).c_str() : "",
|
||||||
f_Range.value(),
|
f_Range.value(),
|
||||||
f_OnlyTargeted ? "Aggro" : "All",
|
f_OnlyTargeted ? "Aggro" : "All",
|
||||||
f_AttackDelay.value(),
|
f_AttackDelay.value(),
|
||||||
@ -151,12 +169,35 @@ namespace cheat::feature
|
|||||||
attackSet.erase(monster->runtimeID());
|
attackSet.erase(monster->runtimeID());
|
||||||
|
|
||||||
auto combat = monster->combat();
|
auto combat = monster->combat();
|
||||||
auto maxHP = app::MoleMole_SafeFloat_get_Value(combat->fields._combatProperty_k__BackingField->fields.maxHP, nullptr);
|
|
||||||
|
|
||||||
auto crashEvt = app::MoleMole_EventHelper_Allocate_103(*app::MoleMole_EventHelper_Allocate_103__MethodInfo);
|
auto crashEvt = app::MoleMole_EventHelper_Allocate_103(*app::MoleMole_EventHelper_Allocate_103__MethodInfo);
|
||||||
app::MoleMole_EvtCrash_Init(crashEvt, monster->runtimeID(), nullptr);
|
app::MoleMole_EvtCrash_Init(crashEvt, monster->runtimeID(), nullptr);
|
||||||
crashEvt->fields.maxHp = maxHP;
|
|
||||||
crashEvt->fields.velChange = 1000;
|
if(!f_PercentDamageMode)
|
||||||
|
{
|
||||||
|
//Migita^Rin#1762: Fixed inaccurate damage caused by floating point precision(Maybe)
|
||||||
|
float FPValue;
|
||||||
|
if (f_DamageValue <= 10000000) FPValue = 27.0f;
|
||||||
|
if (f_DamageValue <= 9000000) FPValue = 22.5f;
|
||||||
|
if (f_DamageValue <= 8000000) FPValue = 20.0f;
|
||||||
|
if (f_DamageValue <= 7000000) FPValue = 17.5f;
|
||||||
|
if (f_DamageValue <= 6000000) FPValue = 15.0f;
|
||||||
|
if (f_DamageValue <= 5000000) FPValue = 12.5f;
|
||||||
|
if (f_DamageValue <= 4000000) FPValue = 10.0f;
|
||||||
|
if (f_DamageValue <= 3000000) FPValue = 7.5f;
|
||||||
|
if (f_DamageValue <= 2000000) FPValue = 5.0f;
|
||||||
|
if (f_DamageValue <= 1000000) FPValue = 2.5f;
|
||||||
|
|
||||||
|
crashEvt->fields.maxHp = f_DamageValue / 0.4f + FPValue;
|
||||||
|
crashEvt->fields.velChange = 10000000;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
auto maxHP = app::MoleMole_SafeFloat_get_Value(combat->fields._combatProperty_k__BackingField->fields.maxHP, nullptr);
|
||||||
|
// should works. :p
|
||||||
|
crashEvt->fields.maxHp = maxHP / f_PercentDamageTimes / 0.4f + 5.0f;
|
||||||
|
crashEvt->fields.velChange = 10000000;
|
||||||
|
}
|
||||||
crashEvt->fields.hitPos = monster->absolutePosition();
|
crashEvt->fields.hitPos = monster->absolutePosition();
|
||||||
|
|
||||||
app::MoleMole_EventManager_FireEvent(eventManager, reinterpret_cast<app::BaseEvent*>(crashEvt), false, nullptr);
|
app::MoleMole_EventManager_FireEvent(eventManager, reinterpret_cast<app::BaseEvent*>(crashEvt), false, nullptr);
|
||||||
|
@ -10,11 +10,15 @@ namespace cheat::feature
|
|||||||
public:
|
public:
|
||||||
config::Field<config::Toggle<Hotkey>> f_Enabled;
|
config::Field<config::Toggle<Hotkey>> f_Enabled;
|
||||||
config::Field<config::Toggle<Hotkey>> f_DamageMode;
|
config::Field<config::Toggle<Hotkey>> f_DamageMode;
|
||||||
|
config::Field<config::Toggle<Hotkey>> f_PercentDamageMode;
|
||||||
config::Field<config::Toggle<Hotkey>> f_InstantDeathMode;
|
config::Field<config::Toggle<Hotkey>> f_InstantDeathMode;
|
||||||
config::Field<bool> f_OnlyTargeted;
|
config::Field<bool> f_OnlyTargeted;
|
||||||
config::Field<float> f_Range;
|
config::Field<float> f_Range;
|
||||||
config::Field<int> f_AttackDelay;
|
config::Field<int> f_AttackDelay;
|
||||||
config::Field<int> f_RepeatDelay;
|
config::Field<int> f_RepeatDelay;
|
||||||
|
config::Field<float> f_DamageValue;
|
||||||
|
config::Field<int> f_PercentDamageTimes;
|
||||||
|
|
||||||
|
|
||||||
static KillAura& GetInstance();
|
static KillAura& GetInstance();
|
||||||
|
|
||||||
|