mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-02-04 12:39:55 +00:00
Merge remote-tracking branch 'potatoesmaster/selected-spell'
This commit is contained in:
commit
e44a7268fc
@ -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}");
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user