mirror of
https://github.com/OpenMW/openmw.git
synced 2025-02-06 22:15:37 +00:00
Redemption compatibility fix
This commit is contained in:
parent
12a15e3fb7
commit
49f68e08bf
2 changed files with 79 additions and 60 deletions
|
@ -27,8 +27,11 @@ namespace MWMechanics
|
||||||
npcStats.mSkill[i].setBase (player->npdt52.skills[i]);
|
npcStats.mSkill[i].setBase (player->npdt52.skills[i]);
|
||||||
|
|
||||||
// race
|
// race
|
||||||
|
if (mRaceSelected)
|
||||||
|
{
|
||||||
const ESM::Race *race =
|
const ESM::Race *race =
|
||||||
mEnvironment.mWorld->getStore().races.find (mEnvironment.mWorld->getPlayerPos().getRace());
|
mEnvironment.mWorld->getStore().races.find (
|
||||||
|
mEnvironment.mWorld->getPlayerPos().getRace());
|
||||||
|
|
||||||
bool male = mEnvironment.mWorld->getPlayerPos().isMale();
|
bool male = mEnvironment.mWorld->getPlayerPos().isMale();
|
||||||
|
|
||||||
|
@ -62,9 +65,18 @@ namespace MWMechanics
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO handle magic effects
|
||||||
|
}
|
||||||
|
|
||||||
// birthsign
|
// birthsign
|
||||||
|
if (!mEnvironment.mWorld->getPlayerPos().getBirthsign().empty())
|
||||||
|
{
|
||||||
|
// TODO handle magic effects
|
||||||
|
}
|
||||||
|
|
||||||
// class
|
// class
|
||||||
|
if (mClassSelected)
|
||||||
|
{
|
||||||
const ESM::Class& class_ = mEnvironment.mWorld->getPlayerPos().getClass();
|
const ESM::Class& class_ = mEnvironment.mWorld->getPlayerPos().getClass();
|
||||||
|
|
||||||
for (int i=0; i<2; ++i)
|
for (int i=0; i<2; ++i)
|
||||||
|
@ -109,6 +121,7 @@ namespace MWMechanics
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// calculate dynamic stats
|
// calculate dynamic stats
|
||||||
int strength = creatureStats.mAttributes[0].getBase();
|
int strength = creatureStats.mAttributes[0].getBase();
|
||||||
|
@ -127,7 +140,8 @@ namespace MWMechanics
|
||||||
}
|
}
|
||||||
|
|
||||||
MechanicsManager::MechanicsManager (MWWorld::Environment& environment)
|
MechanicsManager::MechanicsManager (MWWorld::Environment& environment)
|
||||||
: mEnvironment (environment), mUpdatePlayer (true)
|
: mEnvironment (environment), mUpdatePlayer (true), mClassSelected (false),
|
||||||
|
mRaceSelected (false)
|
||||||
{
|
{
|
||||||
buildPlayer();
|
buildPlayer();
|
||||||
}
|
}
|
||||||
|
@ -267,6 +281,7 @@ namespace MWMechanics
|
||||||
{
|
{
|
||||||
mEnvironment.mWorld->getPlayerPos().setGender (male);
|
mEnvironment.mWorld->getPlayerPos().setGender (male);
|
||||||
mEnvironment.mWorld->getPlayerPos().setRace (race);
|
mEnvironment.mWorld->getPlayerPos().setRace (race);
|
||||||
|
mRaceSelected = true;
|
||||||
buildPlayer();
|
buildPlayer();
|
||||||
mUpdatePlayer = true;
|
mUpdatePlayer = true;
|
||||||
}
|
}
|
||||||
|
@ -280,6 +295,7 @@ namespace MWMechanics
|
||||||
void MechanicsManager::setPlayerClass (const std::string& id)
|
void MechanicsManager::setPlayerClass (const std::string& id)
|
||||||
{
|
{
|
||||||
mEnvironment.mWorld->getPlayerPos().setClass (*mEnvironment.mWorld->getStore().classes.find (id));
|
mEnvironment.mWorld->getPlayerPos().setClass (*mEnvironment.mWorld->getStore().classes.find (id));
|
||||||
|
mClassSelected = true;
|
||||||
buildPlayer();
|
buildPlayer();
|
||||||
mUpdatePlayer = true;
|
mUpdatePlayer = true;
|
||||||
}
|
}
|
||||||
|
@ -287,6 +303,7 @@ namespace MWMechanics
|
||||||
void MechanicsManager::setPlayerClass (const ESM::Class& class_)
|
void MechanicsManager::setPlayerClass (const ESM::Class& class_)
|
||||||
{
|
{
|
||||||
mEnvironment.mWorld->getPlayerPos().setClass (class_);
|
mEnvironment.mWorld->getPlayerPos().setClass (class_);
|
||||||
|
mClassSelected = true;
|
||||||
buildPlayer();
|
buildPlayer();
|
||||||
mUpdatePlayer = true;
|
mUpdatePlayer = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,6 +23,8 @@ namespace MWMechanics
|
||||||
CreatureStats mWatchedCreature;
|
CreatureStats mWatchedCreature;
|
||||||
NpcStats mWatchedNpc;
|
NpcStats mWatchedNpc;
|
||||||
bool mUpdatePlayer;
|
bool mUpdatePlayer;
|
||||||
|
bool mClassSelected;
|
||||||
|
bool mRaceSelected;
|
||||||
|
|
||||||
void buildPlayer();
|
void buildPlayer();
|
||||||
///< build player according to stored class/race/birthsign information. Will
|
///< build player according to stored class/race/birthsign information. Will
|
||||||
|
|
Loading…
Reference in a new issue