Skip to content

Commit 7c252fb

Browse files
committed
add new horrible mods :0
1 parent 4d3bc3f commit 7c252fb

6 files changed

Lines changed: 90 additions & 32 deletions

File tree

src/main.cpp

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class $modify(HorribleCCLayer, CCLayer) {
2323
log::debug("Hooked Cocos layer {}", getID());
2424

2525
if (horribleMod && horribleMod->getSavedValue<bool>("mock", false)) {
26-
if (auto b = true) { // change to random chance
26+
if ((rand() % 75) == 0) {
2727
auto mockConfigPath = fmt::format("{}\\mock.json", horribleMod->getSaveDir());
2828
auto mockConfig = file::readJson(std::filesystem::path(mockConfigPath));
2929

@@ -87,6 +87,14 @@ class $modify(HorribleCCLayer, CCLayer) {
8787
};
8888
};
8989

90+
queueInMainThread([this]() {
91+
auto del = CCDelayTime::create(0.25f); // use another cc class
92+
93+
if (horribleMod && horribleMod->getSavedValue<bool>("upside-down", false)) {
94+
if ((rand() % 50) == 0) setRotation(-180.f);
95+
};
96+
});
97+
9098
return true;
9199
};
92100
};

src/modified/GJBaseGameLayer.cpp

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#include <Geode/Geode.hpp>
2+
3+
#include <Geode/utils/terminate.hpp>
4+
5+
#include <Geode/modify/GJBaseGameLayer.hpp>
6+
7+
using namespace geode::prelude;
8+
9+
class $modify(HorribleGJBaseGameLayer, GJBaseGameLayer) {
10+
void handleButton(bool down, int button, bool isPlayer1) {
11+
auto horribleMod = getMod();
12+
13+
if (horribleMod->getSavedValue<bool>("no-jump", false)) {
14+
if (button == 1) {
15+
if ((rand() % 11) == 0) {
16+
log::error("skipped dat jump");
17+
GJBaseGameLayer::handleButton(false, button, isPlayer1);
18+
} else {
19+
log::debug("registered dat jump");
20+
GJBaseGameLayer::handleButton(down, button, isPlayer1);
21+
};
22+
};
23+
} else {
24+
GJBaseGameLayer::handleButton(down, button, isPlayer1);
25+
};
26+
};
27+
};

src/modified/PlayLayer.cpp

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class $modify(HorriblePlayLayer, PlayLayer) {
3232

3333
auto horribleMod = getMod();
3434

35-
if (horribleMod->getSavedValue<bool>("oxygen", true)) {
35+
if (horribleMod->getSavedValue<bool>("oxygen", false)) {
3636
if (level) {
3737
m_fields->m_oxygenActive = true;
3838
m_fields->m_oxygenLevel = 100.f;
@@ -83,7 +83,7 @@ class $modify(HorriblePlayLayer, PlayLayer) {
8383
};
8484
};
8585

86-
if (horribleMod->getSavedValue<bool>("freeze", true)) {
86+
if (horribleMod->getSavedValue<bool>("freeze", false)) {
8787
if (auto gm = GameManager::sharedState()) {
8888
// gm or ccdir dont have native set max fps methods
8989
};
@@ -97,7 +97,7 @@ class $modify(HorriblePlayLayer, PlayLayer) {
9797
void onExit() {
9898
auto horribleMod = getMod();
9999

100-
if (horribleMod->getSavedValue<bool>("achieve", true)) {
100+
if (horribleMod->getSavedValue<bool>("achieve", false)) {
101101
if (auto fmod = FMODAudioEngine::sharedEngine()) {
102102
// @geode-ignore(unknown-resource)
103103
fmod->playEffectAsync("achievement_01.ogg");
@@ -154,22 +154,28 @@ class $modify(HorriblePlayLayer, PlayLayer) {
154154
PlayLayer::resetLevel();
155155
};
156156

157-
void onRestart() {
158-
resetOxygenLevel();
159-
};
160-
161157
// do crap when player died
162158
void destroyPlayer(PlayerObject * player, GameObject * game) {
163159
auto horribleMod = getMod();
164160
if (!m_fields->m_destroyingObject) m_fields->m_destroyingObject = game;
165161

166-
bool griefEnabled = horribleMod->getSavedValue("grief", true);
167-
bool congregEnabled = horribleMod->getSavedValue("congregation", true);
162+
bool crashEnabled = horribleMod->getSavedValue("crash-death", false);
163+
bool griefEnabled = horribleMod->getSavedValue("grief", false);
164+
bool congregEnabled = horribleMod->getSavedValue("congregation", false);
168165

169166
bool wasDead = player ? player->m_isDead : true;
170167

171168
PlayLayer::destroyPlayer(player, game);
172169

170+
if (crashEnabled && player && !wasDead && player->m_isDead) {
171+
if ((rand() % 1) == 0) {
172+
log::warn("ur game crash hehehehehehehe");
173+
game::exit(true); // saves data
174+
} else {
175+
log::debug("ur safe from crash... for now");
176+
};
177+
};
178+
173179
// get back to grief
174180
if (griefEnabled && player && !wasDead && player->m_isDead) {
175181
LevelManager::DownloadGriefLevel();
@@ -237,7 +243,7 @@ class $modify(HorriblePlayLayer, PlayLayer) {
237243
PlayLayer::showNewBest(newReward, orbs, diamonds, demonKey, noRetry, noTitle);
238244

239245
#if !defined(GEODE_IS_MACOS) && !defined(GEODE_IS_IOS) // not available for these platforms
240-
if (horribleMod->getSavedValue<bool>("mock", true) && percentage >= 90) {
246+
if (horribleMod->getSavedValue<bool>("mock", false) && percentage >= 90) {
241247
CCDirector* director = CCDirector::sharedDirector();
242248
CCScene* scene = CCScene::get();
243249

src/modified/PlayerObject.cpp

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#include <Geode/Geode.hpp>
2+
3+
#include <Geode/utils/terminate.hpp>
4+
5+
#include <Geode/modify/PlayerObject.hpp>
6+
7+
using namespace geode::prelude;
8+
9+
class $modify(HorriblePlayerObject, PlayerObject) {
10+
void updateJump(float p0) {
11+
auto horribleMod = getMod();
12+
13+
if (horribleMod->getSavedValue<bool>("gravity", false)) {
14+
float newGrav = (static_cast<float>(std::rand()) / RAND_MAX); // modify gravity force
15+
16+
// check if player touched any floor i think
17+
auto onGrnd = m_isOnGround || m_isOnGround2 || m_isOnGround3 || m_isOnGround4;
18+
auto minGrav = 0.125f; // minimum grav force
19+
20+
if (newGrav < minGrav) newGrav = minGrav;
21+
22+
onGrnd ? (m_gravityMod = 1.f * newGrav) : (m_gravityMod = 1.f);
23+
if (onGrnd) log::debug("set gravity to x{}", newGrav);
24+
};
25+
26+
PlayerObject::updateJump(p0);
27+
};
28+
};

src/popup/HorribleMenuPopup.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ std::vector<std::tuple<std::string, std::string, std::string, SillyTier, bool>>
8484
{
8585
"upside-down",
8686
"Upside-Down Layer Chance",
87-
"When switching layers, there's a small chance it'll be upside-down.\n<cy>Credit: Cheeseworks</c>",
87+
"When switching layers, there's a 50/50 chance it'll be upside-down.\n<cy>Credit: Cheeseworks</c>",
8888
SillyTier::Low,
8989
false
9090
}

src/utils/LevelManager.cpp

Lines changed: 9 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,19 @@
66

77
using namespace geode::prelude;
88

9-
namespace LevelManager
10-
{
11-
void DownloadGriefLevel()
12-
{
9+
namespace LevelManager {
10+
void DownloadGriefLevel() {
1311
auto horribleMod = getMod();
1412

15-
if (horribleMod->getSavedValue<bool>("grief", false))
16-
{
13+
if (horribleMod->getSavedValue<bool>("grief", false)) {
1714
auto glm = GameLevelManager::get();
1815
auto mdm = MusicDownloadManager::sharedState();
1916
auto level = glm->getSavedLevel(105001928);
2017

21-
if (glm->hasDownloadedLevel(105001928))
22-
{
18+
if (glm->hasDownloadedLevel(105001928)) {
2319
log::info("Grief already downloaded, skipping download");
2420
glm->updateLevel(level);
25-
}
26-
else
27-
{
21+
} else {
2822
glm->downloadLevel(105001928, false);
2923
mdm->downloadSong(482872);
3024

@@ -33,24 +27,19 @@ namespace LevelManager
3327
};
3428
};
3529

36-
void DownloadCongregLevel()
37-
{
30+
void DownloadCongregLevel() {
3831
auto horribleMod = getMod();
3932

40-
if (horribleMod->getSavedValue<bool>("congregation", false))
41-
{
33+
if (horribleMod->getSavedValue<bool>("congregation", false)) {
4234
auto glm = GameLevelManager::get();
4335
auto mdm = MusicDownloadManager::sharedState();
4436

4537
auto level = glm->getSavedLevel(93437568);
4638

47-
if (glm->hasDownloadedLevel(93437568))
48-
{
39+
if (glm->hasDownloadedLevel(93437568)) {
4940
log::info("Congregation already downloaded, skipping download");
5041
glm->updateLevel(level);
51-
}
52-
else
53-
{
42+
} else {
5443
glm->downloadLevel(93437568, false);
5544
mdm->downloadSong(895761);
5645

0 commit comments

Comments
 (0)