game2006/server/gameserver/buff/modify_grow_attr.cc
aozhiwei bace996af2 1
2023-03-28 16:17:06 +08:00

42 lines
867 B
C++

#include "precompile.h"
#include "buff/modify_grow_attr.h"
#include "creature.h"
#include "human.h"
#include "car.h"
#include "mt/Buff.h"
void ModifyGrowAttrBuff::Activate()
{
int attr_id = meta->_int_buff_param1;
float value = meta->GetBuffParam2(this);
switch (meta->_int_buff_param3) {
case 1:
{
add_handle_ = owner->GetAbility()->AddAttrAddition(attr_id, value);
}
break;
case 2:
{
ruduce_handle_ = owner->GetAbility()->AddAttrRuduce(attr_id, value);
}
break;
default:
{
}
break;
}
}
void ModifyGrowAttrBuff::Deactivate()
{
if (!add_handle_.expired()) {
owner->GetAbility()->RemoveAttrAddition(add_handle_);
}
if (!ruduce_handle_.expired()) {
owner->GetAbility()->RemoveAttrRuduce(ruduce_handle_);
}
}