1
This commit is contained in:
parent
8dcc7f6bc5
commit
832092bf6e
@ -2,11 +2,16 @@
|
|||||||
|
|
||||||
#include "gungrasp.h"
|
#include "gungrasp.h"
|
||||||
#include "creature.h"
|
#include "creature.h"
|
||||||
|
#include "battledatacontext.h"
|
||||||
|
|
||||||
|
#include "mt/GraspBuff.h"
|
||||||
|
#include "mt/Grasp.h"
|
||||||
|
#include "mt/Hero.h"
|
||||||
|
|
||||||
struct GraspBuff
|
struct GraspBuff
|
||||||
{
|
{
|
||||||
list_head entry;
|
list_head entry;
|
||||||
const mt::Grasp* grasp_meta = nullptr;
|
std::tuple<const mt::GraspBuff*, const mt::GraspBuff*> buffs;
|
||||||
};
|
};
|
||||||
|
|
||||||
GunGrasp::GunGrasp(Creature* owner)
|
GunGrasp::GunGrasp(Creature* owner)
|
||||||
@ -30,4 +35,49 @@ void GunGrasp::Clear()
|
|||||||
void GunGrasp::InstallTriggers()
|
void GunGrasp::InstallTriggers()
|
||||||
{
|
{
|
||||||
Clear();
|
Clear();
|
||||||
|
int hero_lv = 0;
|
||||||
|
int hero_quality = 0;
|
||||||
|
owner_->GetBattleContext()->GetHeroLvQuality(hero_lv, hero_quality);
|
||||||
|
if (owner_->GetHeroMeta()) {
|
||||||
|
mt::GraspBuffs* buffs = mt::Grasp::GetGrasp
|
||||||
|
(owner_->GetHeroMeta()->id(),
|
||||||
|
hero_lv,
|
||||||
|
owner_->GetCurrWeapon()->weapon_id);
|
||||||
|
if (buffs) {
|
||||||
|
for (auto& tuple : *buffs) {
|
||||||
|
switch ((GraspBuffTrigger_e)std::get<0>(tuple)->_trigger_type) {
|
||||||
|
case GraspBuffTrigger_e::kHit:
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case GraspBuffTrigger_e::kKill:
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case GraspBuffTrigger_e::kTakeOn:
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case GraspBuffTrigger_e::kCond:
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case GraspBuffTrigger_e::kHitAndEnd:
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
{
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user