1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-02-04 03:40:14 +00:00

Merge remote-tracking branch 'potatoesmaster/selected-spell'

This commit is contained in:
Marc Zinnschlag 2014-02-11 17:00:41 +01:00
commit e44a7268fc
3 changed files with 18 additions and 0 deletions

View File

@ -1035,6 +1035,11 @@ namespace MWGui
{
mSelectedSpell = "";
mHud->unsetSelectedSpell();
MWWorld::Player* player = &MWBase::Environment::get().getWorld()->getPlayer();
if (player->getDrawState() == MWMechanics::DrawState_Spell)
player->setDrawState(MWMechanics::DrawState_Nothing);
mSpellWindow->setTitle("#{sNone}");
}

View File

@ -646,6 +646,10 @@ namespace MWInput
if (!mControlSwitch["playermagic"])
return;
// Not allowed if no spell selected
if (MWBase::Environment::get().getWindowManager()->getSelectedSpell().empty())
return;
MWMechanics::DrawState_ state = mPlayer->getDrawState();
if (state == MWMechanics::DrawState_Weapon || state == MWMechanics::DrawState_Nothing)
mPlayer->setDrawState(MWMechanics::DrawState_Spell);

View File

@ -17,6 +17,7 @@
#include "../mwbase/environment.hpp"
#include "../mwbase/dialoguemanager.hpp"
#include "../mwbase/mechanicsmanager.hpp"
#include "../mwbase/windowmanager.hpp"
#include "../mwworld/class.hpp"
@ -451,6 +452,14 @@ namespace MWScript
runtime.pop();
MWWorld::Class::get (ptr).getCreatureStats (ptr).getSpells().remove (id);
MWBase::WindowManager *wm = MWBase::Environment::get().getWindowManager();
if (ptr == MWBase::Environment::get().getWorld()->getPlayerPtr() &&
id == wm->getSelectedSpell())
{
wm->unsetSelectedSpell();
}
}
};