red_kangaroo wrote
Maybe
this needs to be changed to
unsigned long long int Config;
EDIT: Hmm, does not seem to work right...
It's tricky aye? Have a look at
character::BeginTemporaryState. The States variable is type long int, or 32 bits. This is already a clue as to how extensive the changes might have to be.
The state variables are logical flags, represented by 32-bit integers.
These flags look like this:
LEPROSY = 0001
FLYING = 0010
SLEEPING = 0011
And so on. It allows the program to do fast operations like:
if(!(States&FLYING)){
trigger beartrap;
}
I think if we want to increase the number of states, one option is to represent the states as long long (64 bits). This will only give us 32 more states
unless there is a smarter way to do this.
Sadly my idea to do the following failed:
#define POLYMORPHED (1 << 0)LL
Maybe this is a good question to pose to zenith/emlai?