Merge remote-tracking branch 'jeffreyhaines/master'

This commit is contained in:
Marc Zinnschlag 2014-04-20 13:34:58 +02:00
commit a91b386381
3 changed files with 6 additions and 4 deletions

View file

@ -1305,7 +1305,7 @@ namespace MWClass
bool Npc::isClass(const MWWorld::Ptr& ptr, const std::string &className) const bool Npc::isClass(const MWWorld::Ptr& ptr, const std::string &className) const
{ {
return ptr.get<ESM::NPC>()->mBase->mClass == className; return Misc::StringUtils::ciEqual(ptr.get<ESM::NPC>()->mBase->mClass, className);
} }
const ESM::GameSetting *Npc::fMinWalkSpeed; const ESM::GameSetting *Npc::fMinWalkSpeed;

View file

@ -806,8 +806,8 @@ namespace MWMechanics
// NOTE: int arg can be from itemTaken() so DON'T modify it, since it is // NOTE: int arg can be from itemTaken() so DON'T modify it, since it is
// passed to reportCrime later on in this function. // passed to reportCrime later on in this function.
// Only player can commit crime and no victimless crimes // Only player can commit crime
if (ptr.getRefData().getHandle() != "player" || victim.isEmpty()) if (ptr.getRefData().getHandle() != "player")
return false; return false;
const MWWorld::ESMStore& esmStore = MWBase::Environment::get().getWorld()->getStore(); const MWWorld::ESMStore& esmStore = MWBase::Environment::get().getWorld()->getStore();
@ -824,6 +824,8 @@ namespace MWMechanics
alarm = esmStore.get<ESM::GameSetting>().find("iAlarmKilling")->getInt(); alarm = esmStore.get<ESM::GameSetting>().find("iAlarmKilling")->getInt();
else if (type == OT_Theft) else if (type == OT_Theft)
alarm = esmStore.get<ESM::GameSetting>().find("iAlarmStealing")->getInt(); alarm = esmStore.get<ESM::GameSetting>().find("iAlarmStealing")->getInt();
else
return false;
// Innocent until proven guilty // Innocent until proven guilty
bool reported = false; bool reported = false;

View file

@ -814,6 +814,7 @@ namespace MWScript
{ {
MWWorld::Ptr player = MWBase::Environment::get().getWorld()->getPlayerPtr(); MWWorld::Ptr player = MWBase::Environment::get().getWorld()->getPlayerPtr();
player.getClass().getNpcStats(player).setBounty(0); player.getClass().getNpcStats(player).setBounty(0);
MWBase::Environment::get().getWorld()->confiscateStolenItems(player);
MWBase::Environment::get().getWorld()->getPlayer().recordCrimeId(); MWBase::Environment::get().getWorld()->getPlayer().recordCrimeId();
} }
}; };
@ -825,7 +826,6 @@ namespace MWScript
{ {
MWWorld::Ptr player = MWBase::Environment::get().getWorld()->getPlayerPtr(); MWWorld::Ptr player = MWBase::Environment::get().getWorld()->getPlayerPtr();
player.getClass().getNpcStats(player).setBounty(0); player.getClass().getNpcStats(player).setBounty(0);
MWBase::Environment::get().getWorld()->confiscateStolenItems(player);
MWBase::Environment::get().getWorld()->getPlayer().recordCrimeId(); MWBase::Environment::get().getWorld()->getPlayer().recordCrimeId();
} }
}; };