This commit is contained in:
aozhiwei 2023-02-16 18:28:09 +08:00
parent d0c3b0ddd2
commit 28acee05a8
5 changed files with 54 additions and 5 deletions

View File

@ -287,6 +287,9 @@ enum PropertyType_e
kPropSkillMinor = 35, kPropSkillMinor = 35,
kPropReviveCion = 36, kPropReviveCion = 36,
kPropCritDmg = 37, kPropCritDmg = 37,
kPropParachute = 38,
kPropFlyEffect = 39,
kPropEnergyShield = 40,
}; };
enum SkinSlot_e enum SkinSlot_e
@ -509,8 +512,6 @@ const int SPEC1_SLOT_BEGIN = 3; //手雷 烟雾弹
const int SPEC2_SLOT_BEGIN = 5; //地雷 燃烧瓶 陷井 毒气弹 const int SPEC2_SLOT_BEGIN = 5; //地雷 燃烧瓶 陷井 毒气弹
const int SPEC3_SLOT_BEGIN = 9; //c4 盾墙 信号抢 汽油桶 const int SPEC3_SLOT_BEGIN = 9; //c4 盾墙 信号抢 汽油桶
const int DOOR_THING_ID = 61701;
const int FIGHTING_MODE_BULLET_NUM = 10000 * 10000; const int FIGHTING_MODE_BULLET_NUM = 10000 * 10000;
const int MAX_NODE_ID = 8; const int MAX_NODE_ID = 8;

View File

@ -2683,3 +2683,13 @@ void Creature::CheckBulletHitHoldShield(IBullet* bullet, bool& eat)
} }
} }
} }
void Creature::AddEnergyShield(int value)
{
}
void Creature::ClearEnergyShield()
{
}

View File

@ -199,6 +199,8 @@ class Creature : public MoveableEntity
void SetHP(float hp); void SetHP(float hp);
void SetMaxHP(float max_hp); void SetMaxHP(float max_hp);
bool IsHpFull(); bool IsHpFull();
void AddEnergyShield(int value);
void ClearEnergyShield();
void StartAction(ActionType_e action_type, void StartAction(ActionType_e action_type,
int action_duration, int action_duration,

View File

@ -881,18 +881,51 @@ void Skill::Proc30801LONG()
void Skill::Proc30901XIONG() void Skill::Proc30901XIONG()
{ {
#if 1 #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 a8::XTimerWp timer = owner->room->xtimer.SetIntervalWpEx
( (
meta->_number_meta->number() / FRAME_RATE_MS, meta->_number_meta->number() * SERVER_FRAME_RATE,
[this] (int event, const a8::Args* args) [this, context] (int event, const a8::Args* args)
{ {
if (a8::TIMER_EXEC_EVENT == event) { if (a8::TIMER_EXEC_EVENT == event) {
if (!owner->dead) { 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); &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 #else
int relive_times = 0; int relive_times = 0;
owner->GetTrigger()->AddListener owner->GetTrigger()->AddListener

View File

@ -180,6 +180,9 @@ message MFVec3
property_subtype: id,flyEffect表 property_subtype: id,flyEffect表
valule: valule:
value3: (value3==0 || value3==null不用传) value3: (value3==0 || value3==null不用传)
property_type: 40
valule:
value2: max护盾值
*/ */
message MFPropertyChg message MFPropertyChg
{ {