1
This commit is contained in:
parent
1a51c6df3f
commit
7a0a2db3cc
@ -11,25 +11,12 @@ void Skill::Initialzie()
|
|||||||
switch (meta->i->skill_type()) {
|
switch (meta->i->skill_type()) {
|
||||||
case kActiveSkill:
|
case kActiveSkill:
|
||||||
{
|
{
|
||||||
inc_times_timer_ = owner->room->xtimer.AddRepeatTimerAndAttach
|
InitActiveSkill();
|
||||||
(
|
|
||||||
GetCd() / FRAME_RATE_MS,
|
|
||||||
a8::XParams()
|
|
||||||
.SetSender(this),
|
|
||||||
[] (const a8::XParams& param)
|
|
||||||
{
|
|
||||||
Skill* skill = (Skill*)param.sender.GetUserData();
|
|
||||||
if (skill->GetCurrTimes() < skill->GetMaxTimes()) {
|
|
||||||
skill->curr_times_++;
|
|
||||||
skill->NotifySkillState();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
&xtimer_attacher.timer_list_);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case kPassiveSkill:
|
case kPassiveSkill:
|
||||||
{
|
{
|
||||||
|
InitPassiveSkill();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -249,3 +236,131 @@ void Skill::DoMinorMode()
|
|||||||
owner->need_sync_active_player = true;
|
owner->need_sync_active_player = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Skill::InitActiveSkill()
|
||||||
|
{
|
||||||
|
inc_times_timer_ = owner->room->xtimer.AddRepeatTimerAndAttach
|
||||||
|
(
|
||||||
|
GetCd() / FRAME_RATE_MS,
|
||||||
|
a8::XParams()
|
||||||
|
.SetSender(this),
|
||||||
|
[] (const a8::XParams& param)
|
||||||
|
{
|
||||||
|
Skill* skill = (Skill*)param.sender.GetUserData();
|
||||||
|
if (skill->GetCurrTimes() < skill->GetMaxTimes()) {
|
||||||
|
skill->curr_times_++;
|
||||||
|
skill->NotifySkillState();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
&xtimer_attacher.timer_list_);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Skill::InitPassiveSkill()
|
||||||
|
{
|
||||||
|
switch (meta->GetMagicId()) {
|
||||||
|
case MAGIC_SJXY:
|
||||||
|
{
|
||||||
|
ProcSJXY();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case MAGIC_SSJS:
|
||||||
|
{
|
||||||
|
ProcSSJS();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case MAGIC_JSHX:
|
||||||
|
{
|
||||||
|
ProcJSHX();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case MAGIC_SWZB:
|
||||||
|
{
|
||||||
|
ProcSWZB();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case MAGIC_CMXD:
|
||||||
|
{
|
||||||
|
ProcCMXD();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case MAGIC_MYXY:
|
||||||
|
{
|
||||||
|
ProcMYXY();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case MAGIC_GZJS:
|
||||||
|
{
|
||||||
|
ProcGZJS();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case MAGIC_JYFH:
|
||||||
|
{
|
||||||
|
ProcJYFH();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case MAGIC_FH:
|
||||||
|
{
|
||||||
|
ProcFH();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case MAGIC_YSHF:
|
||||||
|
{
|
||||||
|
ProcYSHF();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
{
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Skill::ProcSJXY()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Skill::ProcSSJS()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Skill::ProcJSHX()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Skill::ProcSWZB()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Skill::ProcCMXD()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Skill::ProcMYXY()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Skill::ProcGZJS()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Skill::ProcJYFH()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Skill::ProcFH()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Skill::ProcYSHF()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
@ -53,7 +53,22 @@ class Skill
|
|||||||
void AddPassiveSkillBuff();
|
void AddPassiveSkillBuff();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void InitActiveSkill();
|
||||||
|
void InitPassiveSkill();
|
||||||
|
|
||||||
void NotifySkillState();
|
void NotifySkillState();
|
||||||
|
|
||||||
|
void ProcSJXY();
|
||||||
|
void ProcSSJS();
|
||||||
|
void ProcJSHX();
|
||||||
|
void ProcSWZB();
|
||||||
|
void ProcCMXD();
|
||||||
|
void ProcMYXY();
|
||||||
|
void ProcGZJS();
|
||||||
|
void ProcJYFH();
|
||||||
|
void ProcFH();
|
||||||
|
void ProcYSHF();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int curr_times_ = 0;
|
int curr_times_ = 0;
|
||||||
xtimer_list* inc_times_timer_ = nullptr;
|
xtimer_list* inc_times_timer_ = nullptr;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user