diff --git a/server/gameserver/buff/batch_add.cc b/server/gameserver/buff/batch_add.cc index f7ed199c..97c064cb 100644 --- a/server/gameserver/buff/batch_add.cc +++ b/server/gameserver/buff/batch_add.cc @@ -26,6 +26,11 @@ void BatchAddBuff::Activate() if (rnd < std::get<1>(items[0])){ const mt::Buff* buff_meta = mt::Buff::GetById(std::get<0>(items[0])); if (buff_meta) { + a8::XPrintf("BatchAddBuff:%d %s\n", + { + buff_meta->buff_id(), + buff_meta->name() + }); owner->AddBuff(caster_.Get(), buff_meta, skill_meta); } } diff --git a/server/gameserver/buff/bufffactory.cc b/server/gameserver/buff/bufffactory.cc index 73149947..0174d98b 100644 --- a/server/gameserver/buff/bufffactory.cc +++ b/server/gameserver/buff/bufffactory.cc @@ -50,96 +50,96 @@ #include "mt/Buff.h" -Buff* BuffFactory::MakeBuff(const mt::Buff* buff_meta) +std::shared_ptr BuffFactory::MakeBuff(const mt::Buff* buff_meta) { switch (buff_meta->buff_effect()) { case kBET_AddCarBuff: - return new AddCarBuff(); + return std::make_shared(); case kBET_AddInventory: - return new AddInventoryBuff(); + return std::make_shared(); case kBET_AutoShot: - return new AutoShotBuff(); + return std::make_shared(); case kBET_BatchAddBuff: - return new BatchAddBuff(); + return std::make_shared(); case kBET_BeatBack: - return new BeatBackBuff(); + return std::make_shared(); case kBET_Become: - return new BecomeBuff(); + return std::make_shared(); case kBET_BePull: - return new BePullBuff(); + return std::make_shared(); case kBET_BeRecycle: - return new BeRecycleBuff(); + return std::make_shared(); case kBET_CallFunc: - return new CallFuncBuff(); + return std::make_shared(); case kBET_Camouflage: - return new CamouflageBuff(); + return std::make_shared(); case kBET_CamouflageAddition: - return new CamouflageAdditionBuff(); + return std::make_shared(); case kBET_EventAdd: - return new EventAddBuff(); + return std::make_shared(); case kBET_DelayAddBuff: - return new DelayAddBuff(); + return std::make_shared(); case kBET_Disperse: - return new DisperseBuff; + return std::make_shared(); case kBET_Dive: - return new DiveBuff(); + return std::make_shared(); case kBET_Driver: - return new DriverBuff(); + return std::make_shared(); case kBET_FlashMove: - return new FlashMoveBuff(); + return std::make_shared(); case kBET_Hide: - return new HideBuff(); + return std::make_shared(); case kBET_HoldShield: - return new HoldShieldBuff(); + return std::make_shared(); case kBET_Immune: - return new ImmuneBuff(); + return std::make_shared(); case kBET_InWater: - return new InWaterBuff(); + return std::make_shared(); case kBET_IntervalAddBuff: - return new InternalAddBuff; + return std::make_shared(); case kBET_Jump: - return new JumpBuff(); + return std::make_shared(); case kBET_JumpTo: - return new JumpToBuff(); + return std::make_shared(); case kBET_MachineGun: - return new MachineGunBuff(); + return std::make_shared(); case kBET_OnceChgAttr: - return new OnceChgAttrBuff(); + return std::make_shared(); case kBET_Passenger: - return new PassengerBuff(); + return std::make_shared(); case kBET_Pull: - return new PullBuff(); + return std::make_shared(); case kBET_PullToWalkable: - return new PullToWalkableBuff(); + return std::make_shared(); case kBET_RemoveCarBuff: - return new RemoveCarBuff; + return std::make_shared(); case kBET_Rescuer: - return new RescuerBuff(); + return std::make_shared(); case kBET_Reverse: - return new ReverseBuff(); + return std::make_shared(); case kBET_ReverseMove: - return new ReverseMoveBuff(); + return std::make_shared(); case kBET_SelectTargetWithSelfPos: - return new SelectTargetWithSelfPosBuff(); + return std::make_shared(); case kBET_Sprint: - return new SprintBuff(); + return std::make_shared(); case kBET_SummonHero: - return new SummonHeroBuff(); + return std::make_shared(); case kBET_SummonObstacle: - return new SummonObstacleBuff(); + return std::make_shared(); case kBET_TurnOver: - return new TurnOverBuff(); + return std::make_shared(); case kBET_UseSkill: - return new UseSkillBuff(); + return std::make_shared(); case kBET_Invincible: - return new InvincibleBuff(); + return std::make_shared(); case kBET_ModifyAttr: - return new ModifyBuff(); + return std::make_shared(); case kBET_Vertigo: - return new VertigoBuff(); + return std::make_shared(); case kBET_CondAdd: - return new CondAddBuff(); + return std::make_shared(); default: - return new Buff(); + return std::make_shared(); } } diff --git a/server/gameserver/buff/bufffactory.h b/server/gameserver/buff/bufffactory.h index 885ec59b..e5006a7e 100644 --- a/server/gameserver/buff/bufffactory.h +++ b/server/gameserver/buff/bufffactory.h @@ -5,5 +5,5 @@ class BuffFactory { public: - static Buff* MakeBuff(const mt::Buff* buff_meta); + static std::shared_ptr MakeBuff(const mt::Buff* buff_meta); };