30 Jul, 2007, Hanaisse wrote in the 1st comment:
Votes: 0
Seems an odd problem to me but there could be a perfectly logical explanation.

My coder's character is always tired. No matter what he does - eat, drink, sleep - he continually gets the message; You are tired, and drops into sleep.

He's deleted the character several times (including the pfile) yet nothing seems to help. Whether his character is lvl 2 or lvl 65 doesn't matter.

So, my question is, what in SMAUG1.4a causes 'tiredness'.
30 Jul, 2007, Zeno wrote in the 2nd comment:
Votes: 0
Normally mentalstate would do something like that.

If you're not sure, just check the code.
30 Jul, 2007, Valcados wrote in the 3rd comment:
Votes: 0
That's mentalstate. Under normal circumstances, the main thing which causes it in imms, is fieldtesting mobs at low health. Whenever you get the message "You wish your wounds would stop BLEEDING so much!", mentalstate goes down slightly. Players hardly notice this since they don't get that message so often, or if they do, they die. But it's common for imms to suffer a lot from it. There are other things which effect mentalstate, too, such as poison and hunger (but hunger only affects it for Lv <50).

You can fix mentalstate by doing: "mset self mentalstate 0"

If that all doesn't help, then it sounds like something bizarre is happening which isn't part of stock SMAUG.
30 Jul, 2007, Conner wrote in the 4th comment:
Votes: 0
Another thing that will affect mntalstate that way, even for imms, is alignment (depending on race/class restrictions).
30 Jul, 2007, Hanaisse wrote in the 5th comment:
Votes: 0
Ah, right, mentalstate. That's the term I was looking for.
As I said we tried everything to fix it in-game; eating, drinking, sleeping. His char health was perfect otherwise. I went into his pfile to look at his mentalstate and it was at -43, so I changed it to 0. Still not sure what caused it or why it couldn't fix itself but problem solved now.
Thanks.
30 Jul, 2007, Conner wrote in the 6th comment:
Votes: 0
Just remember that if you make changes to a pfile while the character is online, the changes will have no effect as they'll be overwritten the next time the character saves so only make changes directly to a pfile of an offline character and use mset (where possible, like in this case) for any characters that are online.
31 Jul, 2007, Hanaisse wrote in the 7th comment:
Votes: 0
Ok, thanks for the tip Valcados and Conner. I didn't know mset could be used on characters.
I changed the pfile while he was offline then had him log in to check.
31 Jul, 2007, Conner wrote in the 8th comment:
Votes: 0
You're more than welcome, and glad to hear you got it all worked out. :smile:
05 Aug, 2007, Guest wrote in the 9th comment:
Votes: 0
Easy fix for this. In handler.c, worsen_mental_state, find:
c -= number_percent(  ) < con ? 1 : 0;
if( c < 1 )
return;


And make it look like this:
if( IS_IMMORTAL(ch) )
return;

c -= number_percent( ) < con ? 1 : 0;
if( c < 1 )
return;


Up for debate if you'd consider this a bug, merely an annoyance, or whatever. But I found it annoying enough that we did the same in AFKMud.
05 Aug, 2007, Conner wrote in the 10th comment:
Votes: 0
If you were going to exempt immortals from it that way, wouldn't you also want to do the same thing to better_mental_state too? Or is there a reason that'd be a bad idea?
05 Aug, 2007, Guest wrote in the 11th comment:
Votes: 0
You can exempt imms in the same manner but I don't think it ever became an issue for us :)
05 Aug, 2007, Conner wrote in the 12th comment:
Votes: 0
'k, just seemed like a logical extension of the other. :shrug:
0.0/12