mirror of
https://github.com/OpenMW/openmw.git
synced 2025-02-04 22:45:37 +00:00
added framework for character creation
This commit is contained in:
parent
9dffa75a15
commit
c0b9424bcf
2 changed files with 41 additions and 1 deletions
|
@ -11,10 +11,40 @@
|
||||||
|
|
||||||
namespace MWMechanics
|
namespace MWMechanics
|
||||||
{
|
{
|
||||||
|
void MechanicsManager::buildPlayer()
|
||||||
|
{
|
||||||
|
MWWorld::Ptr ptr = mEnvironment.mWorld->getPlayerPos().getPlayer();
|
||||||
|
|
||||||
|
MWMechanics::CreatureStats& creatureStats = MWWorld::Class::get (ptr).getCreatureStats (ptr);
|
||||||
|
// MWMechanics::NpcStats& npcStats = MWWorld::Class::get (ptr).getNpcStats (ptr);
|
||||||
|
|
||||||
|
const ESM::NPC *player = ptr.get<ESM::NPC>()->base;
|
||||||
|
|
||||||
|
// reset
|
||||||
|
creatureStats.mAttributes[0].setBase (player->npdt52.strength);
|
||||||
|
creatureStats.mAttributes[1].setBase (player->npdt52.intelligence);
|
||||||
|
creatureStats.mAttributes[2].setBase (player->npdt52.willpower);
|
||||||
|
creatureStats.mAttributes[3].setBase (player->npdt52.agility);
|
||||||
|
creatureStats.mAttributes[4].setBase (player->npdt52.speed);
|
||||||
|
creatureStats.mAttributes[5].setBase (player->npdt52.endurance);
|
||||||
|
creatureStats.mAttributes[6].setBase (player->npdt52.personality);
|
||||||
|
creatureStats.mAttributes[7].setBase (player->npdt52.luck);
|
||||||
|
|
||||||
|
|
||||||
|
// race
|
||||||
|
|
||||||
|
// birthsign
|
||||||
|
|
||||||
|
// class
|
||||||
|
|
||||||
|
// calculate dynamic stats
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
MechanicsManager::MechanicsManager (MWWorld::Environment& environment)
|
MechanicsManager::MechanicsManager (MWWorld::Environment& environment)
|
||||||
: mEnvironment (environment), mSetName (true)
|
: mEnvironment (environment), mSetName (true)
|
||||||
{
|
{
|
||||||
|
buildPlayer();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MechanicsManager::addActor (const MWWorld::Ptr& ptr)
|
void MechanicsManager::addActor (const MWWorld::Ptr& ptr)
|
||||||
|
@ -100,20 +130,26 @@ namespace MWMechanics
|
||||||
void MechanicsManager::setPlayerRace (const std::string& race, bool male)
|
void MechanicsManager::setPlayerRace (const std::string& race, bool male)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
buildPlayer();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MechanicsManager::setPlayerBirthsign (const std::string& id)
|
void MechanicsManager::setPlayerBirthsign (const std::string& id)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
buildPlayer();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MechanicsManager::setPlayerClass (const std::string& id)
|
void MechanicsManager::setPlayerClass (const std::string& id)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
buildPlayer();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MechanicsManager::setPlayerClass (const ESM::Class& class_)
|
void MechanicsManager::setPlayerClass (const ESM::Class& class_)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
buildPlayer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,10 @@ namespace MWMechanics
|
||||||
CreatureStats mWatchedCreature;
|
CreatureStats mWatchedCreature;
|
||||||
bool mSetName;
|
bool mSetName;
|
||||||
|
|
||||||
|
void buildPlayer();
|
||||||
|
///< build player according to stored class/race/birthsign information. Will
|
||||||
|
/// default to the values of the ESM::NPC object, if no explicit information is given.
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
MechanicsManager (MWWorld::Environment& environment);
|
MechanicsManager (MWWorld::Environment& environment);
|
||||||
|
|
Loading…
Reference in a new issue