From c9f374efe022831049cbccd2ba13a3dc0e7a89d3 Mon Sep 17 00:00:00 2001 From: Defalt36 Date: Sat, 27 Jan 2024 01:03:00 -0300 Subject: [PATCH] Makes it possible to crave all holdable objects 6c2bfac49b7139f2b24adb7e3f910684d768d468 Should only crave craftable objects --- server/cravings.cpp | 7 +++++++ server/cravings.h | 2 ++ server/server.cpp | 3 +++ 3 files changed, 12 insertions(+) diff --git a/server/cravings.cpp b/server/cravings.cpp index 4a9a076ed..b2d7ecd34 100644 --- a/server/cravings.cpp +++ b/server/cravings.cpp @@ -11,6 +11,8 @@ Craving noCraving = { -1, -1, 0 }; +int eatEverythingModeEnabled = 0; + @@ -48,6 +50,11 @@ static Craving getRandomFood( int inLineageMaxFoodDepth, SimpleVector *allFoods = getAllPossibleFoodIDs(); + if( eatEverythingModeEnabled ) { + // everything can be eaten + allFoods = getAllPossibleNonPermanentIDs(); + } + SimpleVector possibleFoods; if( inLineageMaxFoodDepth > 0 ) { diff --git a/server/cravings.h b/server/cravings.h index f03136e57..6ff3ed028 100644 --- a/server/cravings.h +++ b/server/cravings.h @@ -9,6 +9,8 @@ typedef struct Craving { extern Craving noCraving; +extern int eatEverythingModeEnabled; + Craving getCravedFood( int inLineageEveID, int inPlayerGenerationNumber, diff --git a/server/server.cpp b/server/server.cpp index d0a2eb096..f184e162a 100644 --- a/server/server.cpp +++ b/server/server.cpp @@ -7022,6 +7022,9 @@ int processLoggedInPlayer( char inAllowReconnect, eatEverythingMode = SettingsManager::getIntSetting( "eatEverythingMode", 0 ); + // change the setting from cravings + eatEverythingModeEnabled = eatEverythingMode; + numConnections ++;