42 lines
867 B
C++
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_);
|
|
}
|
|
}
|