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
![](https://s3.amazonaws.com/s3.attnam.com/smileys/sad.gif)
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?