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);
|
||||
ResetSkill();
|
||||
ClearSkillLocalVars(skill_id);
|
||||
skill_target_id_ = target_id;
|
||||
skill_dir_ = skill_dir;
|
||||
skill_distance_ = skill_distance;
|
||||
@ -3676,15 +3677,35 @@ void Creature::InitMobaRoad()
|
||||
|
||||
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)
|
||||
{
|
||||
|
||||
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)
|
||||
{
|
||||
|
||||
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