101 lines
4.5 KiB
Lua
Raw Normal View History

2025-01-04 23:00:19 +08:00
BuffConfig = BuffConfig or {}
BuffConfig.EBuffType = {
TestBuff = -1;
InfiniteBullets = 0;
JumpStrengthenLv1 = 1;
JumpStrengthenLv2 = 2;
JumpStrengthenLv3 = 3;
MoveSpeedStrengthenLv1 = 4;
MoveSpeedStrengthenLv2 = 5;
MoveSpeedStrengthenLv3 = 6;
IncreasedDamageLv1 = 7;
IncreasedDamageLv2 = 8;
IncreasedDamageLv3 = 9;
RespiratoryRecoveryLv1 = 10;
RespiratoryRecoveryLv2 = 11;
RespiratoryRecoveryLv3 = 12;
IncreasedDefenseLv1 = 13;
IncreasedDefenseLv2 = 14;
IncreasedDefenseLv3 = 15;
}
BuffConfig.BuffName = {
[BuffConfig.EBuffType.TestBuff] = "TestBuff";
[BuffConfig.EBuffType.InfiniteBullets] = "InfiniteBullets";
[BuffConfig.EBuffType.JumpStrengthenLv1] = "JumpStrengthenLv1";
[BuffConfig.EBuffType.JumpStrengthenLv2] = "JumpStrengthenLv2";
[BuffConfig.EBuffType.JumpStrengthenLv3] = "JumpStrengthenLv3";
[BuffConfig.EBuffType.MoveSpeedStrengthenLv1] = "MoveSpeedStrengthenLv1";
[BuffConfig.EBuffType.MoveSpeedStrengthenLv2] = "MoveSpeedStrengthenLv2";
[BuffConfig.EBuffType.MoveSpeedStrengthenLv3] = "MoveSpeedStrengthenLv3";
[BuffConfig.EBuffType.IncreasedDamageLv1] = "IncreasedDamageLv1";
[BuffConfig.EBuffType.IncreasedDamageLv2] = "IncreasedDamageLv2";
[BuffConfig.EBuffType.IncreasedDamageLv3] = "IncreasedDamageLv3";
[BuffConfig.EBuffType.RespiratoryRecoveryLv1] = "RespiratoryRecoveryLv1";
[BuffConfig.EBuffType.RespiratoryRecoveryLv2] = "RespiratoryRecoveryLv2";
[BuffConfig.EBuffType.RespiratoryRecoveryLv3] = "RespiratoryRecoveryLv3";
[BuffConfig.EBuffType.IncreasedDefenseLv1] = "IncreasedDefenseLv1";
[BuffConfig.EBuffType.IncreasedDefenseLv2] = "IncreasedDefenseLv2";
[BuffConfig.EBuffType.IncreasedDefenseLv3] = "IncreasedDefenseLv3";
}
BuffConfig.BuffShowName = {
[BuffConfig.EBuffType.TestBuff] = "测试";
[BuffConfig.EBuffType.InfiniteBullets] = "无限子弹";
[BuffConfig.EBuffType.JumpStrengthenLv1] = "二段跳";
[BuffConfig.EBuffType.JumpStrengthenLv2] = "三段跳";
[BuffConfig.EBuffType.JumpStrengthenLv3] = "四段跳";
[BuffConfig.EBuffType.MoveSpeedStrengthenLv1] = "移速Lv1";
[BuffConfig.EBuffType.MoveSpeedStrengthenLv2] = "移速Lv2";
[BuffConfig.EBuffType.MoveSpeedStrengthenLv3] = "移速Lv3";
[BuffConfig.EBuffType.IncreasedDamageLv1] = "增伤Lv1";
[BuffConfig.EBuffType.IncreasedDamageLv2] = "增伤Lv2";
[BuffConfig.EBuffType.IncreasedDamageLv3] = "增伤Lv3";
[BuffConfig.EBuffType.RespiratoryRecoveryLv1] = "呼吸恢复Lv1";
[BuffConfig.EBuffType.RespiratoryRecoveryLv2] = "呼吸恢复Lv2";
[BuffConfig.EBuffType.RespiratoryRecoveryLv3] = "呼吸恢复Lv3";
[BuffConfig.EBuffType.IncreasedDefenseLv1] = "防御强化Lv1";
[BuffConfig.EBuffType.IncreasedDefenseLv2] = "防御强化Lv2";
[BuffConfig.EBuffType.IncreasedDefenseLv3] = "防御强化Lv3";
}
---@param InPlayerPawn PlayerPawn* @玩家角色
---@param InBuffType BuffConfig.EBuffType @Buff类型
---@param LayerCount int @层数 默认1
---@param BuffCauser Controller* @施加Buff的玩家或AI。
---@param CauserActor Actor* @施加Buff的Actor比如说PlayerPawn、燃烧瓶Actor等等
function BuffConfig.PlayerUseBuff(InPlayerPawn, InBuffType, LayerCount, BuffCauser, CauserActor)
if UE.IsValid(InPlayerPawn) and InPlayerPawn:IsAlive() and BuffConfig.BuffName[InBuffType] then
if LayerCount == nil then LayerCount = 1 end
UGCLogSystem.Log("[BuffConfig_PlayerUseBuff] BuffName:%s", BuffConfig.BuffName[InBuffType])
return UGCBuffSystem.AddBuff(InPlayerPawn, BuffConfig.BuffName[InBuffType], LayerCount, BuffCauser, CauserActor)
end
return false
end
---@param InPlayerPawn PlayerPawn* @玩家角色
---@param InBuffType BuffConfig.EBuffType @Buff类型
---@param LayerCount int @层数 默认1
function BuffConfig.PlayerRemoveBuff(InPlayerPawn, InBuffType, LayerCount)
if UE.IsValid(InPlayerPawn) and InPlayerPawn:IsAlive() and BuffConfig.BuffName[InBuffType] then
if LayerCount == nil then LayerCount = 1 end
return UGCBuffSystem.RemoveBuff(InPlayerPawn, BuffConfig.BuffName[InBuffType], LayerCount)
end
return false
end
---@param InPlayerPawn PlayerPawn* @玩家角色
---@param InBuffType BuffConfig.EBuffType @Buff类型
function BuffConfig.PlayerHasBuff(InPlayerPawn, InBuffType)
if UE.IsValid(InPlayerPawn) and InPlayerPawn:IsAlive() and BuffConfig.BuffName[InBuffType] then
return UGCBuffSystem.HasBuff(InPlayerPawn, BuffConfig.BuffName[InBuffType])
end
return false
end