1
This commit is contained in:
parent
ee4446d406
commit
186a17e594
@ -1114,7 +1114,7 @@ void Human::BeKill(int killer_id, const std::string& killer_name, int weapon_id)
|
|||||||
{
|
{
|
||||||
Entity* killer = room->GetEntityByUniId(killer_id);
|
Entity* killer = room->GetEntityByUniId(killer_id);
|
||||||
if (killer && killer->IsCreature(room)) {
|
if (killer && killer->IsCreature(room)) {
|
||||||
((Creature*)killer)->GetTrigger()->Kill(this);
|
((Creature*)killer)->GetTrigger()->Kill(this, weapon_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (room->IsPveRoom()){
|
if (room->IsPveRoom()){
|
||||||
|
@ -418,6 +418,14 @@ void Skill::ProcJSHX()
|
|||||||
kKillEvent,
|
kKillEvent,
|
||||||
[this] (const std::vector<std::any>& params)
|
[this] (const std::vector<std::any>& params)
|
||||||
{
|
{
|
||||||
|
int weapon_id = std::any_cast<int>(params.at(2));
|
||||||
|
if (owner->GetCurrWeapon()->meta->i->id() != weapon_id) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!owner->GetCurrWeapon()->skill_meta ||
|
||||||
|
owner->GetCurrWeapon()->skill_meta->GetMagicId() != MAGIC_HLYZ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (!owner->dead) {
|
if (!owner->dead) {
|
||||||
float add_hp = SkillHelper::GetJshxHp(owner, meta);
|
float add_hp = SkillHelper::GetJshxHp(owner, meta);
|
||||||
float real_add_hp = std::max(0.0f, std::min(owner->GetMaxHP() - owner->GetHP(), add_hp));
|
float real_add_hp = std::max(0.0f, std::min(owner->GetMaxHP() - owner->GetHP(), add_hp));
|
||||||
|
@ -129,7 +129,7 @@ void Trigger::Shot(MetaData::Equip* weapon_meta)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Trigger::Kill(Creature* target)
|
void Trigger::Kill(Creature* target, int weapon_id)
|
||||||
{
|
{
|
||||||
if (owner_->IsHuman() && target->IsHuman()) {
|
if (owner_->IsHuman() && target->IsHuman()) {
|
||||||
owner_->AsHuman()->stats.kills++;
|
owner_->AsHuman()->stats.kills++;
|
||||||
@ -149,7 +149,7 @@ void Trigger::Kill(Creature* target)
|
|||||||
AddBuffs(buff->meta->int_param1, buff->meta->param4_int_list);
|
AddBuffs(buff->meta->int_param1, buff->meta->param4_int_list);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
DispatchEvent(kKillEvent, {kill_num_, target});
|
DispatchEvent(kKillEvent, {kill_num_, target, weapon_id});
|
||||||
}
|
}
|
||||||
|
|
||||||
void Trigger::UseItemAction(int slot_id)
|
void Trigger::UseItemAction(int slot_id)
|
||||||
|
@ -55,7 +55,7 @@ public:
|
|||||||
Creature* GetOwner() { return owner_; };
|
Creature* GetOwner() { return owner_; };
|
||||||
void TakeonWeapon(Weapon* old_weapon, Weapon* new_weapon);
|
void TakeonWeapon(Weapon* old_weapon, Weapon* new_weapon);
|
||||||
void Shot(MetaData::Equip* weapon_meta);
|
void Shot(MetaData::Equip* weapon_meta);
|
||||||
void Kill(Creature* target);
|
void Kill(Creature* target, int weapon_id);
|
||||||
void UseItemAction(int slot_id);
|
void UseItemAction(int slot_id);
|
||||||
void UseSkill(Skill* skill);
|
void UseSkill(Skill* skill);
|
||||||
void HpChg();
|
void HpChg();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user