mirror of
https://github.com/FlourishingWorld/hk4e.git
synced 2026-02-23 14:32:27 +08:00
场景LUA触发器
This commit is contained in:
@@ -30,8 +30,8 @@ type Avatar struct {
|
||||
Promote uint8 // 突破等阶
|
||||
Satiation uint32 // 饱食度
|
||||
SatiationPenalty uint32 // 饱食度溢出
|
||||
CurrHP float64 // 当前生命值
|
||||
CurrEnergy float64 // 当前元素能量值
|
||||
CurrHP float32 // 当前生命值
|
||||
CurrEnergy float32 // 当前元素能量值
|
||||
FetterList []uint32 // 资料解锁条目
|
||||
SkillLevelMap map[uint32]uint32 // 技能等级数据
|
||||
SkillDepotId uint32 // 技能库id
|
||||
@@ -75,22 +75,22 @@ func (a *DbAvatar) InitAvatarFightProp(avatar *Avatar) {
|
||||
return
|
||||
}
|
||||
avatar.FightPropMap = make(map[uint32]float32)
|
||||
avatar.FightPropMap[uint32(constant.FIGHT_PROP_NONE)] = 0.0
|
||||
avatar.FightPropMap[constant.FIGHT_PROP_NONE] = 0.0
|
||||
// 白字攻防血
|
||||
avatar.FightPropMap[uint32(constant.FIGHT_PROP_BASE_ATTACK)] = float32(avatarDataConfig.GetBaseAttackByLevel(avatar.Level))
|
||||
avatar.FightPropMap[uint32(constant.FIGHT_PROP_BASE_DEFENSE)] = float32(avatarDataConfig.GetBaseDefenseByLevel(avatar.Level))
|
||||
avatar.FightPropMap[uint32(constant.FIGHT_PROP_BASE_HP)] = float32(avatarDataConfig.GetBaseHpByLevel(avatar.Level))
|
||||
avatar.FightPropMap[constant.FIGHT_PROP_BASE_ATTACK] = avatarDataConfig.GetBaseAttackByLevel(avatar.Level)
|
||||
avatar.FightPropMap[constant.FIGHT_PROP_BASE_DEFENSE] = avatarDataConfig.GetBaseDefenseByLevel(avatar.Level)
|
||||
avatar.FightPropMap[constant.FIGHT_PROP_BASE_HP] = avatarDataConfig.GetBaseHpByLevel(avatar.Level)
|
||||
// 白字+绿字攻防血
|
||||
avatar.FightPropMap[uint32(constant.FIGHT_PROP_CUR_ATTACK)] = float32(avatarDataConfig.GetBaseAttackByLevel(avatar.Level))
|
||||
avatar.FightPropMap[uint32(constant.FIGHT_PROP_CUR_DEFENSE)] = float32(avatarDataConfig.GetBaseDefenseByLevel(avatar.Level))
|
||||
avatar.FightPropMap[uint32(constant.FIGHT_PROP_MAX_HP)] = float32(avatarDataConfig.GetBaseHpByLevel(avatar.Level))
|
||||
avatar.FightPropMap[constant.FIGHT_PROP_CUR_ATTACK] = avatarDataConfig.GetBaseAttackByLevel(avatar.Level)
|
||||
avatar.FightPropMap[constant.FIGHT_PROP_CUR_DEFENSE] = avatarDataConfig.GetBaseDefenseByLevel(avatar.Level)
|
||||
avatar.FightPropMap[constant.FIGHT_PROP_MAX_HP] = avatarDataConfig.GetBaseHpByLevel(avatar.Level)
|
||||
// 当前血量
|
||||
avatar.FightPropMap[uint32(constant.FIGHT_PROP_CUR_HP)] = float32(avatar.CurrHP)
|
||||
avatar.FightPropMap[constant.FIGHT_PROP_CUR_HP] = avatar.CurrHP
|
||||
// 双暴
|
||||
avatar.FightPropMap[uint32(constant.FIGHT_PROP_CRITICAL)] = float32(avatarDataConfig.Critical)
|
||||
avatar.FightPropMap[uint32(constant.FIGHT_PROP_CRITICAL_HURT)] = float32(avatarDataConfig.CriticalHurt)
|
||||
avatar.FightPropMap[constant.FIGHT_PROP_CRITICAL] = avatarDataConfig.Critical
|
||||
avatar.FightPropMap[constant.FIGHT_PROP_CRITICAL_HURT] = avatarDataConfig.CriticalHurt
|
||||
// 元素充能
|
||||
avatar.FightPropMap[uint32(constant.FIGHT_PROP_CHARGE_EFFICIENCY)] = 1.0
|
||||
avatar.FightPropMap[constant.FIGHT_PROP_CHARGE_EFFICIENCY] = 1.0
|
||||
a.SetCurrEnergy(avatar, avatar.CurrEnergy, true)
|
||||
}
|
||||
|
||||
@@ -158,7 +158,7 @@ func (a *DbAvatar) AddAvatar(player *Player, avatarId uint32) {
|
||||
a.AvatarMap[avatarId] = avatar
|
||||
}
|
||||
|
||||
func (a *DbAvatar) SetCurrEnergy(avatar *Avatar, value float64, max bool) {
|
||||
func (a *DbAvatar) SetCurrEnergy(avatar *Avatar, value float32, max bool) {
|
||||
var avatarSkillDataConfig *gdconf.AvatarSkillData = nil
|
||||
if avatar.AvatarId == 10000005 || avatar.AvatarId == 10000007 {
|
||||
avatarSkillDepotDataConfig := gdconf.GetAvatarSkillDepotDataById(int32(avatar.SkillDepotId))
|
||||
@@ -185,7 +185,7 @@ func (a *DbAvatar) SetCurrEnergy(avatar *Avatar, value float64, max bool) {
|
||||
if max {
|
||||
avatar.FightPropMap[uint32(elementType.CurrEnergyProp)] = float32(avatarSkillDataConfig.CostElemVal)
|
||||
} else {
|
||||
avatar.FightPropMap[uint32(elementType.CurrEnergyProp)] = float32(value)
|
||||
avatar.FightPropMap[uint32(elementType.CurrEnergyProp)] = value
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ type DbQuest struct {
|
||||
// Quest 任务
|
||||
type Quest struct {
|
||||
QuestId uint32 // 任务id
|
||||
State uint32 // 任务状态
|
||||
State uint8 // 任务状态
|
||||
AcceptTime uint32 // 接取时间
|
||||
StartTime uint32 // 开始执行时间
|
||||
FinishProgressList []uint32 // 任务进度
|
||||
@@ -55,7 +55,7 @@ func (q *DbQuest) AddQuest(questId uint32) {
|
||||
}
|
||||
q.QuestMap[questId] = &Quest{
|
||||
QuestId: uint32(questDataConfig.QuestId),
|
||||
State: constant.QUEST_STATE_TYPE_ACCEPT,
|
||||
State: constant.QUEST_STATE_UNSTARTED,
|
||||
AcceptTime: uint32(time.Now().Unix()),
|
||||
StartTime: 0,
|
||||
FinishProgressList: nil,
|
||||
@@ -69,7 +69,7 @@ func (q *DbQuest) ExecQuest(questId uint32) {
|
||||
logger.Error("get quest is nil, questId: %v", questId)
|
||||
return
|
||||
}
|
||||
if quest.State != constant.QUEST_STATE_TYPE_ACCEPT {
|
||||
if quest.State != constant.QUEST_STATE_UNSTARTED {
|
||||
logger.Error("invalid quest state, questId: %v, state: %v", questId, quest.State)
|
||||
return
|
||||
}
|
||||
@@ -78,7 +78,7 @@ func (q *DbQuest) ExecQuest(questId uint32) {
|
||||
logger.Error("get quest data config is nil, questId: %v", questId)
|
||||
return
|
||||
}
|
||||
quest.State = constant.QUEST_STATE_TYPE_EXEC
|
||||
quest.State = constant.QUEST_STATE_UNFINISHED
|
||||
quest.StartTime = uint32(time.Now().Unix())
|
||||
quest.FinishProgressList = make([]uint32, len(questDataConfig.FinishCondList))
|
||||
}
|
||||
@@ -100,7 +100,7 @@ func (q *DbQuest) AddQuestProgress(questId uint32, index int, progress uint32) {
|
||||
logger.Error("get quest is nil, questId: %v", questId)
|
||||
return
|
||||
}
|
||||
if quest.State != constant.QUEST_STATE_TYPE_EXEC {
|
||||
if quest.State != constant.QUEST_STATE_UNFINISHED {
|
||||
logger.Error("invalid quest state, questId: %v, state: %v", questId, quest.State)
|
||||
return
|
||||
}
|
||||
@@ -115,7 +115,7 @@ func (q *DbQuest) AddQuestProgress(questId uint32, index int, progress uint32) {
|
||||
}
|
||||
quest.FinishProgressList[index] += progress
|
||||
if quest.FinishProgressList[index] >= uint32(questDataConfig.FinishCondList[index].Count) {
|
||||
quest.State = constant.QUEST_STATE_TYPE_FINISH
|
||||
quest.State = constant.QUEST_STATE_FINISHED
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user