mirror of
https://github.com/TES3MP/TES3MP.git
synced 2025-09-30 08:35:52 -04:00
Fix wrong idle animations played
This commit is contained in:
parent
8f330e7e3c
commit
982f743ddd
@ -45,7 +45,6 @@ namespace MWMechanics
|
|||||||
if(mDuration == 0)
|
if(mDuration == 0)
|
||||||
mTimeOfDay = 0;
|
mTimeOfDay = 0;
|
||||||
|
|
||||||
srand(time(NULL));
|
|
||||||
mStartTime = MWBase::Environment::get().getWorld()->getTimeStamp();
|
mStartTime = MWBase::Environment::get().getWorld()->getTimeStamp();
|
||||||
mPlayedIdle = 0;
|
mPlayedIdle = 0;
|
||||||
mPathgrid = NULL;
|
mPathgrid = NULL;
|
||||||
@ -189,13 +188,13 @@ namespace MWMechanics
|
|||||||
mPlayedIdle = 0;
|
mPlayedIdle = 0;
|
||||||
unsigned short idleRoll = 0;
|
unsigned short idleRoll = 0;
|
||||||
|
|
||||||
for(unsigned int counter = 1; counter < mIdle.size(); counter++)
|
for(unsigned int counter = 0; counter < mIdle.size(); counter++)
|
||||||
{
|
{
|
||||||
unsigned short idleChance = mIdleChanceMultiplier * mIdle[counter];
|
unsigned short idleChance = mIdleChanceMultiplier * mIdle[counter];
|
||||||
unsigned short randSelect = (int)(rand() / ((double)RAND_MAX + 1) * int(100 / mIdleChanceMultiplier));
|
unsigned short randSelect = (int)(rand() / ((double)RAND_MAX + 1) * int(100 / mIdleChanceMultiplier));
|
||||||
if(randSelect < idleChance && randSelect > idleRoll)
|
if(randSelect < idleChance && randSelect > idleRoll)
|
||||||
{
|
{
|
||||||
mPlayedIdle = counter;
|
mPlayedIdle = counter+2;
|
||||||
idleRoll = randSelect;
|
idleRoll = randSelect;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -210,7 +209,7 @@ namespace MWMechanics
|
|||||||
// Play idle animation and recreate vanilla (broken?) behavior of resetting start time of AIWander:
|
// Play idle animation and recreate vanilla (broken?) behavior of resetting start time of AIWander:
|
||||||
MWWorld::TimeStamp currentTime = MWBase::Environment::get().getWorld()->getTimeStamp();
|
MWWorld::TimeStamp currentTime = MWBase::Environment::get().getWorld()->getTimeStamp();
|
||||||
mStartTime = currentTime;
|
mStartTime = currentTime;
|
||||||
playIdle(actor, mPlayedIdle + 1);
|
playIdle(actor, mPlayedIdle);
|
||||||
mChooseAction = false;
|
mChooseAction = false;
|
||||||
mIdleNow = true;
|
mIdleNow = true;
|
||||||
}
|
}
|
||||||
@ -218,7 +217,7 @@ namespace MWMechanics
|
|||||||
|
|
||||||
if(mIdleNow)
|
if(mIdleNow)
|
||||||
{
|
{
|
||||||
if(!checkIdle(actor, mPlayedIdle + 1))
|
if(!checkIdle(actor, mPlayedIdle))
|
||||||
{
|
{
|
||||||
mPlayedIdle = 0;
|
mPlayedIdle = 0;
|
||||||
mIdleNow = false;
|
mIdleNow = false;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user