1
This commit is contained in:
parent
24b3fc65ff
commit
f1b2f5a4b9
@ -646,8 +646,8 @@ float BattleDataContext::GetWeaponAtk(IBullet* bullet)
|
||||
}
|
||||
if (bullet->GetSkillMeta() && bullet->GetSkillMeta()->_number_meta) {
|
||||
switch (bullet->GetSkillMeta()->GetMagicId()) {
|
||||
case MAGIC_20801:
|
||||
case MAGIC_20201:
|
||||
case MAGIC_20801_LONG:
|
||||
case MAGIC_20201_HX:
|
||||
{
|
||||
return bullet->GetSkillMeta()->_number_meta->_float_ratio;
|
||||
}
|
||||
|
@ -18,7 +18,7 @@ void HideBuff::Deactivate()
|
||||
{
|
||||
if (skill_meta) {
|
||||
switch (skill_meta->GetMagicId()) {
|
||||
case MAGIC_20501:
|
||||
case MAGIC_20501_TZ:
|
||||
{
|
||||
owner->GetTrigger()->YsBuffRemove(this);
|
||||
}
|
||||
@ -35,7 +35,7 @@ void HideBuff::ProcSkill()
|
||||
{
|
||||
if (skill_meta) {
|
||||
switch (skill_meta->GetMagicId()) {
|
||||
case MAGIC_20501:
|
||||
case MAGIC_20501_TZ:
|
||||
{
|
||||
owner->room->xtimer.ModifyTime
|
||||
(remover_timer,
|
||||
|
@ -22,7 +22,7 @@ void HoldShieldBuff::Activate()
|
||||
owner->shield_hp_);
|
||||
if (skill_meta) {
|
||||
switch (skill_meta->GetMagicId()) {
|
||||
case MAGIC_21001:
|
||||
case MAGIC_21001_NIU:
|
||||
{
|
||||
owner->room->xtimer.ModifyTime
|
||||
(remover_timer,
|
||||
|
@ -59,14 +59,14 @@ void MachineGunBuff::ProcSkill()
|
||||
{
|
||||
if (skill_meta && skill_meta->_number_meta) {
|
||||
switch (skill_meta->GetMagicId()) {
|
||||
case MAGIC_20801:
|
||||
case MAGIC_20801_LONG:
|
||||
{
|
||||
owner->room->xtimer.ModifyTime
|
||||
(remover_timer,
|
||||
skill_meta->_number_meta->_float_time * 1000/ FRAME_RATE_MS);
|
||||
}
|
||||
break;
|
||||
case MAGIC_20201:
|
||||
case MAGIC_20201_HX:
|
||||
{
|
||||
owner->room->xtimer.ModifyTime
|
||||
(remover_timer,
|
||||
@ -74,7 +74,7 @@ void MachineGunBuff::ProcSkill()
|
||||
owner->GetTrigger()->DispatchEvent(kStartSwitchWeaponBuffEvent, {this});
|
||||
}
|
||||
break;
|
||||
case MAGIC_20401:
|
||||
case MAGIC_20401_MAO:
|
||||
{
|
||||
FgSkill();
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ void ReverseBuff::Activate()
|
||||
owner->SetAttackDir(dir);
|
||||
if (skill_meta) {
|
||||
switch (skill_meta->GetMagicId()) {
|
||||
case MAGIC_20901:
|
||||
case MAGIC_20901_XIONG:
|
||||
{
|
||||
owner->ForwardMove(SkillHelper::GetYmczReserveDistance(skill_meta));
|
||||
}
|
||||
|
@ -142,7 +142,7 @@ void SprintBuff::OnEnemyHit(Creature* enemy)
|
||||
}
|
||||
if (skill_meta) {
|
||||
switch (skill_meta->GetMagicId()) {
|
||||
case MAGIC_20901:
|
||||
case MAGIC_20901_XIONG:
|
||||
{
|
||||
float dmg = SkillHelper::GetYmczDmg(owner,
|
||||
enemy,
|
||||
@ -171,7 +171,7 @@ void SprintBuff::ProcSkill()
|
||||
{
|
||||
if (skill_meta) {
|
||||
switch (skill_meta->GetMagicId()) {
|
||||
case MAGIC_20901:
|
||||
case MAGIC_20901_XIONG:
|
||||
{
|
||||
owner->room->xtimer.ModifyTime
|
||||
(remover_timer,
|
||||
|
@ -648,7 +648,7 @@ void Bullet::OnStrengthen(Obstacle* ob)
|
||||
const mt::Skill* skill_meta = room_ob->skill_meta;
|
||||
if (skill_meta && skill_meta->_number_meta) {
|
||||
switch (skill_meta->GetMagicId()) {
|
||||
case MAGIC_20601:
|
||||
case MAGIC_20601_DJS:
|
||||
{
|
||||
strengthen_wall = skill_meta->_number_meta->_float_ratio2;
|
||||
}
|
||||
|
@ -442,27 +442,27 @@ enum SamplePolyFlags
|
||||
enum MagicType_e
|
||||
{
|
||||
MAGIC_NONE = 0,
|
||||
MAGIC_20101_XL, //20101 爱心香风
|
||||
MAGIC_20701, //20701 瞬间移动回血
|
||||
MAGIC_20801, //20801 火力压制
|
||||
MAGIC_20901, //20901 野蛮冲撞
|
||||
MAGIC_21001, //21001 立盾防御
|
||||
MAGIC_20201, //20201 火箭浣熊
|
||||
MAGIC_20401, //20401 飞勾
|
||||
MAGIC_20601, //20601 威力翻倍
|
||||
MAGIC_20301, //20301 医疗站
|
||||
MAGIC_20501, //20501 隐身
|
||||
MAGIC_20101_HL, //20101 狐狸-爱心香风
|
||||
MAGIC_20701_BAO, //20701 豹-瞬间移动回血
|
||||
MAGIC_20801_LONG, //20801 龙-火力压制
|
||||
MAGIC_20901_XIONG, //20901 熊野蛮冲撞
|
||||
MAGIC_21001_NIU, //21001 牛-立盾防御
|
||||
MAGIC_20201_HX, //20201 浣熊-火箭浣熊
|
||||
MAGIC_20401_MAO, //20401 猫-飞勾
|
||||
MAGIC_20601_DJS, //20601 独角兽-威力翻倍
|
||||
MAGIC_20301_XL, //20301 小鹿-医疗站
|
||||
MAGIC_20501_TZ, //20501 兔子-隐身
|
||||
|
||||
MAGIC_30101_XL, //30101 自然恢复
|
||||
MAGIC_30201, //30201 受伤加速
|
||||
MAGIC_30301, //30301 击杀回血
|
||||
MAGIC_30401, //30401 死亡自曝
|
||||
MAGIC_30501, //30501 此面向敌
|
||||
MAGIC_30601, //30601 免疫眩晕
|
||||
MAGIC_30701, //30701 钩爪拉动减伤
|
||||
MAGIC_30801, //30801 救援防护
|
||||
MAGIC_30901, //30901 复活
|
||||
MAGIC_31001, //31001 隐身恢复
|
||||
MAGIC_30101_HL, //30101 狐狸-自然恢复
|
||||
MAGIC_30201_HX, //30201 浣熊-受伤加速
|
||||
MAGIC_30301_XL, //30301 小鹿-击杀回血
|
||||
MAGIC_30401_MAO, //30401 猫-死亡自曝
|
||||
MAGIC_30501_TZ, //30501 兔子-此面向敌
|
||||
MAGIC_30601_DJS, //30601 独角兽-免疫眩晕
|
||||
MAGIC_30701_BAO, //30701 豹-钩爪拉动减伤
|
||||
MAGIC_30801_LONG, //30801 龙-救援防护
|
||||
MAGIC_30901_XIONG, //30901 熊-复活
|
||||
MAGIC_31001_NIU, //31001 牛-隐身恢复
|
||||
MAGIC_END
|
||||
};
|
||||
|
||||
|
@ -1439,7 +1439,7 @@ void Creature::SummonObstacle(Buff* buff, int id, const Position& target_pos)
|
||||
Position pos = target_pos;
|
||||
if (buff->skill_meta) {
|
||||
switch (buff->skill_meta->GetMagicId()) {
|
||||
case MAGIC_20601:
|
||||
case MAGIC_20601_DJS:
|
||||
{
|
||||
if (!GlmHelper::IsZero(GetAttackDir())) {
|
||||
// 999
|
||||
|
@ -787,7 +787,7 @@ void RoomObstacle::ActiveMedicalStation()
|
||||
if (!skill_meta || !skill_meta->_number_meta) {
|
||||
return;
|
||||
}
|
||||
if (skill_meta->GetMagicId() != MAGIC_20301) {
|
||||
if (skill_meta->GetMagicId() != MAGIC_20301_XL) {
|
||||
return;
|
||||
}
|
||||
scale = 1.0f;
|
||||
|
@ -499,8 +499,8 @@ void InternalShot(Creature* c,
|
||||
bullet_info.bullet_idx = bulletIdx;
|
||||
bullet_info.bullet_num = bulletNum;
|
||||
if (skill_meta &&
|
||||
(skill_meta->GetMagicId() == MAGIC_20101_XL ||
|
||||
skill_meta->GetMagicId() == MAGIC_20201)
|
||||
(skill_meta->GetMagicId() == MAGIC_20101_HL ||
|
||||
skill_meta->GetMagicId() == MAGIC_20201_HX)
|
||||
) {
|
||||
bullet_info.trace_target_uniid = c->GetSkillTargetId();
|
||||
}
|
||||
|
@ -250,52 +250,52 @@ void Skill::InitActiveSkill()
|
||||
void Skill::InitPassiveSkill()
|
||||
{
|
||||
switch (meta->GetMagicId()) {
|
||||
case MAGIC_30101_XL:
|
||||
case MAGIC_30101_HL:
|
||||
{
|
||||
Proc30101XL();
|
||||
}
|
||||
break;
|
||||
case MAGIC_30201:
|
||||
case MAGIC_30201_HX:
|
||||
{
|
||||
ProcSSJS();
|
||||
}
|
||||
break;
|
||||
case MAGIC_30301:
|
||||
case MAGIC_30301_XL:
|
||||
{
|
||||
ProcJSHX();
|
||||
}
|
||||
break;
|
||||
case MAGIC_30401:
|
||||
case MAGIC_30401_MAO:
|
||||
{
|
||||
ProcSWZB();
|
||||
}
|
||||
break;
|
||||
case MAGIC_30501:
|
||||
case MAGIC_30501_TZ:
|
||||
{
|
||||
ProcCMXD();
|
||||
}
|
||||
break;
|
||||
case MAGIC_30601:
|
||||
case MAGIC_30601_DJS:
|
||||
{
|
||||
ProcMYXY();
|
||||
}
|
||||
break;
|
||||
case MAGIC_30701:
|
||||
case MAGIC_30701_BAO:
|
||||
{
|
||||
ProcGZJS();
|
||||
}
|
||||
break;
|
||||
case MAGIC_30801:
|
||||
case MAGIC_30801_LONG:
|
||||
{
|
||||
ProcJYFH();
|
||||
}
|
||||
break;
|
||||
case MAGIC_30901:
|
||||
case MAGIC_30901_XIONG:
|
||||
{
|
||||
ProcFH();
|
||||
}
|
||||
break;
|
||||
case MAGIC_31001:
|
||||
case MAGIC_31001_NIU:
|
||||
{
|
||||
ProcYSHF();
|
||||
}
|
||||
@ -659,7 +659,7 @@ void Skill::ProcMYXY()
|
||||
(const a8::Args& args)
|
||||
{
|
||||
Skill* skill = args.Get<Skill*>(0);
|
||||
if (skill->meta->GetMagicId() != MAGIC_20201) {
|
||||
if (skill->meta->GetMagicId() != MAGIC_20201_HX) {
|
||||
return;
|
||||
}
|
||||
owner->GetAbility()->AddSpeedAddition(speed_rate);
|
||||
@ -710,7 +710,7 @@ void Skill::ProcGZJS()
|
||||
(const a8::Args& args) mutable
|
||||
{
|
||||
Bullet* bullet = args.Get<Bullet*>(0);
|
||||
if (!bullet->skill_meta || bullet->skill_meta->GetMagicId() != MAGIC_20401) {
|
||||
if (!bullet->skill_meta || bullet->skill_meta->GetMagicId() != MAGIC_20401_MAO) {
|
||||
return;
|
||||
}
|
||||
if (!dmg_ruduce_timer.expired()) {
|
||||
@ -960,7 +960,7 @@ void Skill::ProcSpecDirShotPhase(const mt::SkillPhase* phase)
|
||||
if (std::abs(owner->skill_dir_.x) > FLT_EPSILON ||
|
||||
std::abs(owner->skill_dir_.y) > FLT_EPSILON) {
|
||||
float target_distance = 5;
|
||||
if (meta->GetMagicId() == MAGIC_20401) {
|
||||
if (meta->GetMagicId() == MAGIC_20401_MAO) {
|
||||
target_distance = meta->_number_meta->_float_range;
|
||||
}
|
||||
if (weapon_meta->equip_type() == EQUIP_TYPE_THROW &&
|
||||
@ -984,12 +984,12 @@ void Skill::ProcSpecDirShotPhase(const mt::SkillPhase* phase)
|
||||
},
|
||||
&xtimer_attacher);
|
||||
}
|
||||
if (meta->GetMagicId() == MAGIC_20301) {
|
||||
if (meta->GetMagicId() == MAGIC_20301_XL) {
|
||||
target_distance = std::max(0.0001f, target_distance);
|
||||
}
|
||||
if (bullet_meta && target_distance > 0.00001f) {
|
||||
int target_id = 0;
|
||||
if (meta->GetMagicId() == MAGIC_20201) {
|
||||
if (meta->GetMagicId() == MAGIC_20201_HX) {
|
||||
target_distance = 0;
|
||||
owner->TryAddBuff(owner, 202013);
|
||||
owner->TryAddBuff(owner, 202014);
|
||||
@ -1027,7 +1027,7 @@ void Skill::ProcNormalShotPhase(const mt::SkillPhase* phase)
|
||||
if (entity) {
|
||||
float target_distance = entity->GetPos().Distance2D2(owner->GetPos());
|
||||
if (bullet_meta && target_distance > 0.00001f) {
|
||||
if (meta->GetMagicId() == MAGIC_20201) {
|
||||
if (meta->GetMagicId() == MAGIC_20201_HX) {
|
||||
owner->TryAddBuff(owner, 202013);
|
||||
owner->TryAddBuff(owner, 202014);
|
||||
}
|
||||
|
@ -21,103 +21,103 @@ std::map<int, int> SkillHelper::skill_magic_hash_;
|
||||
static int GetMagicSkillId(int magic_id)
|
||||
{
|
||||
switch (magic_id) {
|
||||
case MAGIC_20101_XL:
|
||||
case MAGIC_20101_HL:
|
||||
{
|
||||
return 20101;
|
||||
}
|
||||
break;
|
||||
case MAGIC_20701:
|
||||
case MAGIC_20701_BAO:
|
||||
{
|
||||
return 20701;
|
||||
}
|
||||
break;
|
||||
case MAGIC_20801:
|
||||
case MAGIC_20801_LONG:
|
||||
{
|
||||
return 20801;
|
||||
}
|
||||
break;
|
||||
case MAGIC_20901:
|
||||
case MAGIC_20901_XIONG:
|
||||
{
|
||||
return 20901;
|
||||
}
|
||||
break;
|
||||
case MAGIC_21001:
|
||||
case MAGIC_21001_NIU:
|
||||
{
|
||||
return 21001;
|
||||
}
|
||||
break;
|
||||
case MAGIC_20201:
|
||||
case MAGIC_20201_HX:
|
||||
{
|
||||
return 20201;
|
||||
}
|
||||
break;
|
||||
case MAGIC_20401:
|
||||
case MAGIC_20401_MAO:
|
||||
{
|
||||
return 20401;
|
||||
}
|
||||
break;
|
||||
case MAGIC_20601:
|
||||
case MAGIC_20601_DJS:
|
||||
{
|
||||
return 20601;
|
||||
}
|
||||
break;
|
||||
case MAGIC_20301:
|
||||
case MAGIC_20301_XL:
|
||||
{
|
||||
return 20301;
|
||||
}
|
||||
break;
|
||||
case MAGIC_20501:
|
||||
case MAGIC_20501_TZ:
|
||||
{
|
||||
return 20501;
|
||||
}
|
||||
break;
|
||||
|
||||
case MAGIC_30101_XL:
|
||||
case MAGIC_30101_HL:
|
||||
{
|
||||
return 30101;
|
||||
}
|
||||
break;
|
||||
case MAGIC_30201:
|
||||
case MAGIC_30201_HX:
|
||||
{
|
||||
return 30701;
|
||||
}
|
||||
break;
|
||||
case MAGIC_30301:
|
||||
case MAGIC_30301_XL:
|
||||
{
|
||||
return 30801;
|
||||
}
|
||||
break;
|
||||
case MAGIC_30401:
|
||||
case MAGIC_30401_MAO:
|
||||
{
|
||||
return 30901;
|
||||
}
|
||||
break;
|
||||
case MAGIC_30501:
|
||||
case MAGIC_30501_TZ:
|
||||
{
|
||||
return 31001;
|
||||
}
|
||||
break;
|
||||
case MAGIC_30601:
|
||||
case MAGIC_30601_DJS:
|
||||
{
|
||||
return 30201;
|
||||
}
|
||||
break;
|
||||
case MAGIC_30701:
|
||||
case MAGIC_30701_BAO:
|
||||
{
|
||||
return 30401;
|
||||
}
|
||||
break;
|
||||
case MAGIC_30801:
|
||||
case MAGIC_30801_LONG:
|
||||
{
|
||||
return 30601;
|
||||
}
|
||||
break;
|
||||
case MAGIC_30901:
|
||||
case MAGIC_30901_XIONG:
|
||||
{
|
||||
return 30301;
|
||||
}
|
||||
break;
|
||||
case MAGIC_31001:
|
||||
case MAGIC_31001_NIU:
|
||||
{
|
||||
return 30501;
|
||||
}
|
||||
@ -254,7 +254,7 @@ void SkillHelper::ProcBulletHitBuff(IBullet* bullet, Creature* c, int buff_uniid
|
||||
return;
|
||||
}
|
||||
switch (skill_meta->GetMagicId()) {
|
||||
case MAGIC_20101_XL:
|
||||
case MAGIC_20101_HL:
|
||||
{
|
||||
if (buff->meta->buff_effect() == kBET_Vertigo) {
|
||||
c->room->xtimer.ModifyTime
|
||||
@ -347,8 +347,8 @@ bool SkillHelper::ProcBulletDmg(IBullet* bullet, Creature* target, float& finaly
|
||||
return false;
|
||||
}
|
||||
switch (skill_meta->GetMagicId()) {
|
||||
case MAGIC_20101_XL:
|
||||
case MAGIC_20401:
|
||||
case MAGIC_20101_HL:
|
||||
case MAGIC_20401_MAO:
|
||||
{
|
||||
finaly_dmg =
|
||||
(skill_meta->_number_meta->_float_ratio +
|
||||
@ -389,8 +389,8 @@ void SkillHelper::ProcSummonObstacle(const mt::Skill* skill_meta, RoomObstacle*
|
||||
return;
|
||||
}
|
||||
switch (skill_meta->GetMagicId()) {
|
||||
case MAGIC_20601:
|
||||
case MAGIC_20301:
|
||||
case MAGIC_20601_DJS:
|
||||
case MAGIC_20301_XL:
|
||||
{
|
||||
if (!ob->life_time_timer.expired()) {
|
||||
ob->room->xtimer.ModifyTime(ob->life_time_timer,
|
||||
|
@ -182,7 +182,7 @@ void VirtualBullet::OnStrengthen(Obstacle* ob)
|
||||
const mt::Skill* skill_meta = room_ob->skill_meta;
|
||||
if (skill_meta && skill_meta->_number_meta) {
|
||||
switch (skill_meta->GetMagicId()) {
|
||||
case MAGIC_20601:
|
||||
case MAGIC_20601_DJS:
|
||||
{
|
||||
strengthen_wall = skill_meta->_number_meta->_float_ratio2;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user