fixed weapRange for creatures/startcombat script(?)

actorid
mrcheko 11 years ago
parent a11a6b616b
commit df4df5b094

@ -151,6 +151,11 @@ namespace MWMechanics
}
weapRange *= 100.0f;
}
else //is creature
{
weaptype = WeapType_HandToHand; //doesn't matter, should only reflect if it is melee or distant weapon
weapRange = 100; //TODO: use true attack range (the same problem in Creature::hit)
}
//MWWorld::Class::get(actor).getCreatureStats(actor).setAttackingOrSpell(false);
@ -381,6 +386,7 @@ void chooseBestAttack(const ESM::Weapon* weapon, MWMechanics::Movement &movement
if (weapon == NULL)
{
//hand-to-hand and creatures' attacks handled here
//hand-to-hand deals equal damage
float roll = static_cast<float>(rand())/RAND_MAX;
if(roll <= 0.333f) //side punch

@ -435,10 +435,14 @@ namespace MWScript
std::string actorID = runtime.getStringLiteral (runtime[0].mInteger);
runtime.pop();
MWMechanics::CreatureStats& creatureStats = MWWorld::Class::get(actor).getCreatureStats(actor);
creatureStats.getAiSequence().stack(MWMechanics::AiCombat(actor));
MWMechanics::CreatureStats& creatureStats = actor.getClass().getCreatureStats(actor);
if (actorID == "player")
{
creatureStats.setHostile(true);
creatureStats.getAiSequence().stack(
MWMechanics::AiCombat(MWBase::Environment::get().getWorld()->getPtr(actorID,true)));
}
}
};

Loading…
Cancel
Save