1
This commit is contained in:
parent
9b633fd125
commit
d559f5cd08
@ -974,6 +974,7 @@ void Creature::DoSkill(int skill_id,
|
|||||||
}
|
}
|
||||||
DoSkillPreProc(skill_id, target_id);
|
DoSkillPreProc(skill_id, target_id);
|
||||||
ResetSkill();
|
ResetSkill();
|
||||||
|
ClearSkillLocalVars(skill_id);
|
||||||
skill_target_id_ = target_id;
|
skill_target_id_ = target_id;
|
||||||
skill_dir_ = skill_dir;
|
skill_dir_ = skill_dir;
|
||||||
skill_distance_ = skill_distance;
|
skill_distance_ = skill_distance;
|
||||||
@ -3676,15 +3677,35 @@ void Creature::InitMobaRoad()
|
|||||||
|
|
||||||
void Creature::ClearSkillLocalVars(int skill_id)
|
void Creature::ClearSkillLocalVars(int skill_id)
|
||||||
{
|
{
|
||||||
|
auto itr = skill_local_vars_.find(skill_id);
|
||||||
|
if (itr != skill_local_vars_.end()) {
|
||||||
|
skill_local_vars_.erase(itr);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
float Creature::GetSkillLocalVar(int skill_id, int idx)
|
float Creature::GetSkillLocalVar(int skill_id, int idx)
|
||||||
{
|
{
|
||||||
|
auto itr = skill_local_vars_.find(skill_id);
|
||||||
|
if (itr != skill_local_vars_.end()) {
|
||||||
|
auto itr2 = itr->second.find(idx);
|
||||||
|
if (itr2 != itr->second.end()) {
|
||||||
|
return itr2->second;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Creature::SetSkillLocalVar(int skill_id, int idx, float val)
|
void Creature::SetSkillLocalVar(int skill_id, int idx, float val)
|
||||||
{
|
{
|
||||||
|
auto itr = skill_local_vars_.find(skill_id);
|
||||||
|
if (itr == skill_local_vars_.end()) {
|
||||||
|
skill_local_vars_[skill_id] = std::map<int, float>();
|
||||||
|
itr = skill_local_vars_.find(skill_id);
|
||||||
|
}
|
||||||
|
auto itr2 = itr->second.find(idx);
|
||||||
|
if (itr2 != itr->second.end()) {
|
||||||
|
itr2->second = val;
|
||||||
|
} else {
|
||||||
|
itr->second[idx] = val;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user