1
This commit is contained in:
parent
d0c3b0ddd2
commit
28acee05a8
@ -287,6 +287,9 @@ enum PropertyType_e
|
||||
kPropSkillMinor = 35,
|
||||
kPropReviveCion = 36,
|
||||
kPropCritDmg = 37,
|
||||
kPropParachute = 38,
|
||||
kPropFlyEffect = 39,
|
||||
kPropEnergyShield = 40,
|
||||
};
|
||||
|
||||
enum SkinSlot_e
|
||||
@ -509,8 +512,6 @@ const int SPEC1_SLOT_BEGIN = 3; //手雷 烟雾弹
|
||||
const int SPEC2_SLOT_BEGIN = 5; //地雷 燃烧瓶 陷井 毒气弹
|
||||
const int SPEC3_SLOT_BEGIN = 9; //c4 盾墙 信号抢 汽油桶
|
||||
|
||||
const int DOOR_THING_ID = 61701;
|
||||
|
||||
const int FIGHTING_MODE_BULLET_NUM = 10000 * 10000;
|
||||
|
||||
const int MAX_NODE_ID = 8;
|
||||
|
@ -2683,3 +2683,13 @@ void Creature::CheckBulletHitHoldShield(IBullet* bullet, bool& eat)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Creature::AddEnergyShield(int value)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void Creature::ClearEnergyShield()
|
||||
{
|
||||
|
||||
}
|
||||
|
@ -199,6 +199,8 @@ class Creature : public MoveableEntity
|
||||
void SetHP(float hp);
|
||||
void SetMaxHP(float max_hp);
|
||||
bool IsHpFull();
|
||||
void AddEnergyShield(int value);
|
||||
void ClearEnergyShield();
|
||||
|
||||
void StartAction(ActionType_e action_type,
|
||||
int action_duration,
|
||||
|
@ -881,18 +881,51 @@ void Skill::Proc30801LONG()
|
||||
void Skill::Proc30901XIONG()
|
||||
{
|
||||
#if 1
|
||||
auto context = std::make_shared<std::tuple<int, std::vector<int>>>();
|
||||
std::get<0>(*context.get()) = 0;
|
||||
a8::XTimerWp timer = owner->room->xtimer.SetIntervalWpEx
|
||||
(
|
||||
meta->_number_meta->number() / FRAME_RATE_MS,
|
||||
[this] (int event, const a8::Args* args)
|
||||
meta->_number_meta->number() * SERVER_FRAME_RATE,
|
||||
[this, context] (int event, const a8::Args* args)
|
||||
{
|
||||
if (a8::TIMER_EXEC_EVENT == event) {
|
||||
if (!owner->dead) {
|
||||
|
||||
if (std::get<0>(*context.get()) == 0) {
|
||||
std::get<0>(*context.get()) = 1;
|
||||
owner->GetAbility()->AddSpeedAddition(meta->_number_meta->_float_speed);
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
&xtimer_attacher);
|
||||
|
||||
auto cb =
|
||||
[this, timer, context] (const a8::Args& args) mutable
|
||||
{
|
||||
if (timer.expired()) {
|
||||
return;
|
||||
}
|
||||
owner->room->xtimer.ResetTimer(timer);
|
||||
if (std::get<0>(*context.get()) == 1) {
|
||||
for (int buff_uniid : std::get<1>(*context.get())) {
|
||||
owner->RemoveBuffByUniId(buff_uniid);
|
||||
}
|
||||
std::get<0>(*context.get()) = 0;
|
||||
std::get<1>(*context.get()).clear();
|
||||
owner->GetAbility()->DelSpeedAddition(meta->_number_meta->_float_speed);
|
||||
}
|
||||
};
|
||||
|
||||
owner->GetTrigger()->AddListener
|
||||
(
|
||||
kDieEvent,
|
||||
cb
|
||||
);
|
||||
owner->GetTrigger()->AddListener
|
||||
(
|
||||
kReceiveDmgEvent,
|
||||
cb
|
||||
);
|
||||
#else
|
||||
int relive_times = 0;
|
||||
owner->GetTrigger()->AddListener
|
||||
|
@ -180,6 +180,9 @@ message MFVec3
|
||||
property_subtype: 特效id,读取flyEffect表
|
||||
valule: 目标对象
|
||||
value3: 回传值,当目标对象是自己的时候才需要传(value3==0 || value3==null不用传)
|
||||
property_type: 40 能量护盾
|
||||
valule: 当前护盾值
|
||||
value2: max护盾值
|
||||
*/
|
||||
message MFPropertyChg
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user