mirror of
https://github.com/OpenMW/openmw.git
synced 2025-06-20 05:11:35 +00:00
Merge remote-tracking branch 'potatoesmaster/selected-spell'
This commit is contained in:
commit
e44a7268fc
3 changed files with 18 additions and 0 deletions
|
@ -1035,6 +1035,11 @@ namespace MWGui
|
||||||
{
|
{
|
||||||
mSelectedSpell = "";
|
mSelectedSpell = "";
|
||||||
mHud->unsetSelectedSpell();
|
mHud->unsetSelectedSpell();
|
||||||
|
|
||||||
|
MWWorld::Player* player = &MWBase::Environment::get().getWorld()->getPlayer();
|
||||||
|
if (player->getDrawState() == MWMechanics::DrawState_Spell)
|
||||||
|
player->setDrawState(MWMechanics::DrawState_Nothing);
|
||||||
|
|
||||||
mSpellWindow->setTitle("#{sNone}");
|
mSpellWindow->setTitle("#{sNone}");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -646,6 +646,10 @@ namespace MWInput
|
||||||
if (!mControlSwitch["playermagic"])
|
if (!mControlSwitch["playermagic"])
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
// Not allowed if no spell selected
|
||||||
|
if (MWBase::Environment::get().getWindowManager()->getSelectedSpell().empty())
|
||||||
|
return;
|
||||||
|
|
||||||
MWMechanics::DrawState_ state = mPlayer->getDrawState();
|
MWMechanics::DrawState_ state = mPlayer->getDrawState();
|
||||||
if (state == MWMechanics::DrawState_Weapon || state == MWMechanics::DrawState_Nothing)
|
if (state == MWMechanics::DrawState_Weapon || state == MWMechanics::DrawState_Nothing)
|
||||||
mPlayer->setDrawState(MWMechanics::DrawState_Spell);
|
mPlayer->setDrawState(MWMechanics::DrawState_Spell);
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
#include "../mwbase/environment.hpp"
|
#include "../mwbase/environment.hpp"
|
||||||
#include "../mwbase/dialoguemanager.hpp"
|
#include "../mwbase/dialoguemanager.hpp"
|
||||||
#include "../mwbase/mechanicsmanager.hpp"
|
#include "../mwbase/mechanicsmanager.hpp"
|
||||||
|
#include "../mwbase/windowmanager.hpp"
|
||||||
|
|
||||||
#include "../mwworld/class.hpp"
|
#include "../mwworld/class.hpp"
|
||||||
|
|
||||||
|
@ -451,6 +452,14 @@ namespace MWScript
|
||||||
runtime.pop();
|
runtime.pop();
|
||||||
|
|
||||||
MWWorld::Class::get (ptr).getCreatureStats (ptr).getSpells().remove (id);
|
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…
Reference in a new issue