define

package
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 25, 2020 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Att_Begin = iota

	Att_FirstBegin = iota - 1 // 一级属性开始
	Att_Str        = iota - 2 // 力量
	Att_Agl                   // 敏捷
	Att_Con                   // 耐力
	Att_Int                   // 智力
	Att_AtkSpeed              // 攻击速度
	Att_FirstEnd              // 一级属性结束

	Att_SecondBegin  = iota - 3 // 二级属性开始
	Att_MaxHP        = iota - 4 // 血量
	Att_MaxMP                   // 蓝量
	Att_Atk                     // 攻击力
	Att_Def                     // 防御力
	Att_CriProb                 // 暴击率
	Att_CriDmg                  // 暴击伤害
	Att_EffectHit               // 效果命中
	Att_EffectResist            // 效果抵抗
	Att_ConPercent              // 体力加层
	Att_AtkPercent              // 攻击力加层
	Att_DefPercent              // 防御力加层
	Att_Rage                    // 怒气
	Att_Hit                     // 命中
	Att_Dodge                   // 闪避
	Att_Block                   // 格挡
	Att_Broken                  // 破击
	Att_DmgInc                  // 伤害加层
	Att_DmgDec                  // 伤害减免
	Att_SecondEnd               // 二级属性结束

	Att_CurHP = iota - 5 // 当前血量
	Att_CurMP            // 当前蓝量

	Att_End
)

一级属性

View Source
const (
	Aura_HeroSyncNum = 30 + 30             // hero增益+减益aura数量
	Aura_MaxPassive  = 5                   // 被动aura数量
	Aura_MaxDuration = 20 * 24 * time.Hour // aura持续最多20天
)

Positive + Negative

View Source
const (
	Combat_MaxSpell = 50 // 战斗管理器最多50个技能
	Combat_MaxAura  = 50 // 战斗管理器最多50个buff

	Combat_DmgModTypeNum = 3
)
View Source
const (
	ImmunityType_Begin    EImmunityType = iota
	ImmunityType_Damage                 = iota - 1 // 0 伤害免疫
	ImmunityType_Mechanic                          // 1 状态免疫
	ImmunityType_Dispel                            // 2 免疫驱散

	ImmunityType_End
)
View Source
const (
	CostLoot_Item = iota
	CostLoot_Token
	CostLoot_Hero
	CostLoot_Player
	CostLoot_Blade
	CostLoot_Rune

	CostLoot_End
)
View Source
const (
	Item_TypeItem    = iota // 普通物品
	Item_TypeEquip          // 装备
	Item_TypePresent        // 礼包
	Item_TypeRune           // 御魂(未鉴定)
)
View Source
const (
	Item_Effect_Null       = -1 // 无效果
	Item_Effect_Loot       = 0  // 掉落
	Item_Effect_RuneDefine = 1  // 鉴定御魂

	Item_Effect_End = 2
)
View Source
const (
	Player_MaxPlayer = 10 // how many players can be created per client
	Player_MaxLevel  = 60
)
View Source
const (
	Plugin_Player = iota
	Plugin_Hero
	Plugin_Item
	Plugin_Blade
	Plugin_Rune

	Plugin_End
)
View Source
const (
	Rune_TypeBegin = iota // 魂石类型
	Rune_TypeA     = iota - 1
	Rune_TypeB
	Rune_TypeC
	Rune_TypeEnd
)
View Source
const (
	Rune_PositionBegin = iota     // 魂石位置
	Rune_Position1     = iota - 1 // 1号位
	Rune_Position2                // 2号位
	Rune_Position3                // 3号位
	Rune_Position4                // 4号位
	Rune_Position5                // 5号位
	Rune_Position6                // 6号位
	Rune_PositionEnd
)
View Source
const (
	Rune_MaxStar = 6 // 魂石最高星级
	Rune_MainAtt = 1 // 魂石主属性一条
	Rune_ViceAtt = 5 // 魂石副属性五条
	Rune_AttNum  = Rune_MainAtt + Rune_ViceAtt
)
View Source
const (
	Scene_TypeBegin = iota
	Scene_TypeStage = iota - 1 // 关卡场景
	Scene_TypeArena            // 竞技场场景
	Scene_TypeEnd
)
View Source
const (
	Scene_MaxNumPerCombat = 5000 // 每台combat最多跑5000个场景
	Scene_MaxUnitPerScene = 1000 // 每个scene最多跑1000个unit
)
View Source
const (
	SnowFlake_Account = iota
	SnowFlake_Player
	SnowFlake_Hero
	SnowFlake_Item
	SnowFlake_Blade
	SnowFlake_Rune

	SnowFlake_Scene

	SnowFlake_End
)
View Source
const (
	SpellEffectNum      = 3 // 技能效果数量
	SpellEffectParamNum = 6
	AuraFlagNum         = 32
	MaxChargeNum        = 6
	MaxFormSpellNum     = 20
)
View Source
const (
	SpellCostType_Begin ESpellCostType = iota
	SpellCostType_Null                 = iota - 1 // 0 无
	SpellCostType_HP                              // 1 生命
	SpellCostType_MP                              // 2 法力
	SpellCostType_End
)
View Source
const (
	TargetChooseType_Begin        = iota
	TargetChooseType_Null         = iota - 1 // 0 不需要选取
	TargetChooseType_SingleTarget            // 1 选取单个目标
	TargetChooseType_Area                    // 2 选取地面范围
	TargetChooseType_End
)
View Source
const (
	SpellPurposeMask_Begin    = iota
	SpellPurposeMask_None     = iota - 1 // 0 无目的
	SpellPurposeMask_Positive            // 1 有益技能
	SpellPurposeMask_Negative            // 2 有害技能
)
View Source
const (
	EnterCombatType_Begin        = iota
	EnterCombatType_None         = iota - 1 // 0 不会进入战斗状态
	EnterCombatType_TargetHit               // 1 命中目标进入战斗状态
	EnterCombatType_TargetCombat            // 2 根据目标是否在战斗状态
	EnterCombatType_End
)
View Source
const (
	ChooseUnit_Begin  = iota
	ChooseUnit_Caster = iota - 1 // 0 技能施放者
	ChooseUnit_Owner             // 1 技能拥有者
	ChooseUnit_Target            // 2 目标
	ChooseUnit_End
)
View Source
const (
	EffectTargetLimit_Begin            = iota
	EffectTargetLimit_Null             = iota - 1 // 0 无限制
	EffectTargetLimit_Self                        // 1 效果只能作用于技能施放者
	EffectTargetLimit_UnSelf                      // 2 效果不会作用于技能施放者
	EffectTargetLimit_Caster_State                // 3 施放者只有处于某种状态效果才会作用
	EffectTargetLimit_Target_State                // 4 目标只有处于某种状态效果才会作用
	EffectTargetLimit_Caster_HP_Low               // 5 施放者当前血量低于最大血量百分比时触发
	EffectTargetLimit_Target_HP_Low               // 6 目标当前血量低于最大血量百分比时触发
	EffectTargetLimit_Target_HP_High              // 7 目标当前血量高于最大血量百分比时触发
	EffectTargetLimit_Pct                         // 8 百分比几率触发(1-10000)
	EffectTargetLimit_Target_AuraNot              // 9 目标处于某个aura,效果不会作用
	EffectTargetLimit_Target_Aura                 // 10 目标处于某个aura,效果会作用
	EffectTargetLimit_Target_Race                 // 11 效果目标种族类型限制
	EffectTargetLimit_Caster_AuraState            // 12 释放者AuraState限制
	EffectTargetLimit_Target_AuraState            // 13 目标AuraState限制
	EffectTargetLimit_Target_GT_Level             // 14 大于目标等级限制
	EffectTargetLimit_Target_LT_Level             // 15 小于等于目标等级限制
	EffectTargetLimit_Caster_AuraPN               // 16 释放者增益减益Buff限制
	EffectTargetLimit_Target_AuraPN               // 17 目标增益减益Buff限制
	EffectTargetLimit_End
)
View Source
const (
	SpellValue_Begin ESpellValueType = iota
	SpellValue_FLAT                  = iota - 1 // 0 平值加成
	SpellValue_PCT                              // 1 百分比加成
	SpellValue_MASK                             // 2 掩码
)
View Source
const (
	StoreType_Begin = iota
	StoreType_User  = iota - 1
	StoreType_Account
	StoreType_LitePlayer
	StoreType_Player
	StoreType_Item
	StoreType_Hero
	StoreType_Blade
	StoreType_Token
	StoreType_Rune
	StoreType_Talent

	StoreType_End
)
View Source
const (
	Token_Gold = iota
	Token_Diamond
	Token_Honour

	Token_End
)
View Source
const (
	Account_OnlineTimeout = 20 * time.Second
)
View Source
const (
	Blade_MaxBlade = 4
)
View Source
const (
	Hero_MaxEquip = 4 // how many equips can put on per hero
)

Variables

View Source
var (
	ErrSpellCooldown         = errors.New("spell cool down")
	ErrSpellCasterStateLimit = errors.New("spell caster state limit")
	ErrSpellCasterCostLimit  = errors.New("spell caster cost limit")
	ErrSpellTargetNotExist   = errors.New("spell target not exist")
	ErrSpellTargetInvalid    = errors.New("spell target invalid")
	ErrSpellTargetStateLimit = errors.New("spell target state limit")
)

------------------------------------------------------------------------------- 技能释放失败错误返回值 -------------------------------------------------------------------------------

Functions

func SpellLevel added in v1.0.1

func SpellLevel(id uint32) uint32

func SpellType added in v1.0.1

func SpellType(id uint32) uint32

Types

type AttEntry

type AttEntry struct {
	ID   int32  `json:"_id"`
	Desc string `json:"Desc"`

	// 一级属性
	Str      int64 `json:"Str"`
	Agl      int64 `json:"Agl"`
	Con      int64 `json:"Con"`
	Int      int64 `json:"Int"`
	AtkSpeed int64 `json:"AtkSpeed"`

	// 二级属性
	MaxHP        int64 `json:"MaxHP"`
	MaxMP        int64 `json:"MaxMP"`
	Atk          int64 `json:"Atk"`
	Def          int64 `json:"Def"`
	CriProb      int64 `json:"CriProb"`
	CriDmg       int64 `json:"CriDmg"`
	EffectHit    int64 `json:"EffectHit"`
	EffectResist int64 `json:"EffectResist"`
	ConPercent   int64 `json:"ConPercent"`
	AtkPercent   int64 `json:"AtkPercent"`
	DefPercent   int64 `json:"DefPercent"`
	Rage         int64 `json:"Rage"`
	Hit          int64 `json:"Hit"`
	Dodge        int64 `json:"Dodge"`
	Block        int64 `json:"Block"`
	Broken       int64 `json:"Broken"`
	DmgInc       int64 `json:"DmgInc"`
	DmgDec       int64 `json:"DmgDec"`
}

att entry

type AuraEntry added in v1.0.1

type AuraEntry struct {
	SpellBase     `json:",inline"`
	DispelFlags   uint32 `json:"dispel_flags"`   // 技能效果的所属驱散类型
	DurationFlags uint32 `json:"duration_flags"` // 技能效果所属强化buff时间类型

	OwnerStateCheckFlag   uint32         `json:"owner_state_check_flag"` // 是否判断所有者状态标示
	OwnerStateCheckBitSet *bitset.BitSet `json:"-"`

	OwnerStateLimit       uint32         `json:"owner_state_limit"` // 所有者状态限制
	OwnerStateLimitBitSet *bitset.BitSet `json:"-"`

	AuraCastType    EAuraCastingType `json:"aura_cast_type"` // aura效果施放类型
	AuraState       int32            `json:"aura_state"`     // aura state
	Duration        int32            `json:"duration"`
	EffectTimes     int32            `json:"effect_times"`
	DependCaster    bool             `json:"depend_caster"`   // 依赖施法者
	EffectPriority  int32            `json:"effect_priority"` // 同类效果作用优先
	MultiWrap       bool             `json:"multi_wrap"`
	DecByTarget     bool             `json:"dec_by_target"`     // 是否根据目标等级衰减效果
	RoundUpdateMask uint32           `json:"round_update_mask"` // aura更新回合数掩码(0-31回合)

	Effects      [SpellEffectNum]EAuraEffectType `json:"effects"`       // 技能效果类型
	TriggerId    [SpellEffectNum]uint32          `json:"trigger_id"`    // 触发器ID
	RemoveEffect [SpellEffectNum]uint32          `json:"remove_effect"` // aura按删除方式作用移除时效果
	TriggerCount [SpellEffectNum]uint32          `json:"trigger_count"` // 可触发次数
	TriggerCd    [SpellEffectNum]int32           `json:"trigger_cd"`    // 触发CD
}

------------------------------------------------------------------------------- aura静态属性 -------------------------------------------------------------------------------

type AuraInfo added in v1.0.1

type AuraInfo struct {
	CasterID  int64  `json:"caster_id"`
	AuraID    uint32 `json:"aura_id"`
	CurTime   int32  `json:"cur_time"`
	TotalTime int32  `json:"total_time"`
	WrapTimes uint32 `json:"wrap_times"`
}

------------------------------------------------------------------------------- aura同步属性 -------------------------------------------------------------------------------

type AuraTriggerEntry added in v1.0.1

type AuraTriggerEntry struct {
	ID uint32 `json:"_id"` // 触发器ID

	SpellId       uint32        `json:"spell_id"`        // 触发技能ID
	FamilyMask    uint32        `json:"family_mask"`     // 技能所属分组
	FamilyRace    EHeroRaceType `json:"family_race"`     // 触发技能种族
	DmgInfoType   uint32        `json:"dmg_info_type"`   // 伤害方式掩码
	SchoolType    ESchoolType   `json:"school_type"`     // 伤害类型
	SpellTypeMask uint32        `json:"spell_type_mask"` // 技能类型掩码

	TriggerType  EAuraTriggerType `json:"trigger_type"`  // 触发器类型
	TriggerMisc1 uint32           `json:"trigger_misc1"` // 触发器参数1
	TriggerMisc2 uint32           `json:"trigger_misc2"` // 触发器参数2

	EventProp int32 `json:"event_prop"` // 触发几率

	ConditionType  EAuraEventConditionType `json:"condition_type"`  // 状态条件类型
	ConditionMisc1 int32                   `json:"condition_misc1"` // 条件参数1
	ConditionMisc2 int32                   `json:"condition_misc2"` // 条件参数2

	AddHead bool `json:"add_head"` // 触发器添加到队列头部,不再继续相应相同事件的触发(防止死循环)
}

------------------------------------------------------------------------------- 触发器 -------------------------------------------------------------------------------

type BladeEntry

type BladeEntry struct {
	ID        int32   `json:"_id"`
	AttID     int32   `json:"att_id"`
	Quality   int32   `json:"quality"`
	SpellList []int32 `json:"spell_list"`
}

blade entry

type CostLootEntry

type CostLootEntry struct {
	ID   int32 `json:"_id"`
	Type int32 `json:"type"`
	Misc int32 `json:"misc"`
	Num  int32 `json:"num"`
}

cost_loot entry

type CostLootObj

type CostLootObj interface {
	GetCostLootType() int32

	CanCost(int32, int32) error
	DoCost(int32, int32) error

	CanGain(int32, int32) error
	GainLoot(int32, int32) error
}

type EAttackType added in v1.0.1

type EAttackType int32

------------------------------------------------------ 攻击类型 ------------------------------------------------------

const (
	AttackType_Begin EAttackType = iota
	AttackType_Melee EAttackType = iota - 1 // 0 物理攻击
	AttackType_Magic                        // 1 魔法攻击
	AttackType_End
)

type EAuraAddResult added in v1.0.1

type EAuraAddResult int32

------------------------------------------------------------------------------- aura添加结果 -------------------------------------------------------------------------------

const (
	AuraAddResult_Null EAuraAddResult = -1 // 无效

	AuraAddResult_Begin      EAuraAddResult = iota
	AuraAddResult_Success    EAuraAddResult = iota - 1 // 0 成功
	AuraAddResult_Inferior                             // 1 有更强的Aura
	AuraAddResult_Full                                 // 2 没有空位
	AuraAddResult_Immunity                             // 3 免疫
	AuraAddResult_Resistance                           // 4 抵抗
	AuraAddResult_End
)

type EAuraCastingType added in v1.0.1

type EAuraCastingType int32

------------------------------------------------------------------------------- aura施放类型 -------------------------------------------------------------------------------

const (
	AuraCasting_Begin   EAuraCastingType = iota
	AuraCasting_Inter   EAuraCastingType = iota - 1 // 0 间隔作用
	AuraCasting_Persist                             // 1 持续作用
	AuraCasting_Times                               // 2 作用次数限量
	AuraCasting_End
)

type EAuraEffectForDmg added in v1.0.1

type EAuraEffectForDmg int32

------------------------------------------------------------------------------- aura对伤害的影响 -------------------------------------------------------------------------------

const (
	AuraEffectForDmg_Begin     EAuraEffectForDmg = iota
	AuraEffectForDmg_Null      EAuraEffectForDmg = iota - 1 // 0 无
	AuraEffectForDmg_Transform                              // 1 伤害类型转化
	AuraEffectForDmg_ValueMod                               // 2 伤害值加成减免
	AuraEffectForDmg_Absorb                                 // 3 伤害吸收
	AuraEffectForDmg_End
)

type EAuraEffectStep added in v1.0.1

type EAuraEffectStep int32

------------------------------------------------------------------------------- Aura作用阶段 -------------------------------------------------------------------------------

const (
	AuraEffectStep_Begin  EAuraEffectStep = iota
	AuraEffectStep_Apply  EAuraEffectStep = iota - 1 // 0 获得Aura
	AuraEffectStep_Effect                            // 1 Aura作用
	AuraEffectStep_Remove                            // 2 移除Aura
	AuraEffectStep_Check                             // 3 检查效果
	AuraEffect_End
)

type EAuraEffectType added in v1.0.1

type EAuraEffectType int32

------------------------------------------------------------------------------- aura效果类型 -------------------------------------------------------------------------------

const (
	AuraEffectType_Begin              EAuraEffectType = iota
	AuraEffectType_Null               EAuraEffectType = iota - 1 // 0 无效果
	AuraEffectType_PeriodDamage                                  // 1 周期伤害
	AuraEffectType_ModAtt                                        // 2 属性改变
	AuraEffectType_Spell                                         // 3 施放技能
	AuraEffectType_State                                         // 4 状态变更
	AuraEffectType_Immunity                                      // 5 免疫变更
	AuraEffectType_DmgMod                                        // 6 伤害转换(总量一定)
	AuraEffectType_NewDmg                                        // 7 生成伤害(原伤害不变)
	AuraEffectType_DmgFix                                        // 8 限量伤害(改变原伤害)
	AuraEffectType_ChgMelee                                      // 9 替换普通攻击
	AuraEffectType_Shield                                        // 10 血盾
	AuraEffectType_DmgAttMod                                     // 11 改变伤害属性
	AuraEffectType_AbsorbAllDmg                                  // 12 全伤害吸收
	AuraEffectType_DmgAccumulate                                 // 13 累计伤害
	AuraEffectType_MeleeSpell                                    // 14 释放普通攻击
	AuraEffectType_LimitAttack                                   // 15 限制攻击力
	AuraEffectType_PerioHeal                                     // 16 周期治疗
	AuraEffectType_ModAttByAlive                                 // 17 根据当前友方存活人数,计算属性改变
	AuraEffectType_ModAttByEnemyAlive                            // 18 根据当前敌方存活人数,计算属性改变

	AuraEffectType_End
)

type EAuraEventConditionType added in v1.0.1

type EAuraEventConditionType int32

------------------------------------------------------------------------------- 触发技能效果所需状态的类型 -------------------------------------------------------------------------------

const (
	AuraEventCondition_None               EAuraEventConditionType = -1
	AuraEventCondition_Begin              EAuraEventConditionType = iota
	AuraEventCondition_HPLowerFlat        EAuraEventConditionType = iota - 1 // 0 体力平值低于
	AuraEventCondition_HPLowerPct                                            // 1 体力百分比低于
	AuraEventCondition_HPHigherFlat                                          // 2 体力平值高于
	AuraEventCondition_HPHigherPct                                           // 3 体力百分比高于
	AuraEventCondition_AnyUnitState                                          // 4 处于任一状态
	AuraEventCondition_AllUnitState                                          // 5 处于所有状态
	AuraEventCondition_AuraState                                             // 6 处于Aura状态
	AuraEventCondition_WeaponMask                                            // 7 穿着武器类型
	AuraEventCondition_HaveShield                                            // 8 穿着盾牌
	AuraEventCondition_TargetClass                                           // 9 目标类型
	AuraEventCondition_StrongTarget                                          // 10 目标血量比自己多
	AuraEventCondition_TargetAuraState                                       // 11 目标处于Aura状态
	AuraEventCondition_TargetAllUnitState                                    // 12 目标处于所有状态
	AuraEventCondition_TargetAnyUnitState                                    // 13 目标处于任意状态

	AuraEventCondition_End
)

type EAuraEventExType added in v1.0.1

type EAuraEventExType int32

------------------------------------------------------ 技能结果 ------------------------------------------------------

type EAuraEventType added in v1.0.1

type EAuraEventType int32

------------------------------------------------------------------------------- 技能效果相应的事件类型 -------------------------------------------------------------------------------

const (
	AuraEventEx_Begin        EAuraEventType = iota
	AuraEventEx_Null         EAuraEventType = iota - 1 // 0 无
	AuraEventEx_Normal_Hit                             // 1 普通命中
	AuraEventEx_Critical_Hit                           // 2 暴击
	AuraEventEx_Miss                                   // 3 未命中
	AuraEventEx_Dodge                                  // 4 躲闪
	AuraEventEx_Block                                  // 5 格挡
	AuraEventEx_Immnne                                 // 6 免疫
	AuraEventEx_Absorb                                 // 7 吸收

	AuraEventEx_Not_Active_Spell  // 8 无伤害/治疗技能
	AuraEventEx_Only_Active_Spell // 9 伤害/治疗技能
	AuraEventEx_Trigger_Always    // 10 无条件触发
	AuraEventEx_IgnoreArmor       // 11 忽略伤害减免
	AuraEventEx_RageResume        // 12 恢复目标怒气(恢复目标25点怒气)
	AuraEventEx_EnergyResume      // 13 恢复目标能量(恢复目标30点能量)
	AuraEventEx_Killed            // 14 被击杀
	AuraEventEx_Invalid           // 15 技能无效
	AuraEventEx_UnDead            // 16 不死状态触发
	AuraEventEx_GroupDmg          // 17 群体伤害技能

	// 内部标识
	AuraEventEx_Internal_Cant_Trigger // 18 不可触发
	AuraEventEx_Internal_Triggered    // 19 已触发过

	AuraEventEx_End
)
const (
	AuraEvent_Begin EAuraEventType = iota
	AuraEvent_None  EAuraEventType = iota - 1

	AuraEvent_Killed // 1 被杀
	AuraEvent_Kill   // 2 击杀

	AuraEvent_Hit       // 3 普通攻击命中
	AuraEvent_Taken_Hit // 4 被普通攻击命中

	AuraEvent_On_Do_Periodic   // 5 造成周期伤害/治疗
	AuraEvent_On_Take_Periodic // 6 受到周期伤害/治疗

	AuraEvent_Rage_Hit      // 7 怒气技能命中
	AuraEvent_Taken_RageHit // 8 被怒气技能命中

	AuraEvent_Rune_Hit       // 9 符文技能命中
	AuraEvent_Taken_Rune_Hit // 10 被符文技能命中

	AuraEvent_Taken_Aura_Trigger // 11 被buff触发技能命中

	AuraEvent_Pet_Hit       // 12 宠物技能命中
	AuraEvent_Taken_Pet_Hit // 13 被宠物技能命中

	AuraEvent_Taken_Any_Damage // 14受到任意伤害

	EAET_End
)

type EAuraRemoveMode added in v1.0.1

type EAuraRemoveMode int32

------------------------------------------------------------------------------- aura删除方式 -------------------------------------------------------------------------------

const (
	AuraRemoveMode_Begin EAuraRemoveMode = iota
	AuraRemoveMode_Null  EAuraRemoveMode = iota - 1 // 0 无
	AuraRemoveMode_Running
	AuraRemoveMode_Default
	AuraRemoveMode_Replace
	AuraRemoveMode_Cancel
	AuraRemoveMode_Dispel
	AuraRemoveMode_Consume
	AuraRemoveMode_Delete
	AuraRemoveMode_Interrupt
	AuraRemoveMode_Destroy
	AuraRemoveMode_Registered
	AuraRemoveMode_Hangup
	AuraRemoveMode_End
)

type EAuraSlotGroup added in v1.0.1

type EAuraSlotGroup int32

------------------------------------------------------------------------------- aura slot -------------------------------------------------------------------------------

const (
	AuraSlotGroup_Begin    EAuraSlotGroup = iota
	AuraSlotGroup_Positive EAuraSlotGroup = iota - 1 // 0 增益aura
	AuraSlotGroup_Negative                           // 1 减益aura
	AuraSlotGroup_Passive                            // 2 被动aura
	AuraSlotGroup_End
)

type EAuraSyncStep added in v1.0.1

type EAuraSyncStep int32

------------------------------------------------------------------------------- aura sync step -------------------------------------------------------------------------------

const (
	AuraSyncStep_Begin EAuraSyncStep = iota
	AuraSyncStep_Add   EAuraSyncStep = iota - 1
	AuraSyncStep_Update
	AuraSyncStep_Remove
	AuraSyncStep_End
)

type EAuraTriggerType added in v1.0.1

type EAuraTriggerType int32

------------------------------------------------------------------------------- 触发器类型 -------------------------------------------------------------------------------

const (
	AuraTrigger_Begin       EAuraTriggerType = iota
	AuraTrigger_SpellResult EAuraTriggerType = iota - 1
	AuraTrigger_State
	AuraTrigger_Behaviour
	AuraTrigger_AuraState

	AuraTrigger_End
)

type EAuraWrapResult added in v1.0.1

type EAuraWrapResult int32

------------------------------------------------------------------------------- Aura叠加结果 -------------------------------------------------------------------------------

const (
	AuraWrapResult_Begin   EAuraWrapResult = iota
	AuraWrapResult_Add     EAuraWrapResult = iota - 1 // 0 追加
	AuraWrapResult_Replace                            // 1 替换
	AuraWrapResult_Wrap                               // 2 叠加
	AuraWrapResult_Invalid                            // 3 加不上

	AuraWrapResult_End
)

type EBehaviourType added in v1.0.1

type EBehaviourType int32

------------------------------------------------------------------------------- 行为类型 -------------------------------------------------------------------------------

const (
	BehaviourType_Null        EBehaviourType = -1
	BehaviourType_Begin       EBehaviourType = iota
	BehaviourType_SpellFinish EBehaviourType = iota - 1 // 0 技能结束触发
	BehaviourType_Start                                 // 1 战斗开始触发
	BehaviourType_BeforeMelee                           // 2 普通前触发

	BehaviourType_End
)

type EChooseUnitType added in v1.0.1

type EChooseUnitType int32

----------------------------------------------------------------------------- 选择方式 -----------------------------------------------------------------------------

type EDmgInfoType added in v1.0.1

type EDmgInfoType int32

------------------------------------------------------ 伤害方式 ------------------------------------------------------

const (
	DmgInfo_Begin     EDmgInfoType = iota
	DmgInfo_Null      EDmgInfoType = iota - 1 // 0 无
	DmgInfo_Damage                            // 1 伤害
	DmgInfo_Heal                              // 2 治疗
	DmgInfo_Placate                           // 3 安抚
	DmgInfo_Enrage                            // 4 激怒
	DmgInfo_AverageHP                         // 5 平均血量
	DmgInfo_End
)

type EEffectTargetLimitType added in v1.0.1

type EEffectTargetLimitType int32

------------------------------------------------------------------------------- 效果的目标限制 -------------------------------------------------------------------------------

type EEnterCombatType added in v1.0.1

type EEnterCombatType int32

----------------------------------------------------------------------------- 技能进入战斗类型 -----------------------------------------------------------------------------

type EHeroRaceType added in v1.0.1

type EHeroRaceType int32

------------------------------------------------------------------------------------------ 英雄种族 ------------------------------------------------------------------------------------------

const (
	HeroRace_Begin  EHeroRaceType = iota
	HeroRace_Kindom EHeroRaceType = iota - 1 // 王国
	HeroRace_forest                          // 森林
	HeroRace_End
)

type EHeroState added in v1.0.1

type EHeroState int32

------------------------------------------------------------------------------- 状态类型 -------------------------------------------------------------------------------

const (
	HeroState_Begin            EHeroState = iota
	HeroState_Dead             EHeroState = iota - 1 // 0 死亡
	HeroState_Solid                                  // 1 石化
	HeroState_Freeze                                 // 2 冻结
	HeroState_Stun                                   // 3 眩晕
	HeroState_Fire                                   // 4 灼烧
	HeroState_Seal                                   // 5 封印
	HeroState_UnBeat                                 // 6 无敌
	HeroState_UnDead                                 // 7 不死
	HeroState_Anger                                  // 8 风怒
	HeroState_DoubleAttack                           // 9 连击
	HeroState_Stealth                                // 10 隐匿
	HeroState_Injury                                 // 11 重伤
	HeroState_Poison                                 // 12 中毒
	HeroState_Chaos                                  // 13 混乱
	HeroState_AntiHidden                             // 14 鹰眼
	HeroState_ImmunityGroupDmg                       // 15 免疫群体伤害
	HeroState_Paralyzed                              // 16 麻痹
	HeroState_Taunt                                  // 17 嘲讽
	HeroState_End
)

type EImmunityType added in v1.0.1

type EImmunityType int32

------------------------------------------------------------------------------- 免疫类型 -------------------------------------------------------------------------------

type ESchoolType added in v1.0.1

type ESchoolType int32

------------------------------------------------------ 伤害类型 ------------------------------------------------------

const (
	SchoolType_Null    ESchoolType = -1
	SchoolType_Begin   ESchoolType = iota
	SchoolType_Physics ESchoolType = iota - 1 // 0 物理伤害
	SchoolType_Magic                          // 1 魔法伤害
	SchoolType_End
)

type ESelectTargetType added in v1.0.1

type ESelectTargetType int32

------------------------------------------------------ 技能选中类型 ------------------------------------------------------

const (
	SelectTarget_Begin                   ESelectTargetType = iota
	SelectTarget_Null                    ESelectTargetType = iota - 1 // 0 无目标
	SelectTarget_Self                                                 // 1 自己
	SelectTarget_Enemy_Single                                         // 2 敌方单体目标
	SelectTarget_Enemy_Single_Back                                    // 3 敌方后排单体目标
	SelectTarget_Friend_HP_Min                                        // 4 友方血量最少目标
	SelectTarget_Enemy_HP_Max                                         // 5 敌方血量最多目标
	SelectTarget_Enemy_Rage_Max                                       // 6 敌方怒气最多目标
	SelectTarget_Enemy_Column                                         // 7 敌方直线目标
	SelectTarget_Enemy_Frontline                                      // 8 敌方横排目标
	SelectTarget_Enemy_Supporter                                      // 9 敌方后排目标
	SelectTarget_Friend_Random                                        // 10 友方随机目标
	SelectTarget_Enemy_Random                                         // 11 敌方随机目标
	SelectTarget_Friend_All                                           // 12 友方全体目标
	SelectTarget_Enemy_All                                            // 13 敌方全体目标
	SelectTarget_Enemy_Rune                                           // 14 敌方符文携带者
	SelectTarget_Friend_Rune                                          // 15 友方符文携带者
	SelectTarget_Next_Attack                                          // 16 下一个将要行动的敌人
	SelectTarget_Friend_Rage_Min                                      // 17 友方怒气最低
	SelectTarget_Enemy_Frontline_Random                               // 18 敌放前横排随机
	SelectTarget_Enemy_Backline_Random                                // 19 敌放后横排随机
	SelectTarget_Friend_Frontline_Random                              // 20 友方前横排随机
	SelectTarget_Friend_Backline_Random                               // 21 友方后横排随机
	SelectTarget_Next_Attack_Row                                      // 22 下一个将要行动的敌人所在横排
	SelectTarget_Next_Attack_Column                                   // 23 下一个将要行动的敌人所在竖排
	SelectTarget_Next_Attack_Border                                   // 24 下一个将要行动的敌人相邻
	SelectTarget_Next_Attack_Explode                                  // 25 将要行动的敌人周围所在目标
	SelectTarget_Caster_Max_Attack                                    // 26 有方攻击力最大目标
	SelectTarget_Target_Max_Attack                                    // 27 敌方攻击力最大目标
	SelectTarget_Enemy_HP_Min                                         // 28 地方血量最少的目标
	SelectTarget_End
)

type ESpellCastType added in v1.0.1

type ESpellCastType int32

------------------------------------------------------ 技能施放方式 ------------------------------------------------------

const (
	SpellCast_Begin   ESpellCastType = iota
	SpellCast_Melee   ESpellCastType = iota - 1 // 0 普通攻击
	SpellCast_Instant                           // 1 瞬发施放技能
	SpellCast_Channel                           // 2 引导技能
	SpellCast_End
)

type ESpellCostType added in v1.0.1

type ESpellCostType int32

------------------------------------------------------------------------------- 技能效果消耗类型 -------------------------------------------------------------------------------

type ESpellEffectModType added in v1.0.1

type ESpellEffectModType int32

------------------------------------------------------------------------------- 被动技能或buff对主动技能的影响类型 -------------------------------------------------------------------------------

const (
	SpellEffectMod_Begin                  ESpellEffectModType = iota
	SpellEffectMod_DmgPct                 ESpellEffectModType = iota - 1 // 0 伤害百分比加成											// misc1 伤害
	SpellEffectMod_Duration                                              // 1 技能效果作用时间加成										// misc1 引导时间
	SpellEffectMod_Threat                                                // 2 仇恨加成													// misc1 仇恨
	SpellEffectMod_Cost                                                  // 3 消耗(需要同步客户端)
	SpellEffectMod_Range                                                 // 4 技能效果作用距离加成(需要同步客户端)						// misc1 距离
	SpellEffectMod_Radius                                                // 5 技能效果作用半径加成(需要同步客户端, 功能暂时未提供)		// misc1 半径
	SpellEffectMod_Crit_Pct                                              // 6 暴击率加成(1-10000)											// misc1 暴击率
	SpellEffectMod_Not_Delay                                             // 7 被攻击时起手时间不会被延长								// misc1==1 起手时间不会被延长
	SpellEffectMod_Prepare_Time                                          // 8 起手时间													// misc  吟唱时间
	SpellEffectMod_Cooldown                                              // 9 冷却时间													// misc 冷却时间
	SpellEffectMod_Hit                                                   // 10 命中加成													// 命中率
	SpellEffectMod_Charge                                                // 11 材料消耗(功能暂时未提供)									// misc1==1 不会消耗材料
	SpellEffectMod_EffectTimes                                           // 12 作用次数													// misc1 aura作用次数
	SpellEffectMod_PassiveDuration                                       // 13 被动持续时间加成											// misc1 aura持续时间
	SpellEffectMod_EffectPct                                             // 14 spell效果触发几率										// misc1 百分比增加量
	SpellEffectMod_CritDmgPct                                            // 15 暴击伤害百分比加成										// misc1 暴击伤害加成百分比
	SpellEffectMod_CategoryCooldown                                      // 16 组冷却时间												// misc 冷却时间
	SpellEffectMod_IgnoreCasterStateCheck                                // 17 无视释放者状态限制判断
	SpellEffectMod_End
)

type ESpellEffectType added in v1.0.1

type ESpellEffectType int32

------------------------------------------------------ 技能效果类型 ------------------------------------------------------

const (
	SpellEffectType_Begin           ESpellEffectType = iota
	SpellEffectType_Null            ESpellEffectType = iota - 1 // 0 无
	SpellEffectType_Damage                                      // 1 伤害
	SpellEffectType_Heal                                        // 2 治疗
	SpellEffectType_AddAura                                     // 3 添加aura
	SpellEffectType_Placate                                     // 4 安抚
	SpellEffectType_Enrage                                      // 5 激怒
	SpellEffectType_CastSpell                                   // 6 施放技能
	SpellEffectType_Dispel                                      // 7 驱散
	SpellEffectType_ModAuraDuration                             // 8 强化aura作用时间
	SpellEffectType_AverageHP                                   // 9 平均血量
	SpellEffectType_AuraNumDmg                                  // 10 根据buff数量计算伤害
	SpellEffectType_TargetAttDamage                             // 11 根据目标某一属性计算伤害
	SpellEffectType_CasterAttDamage                             // 12 根据施放者某一属性计算伤害
	SpellEffectType_DamageRaceMod                               // 13 种族加成伤害
	SpellEffectType_DispelAndWeak                               // 14 驱散虚弱
	SpellEffectType_AddLevelAura                                // 15 根据目标等级添加Aura
	SpellEffectType_LevelEnrage                                 // 16 根据目标等级激怒
	SpellEffectType_AddStateAura                                // 17 添加状态类Aura,并计算状态抗性
	SpellEffectType_RandAura                                    // 18 添加随机buff
	SpellEffectType_PetDamage                                   // 19 宠物伤害
	SpellEffectType_PetHeal                                     // 20 宠物治疗
	SpellEffectType_ChangeRageSpell                             // 21 替换英雄怒气技能
	SpellEffectType_AddWrapAura                                 // 22 添加可叠加buff
	SpellEffectType_ModPctCurHP                                 // 23 百分比修改目标当前血量
	SpellEffectType_End
)

type ESpellPurposeMaskType added in v1.0.1

type ESpellPurposeMaskType int32

----------------------------------------------------------------------------- 技能目的类型 -----------------------------------------------------------------------------

type ESpellStateType added in v1.0.1

type ESpellStateType int32

------------------------------------------------------------------------------- 技能效果状态类型 -------------------------------------------------------------------------------

const (
	SpellState_Begin   ESpellStateType = iota
	SpellState_Prepare ESpellStateType = iota - 1 // 0 吟唱
	SpellState_Casting                            // 1 施放
	SpellState_Finish                             // 2 结束
	SpellState_Idle                               // 3 空闲
	SpellState_End
)

type ESpellType added in v1.0.1

type ESpellType int32

------------------------------------------------------ 技能类型 ------------------------------------------------------

const (
	SpellType_Begin ESpellType = iota
	SpellType_Null  ESpellType = iota - 1 // 0 无
	SpellType_Melee                       // 1 普通攻击
	SpellType_Rage                        // 2 怒气攻击
	SpellType_Rune                        // 3 符文攻击

	SpellType_TriggerNull      // 4 以下皆为触发技能 SpellType + SpellType_TriggerNull
	SpellType_TriggerMelee     // 5 普通攻击触发技能
	SpellType_TriggerRage      // 6 怒气攻击触发技能
	SpellType_TriggerRune      // 7 符文触发技能
	SpellType_TriggerAura      // 8 aura触发技能
	SpellType_TriggerBeatBack  // 9 反击
	SpellType_TriggerAuraTwice // 10 buff第二次触发
	SpellType_End
)

type ESpellValueType added in v1.0.1

type ESpellValueType int32

------------------------------------------------------------------------------- 被动技能或buff对主动技能的影响方式 -------------------------------------------------------------------------------

type EStateChangeMode added in v1.0.1

type EStateChangeMode int32

------------------------------------------------------------------------------- 状态转换 -------------------------------------------------------------------------------

const (
	StateChangeMode_Begin EStateChangeMode = iota
	StateChangeMode_Add   EStateChangeMode = iota - 1
	StateChangeMode_Remove

	StateChangeMode_End
)

type ETargetChooseType added in v1.0.1

type ETargetChooseType int32

------------------------------------------------------------------------------- 客户端目标选取方式 -------------------------------------------------------------------------------

type EquipEnchantEntry

type EquipEnchantEntry struct {
	ID       int32 `json:"_id"`
	EquipPos int32 `json:"EquipPos"`
	AttID    int32 `json:"AttID"`
}

equip entry

type HeroEntry

type HeroEntry struct {
	ID      int32  `json:"_id"`
	Name    string `json:"name"`
	AttID   int32  `json:"att_id"`
	Quality int32  `json:"quality"`
}

hero entry

type ItemEntry

type ItemEntry struct {
	ID          int32   `json:"_id"`
	Name        string  `json:"Name"`
	Desc        string  `json:"Desc"`
	Type        int32   `json:"Type"`
	SubType     int32   `json:"SubType"`
	Quality     int32   `json:"Quality"`
	MaxStack    int32   `json:"MaxStack"`
	EffectType  int32   `json:"EffectType"`
	EffectValue []int32 `json:"EffectValue"`

	EquipEnchantID int32 `json:"EquipEnchantID"`
}

item entry

type PlayerLevelupEntry

type PlayerLevelupEntry struct {
	ID  int32 `json:"_id"`
	Exp int64 `json:"exp"`
}

player level up entry

type PluginObj

type PluginObj interface {
	GetType() int32
	GetID() int64
	GetLevel() int32
}

type RuneEntry

type RuneEntry struct {
	ID      int32  `json:"_id"`
	Name    string `json:"Name"`
	Type    int32  `json:"Type"`
	Pos     int32  `json:"Pos"`
	Quality int32  `json:"Quality"`
	SuitID  int32  `json:"SuitID"`
}

魂石属性表

type RuneSuitEntry

type RuneSuitEntry struct {
	ID          int32 `json:"_id"`
	Suit2_AttID int32 `json:"Suit2_AttID"`
	Suit3_AttID int32 `json:"Suit3_AttID"`
	Suit4_AttID int32 `json:"Suit4_AttID"`
	Suit5_AttID int32 `json:"Suit5_AttID"`
	Suit6_AttID int32 `json:"Suit6_AttID"`
}

魂石套装属性表

type SceneEntry added in v1.0.1

type SceneEntry struct {
	ID          int32  `json:"_id"`
	Name        string `json:"Name"`
	Type        int32  `json:"Type"`
	UnitGroupID int32  `json:"UnitGroupID"`
}

场景属性表

type SpellBase added in v1.0.1

type SpellBase struct {
	ID         uint32        `json:"_id"`         // 技能id
	FamilyMask uint32        `json:"family_mask"` // 技能所属分组
	FamilyRace EHeroRaceType `json:"family_race"` // 技能对应英灵种族
	SchoolType ESchoolType   `json:"school_type"` // 伤害类型
	HaveVisual bool          `json:"have_visual"` // 是否有特效
	Passive    bool          `json:"passive"`

	MechanicFlags uint32 `json:"mechanic_flags"` // 技能效果的所属控制类型

	AmountEffects [SpellEffectNum]int32  `json:"amount_effects"` // 传递用值影响系数
	MiscID        [SpellEffectNum]uint32 `json:"misc_id"`        // ID参数
	MiscType1     [SpellEffectNum]int32  `json:"misc_type1"`     // 类型参数1
	MiscType2     [SpellEffectNum]int32  `json:"misc_type2"`     // 类型参数2
	MiscValue1    [SpellEffectNum]int32  `json:"misc_value1"`    // 参数值1
	MiscValue2    [SpellEffectNum]int32  `json:"misc_value2"`    // 参数值2
	MiscValue3    [SpellEffectNum]int32  `json:"misc_value3"`    // 参数值3
	BasePoints    [SpellEffectNum]int32  `json:"base_point"`     // 效果动态参数基础值
	LevelPoints   [SpellEffectNum]int32  `json:"level_point"`    // 效果动态参数随机范围基础值
	Multiple      [SpellEffectNum]int32  `json:"multiple"`       // 效果百分比加成(1-10000)
}

------------------------------------------------------------------------------- spell base静态属性 -------------------------------------------------------------------------------

type SpellCDData added in v1.0.1

type SpellCDData struct {
	Entry  *SpellEntry // 技能
	CDTime float32     // 冷却时间
}

------------------------------------------------------------------------------- 冷却时间同步结构 -------------------------------------------------------------------------------

type SpellEntry added in v1.0.1

type SpellEntry struct {
	SpellBase `json:",inline"`

	SelectType           ESelectTargetType `json:"select_type"`             // 目标选取方式
	TargetNum            int32             `json:"target_num"`              // 目标数量
	IncludeSelf          bool              `json:"include_self"`            // 目标是否包括自己
	TargetRace           uint32            `json:"target_race"`             // 目标种族
	CasterStateCheckFlag uint64            `json:"caster_state_check_flag"` // 是否判断施放者状态标示(用来标示是否需要判断施放者某个状态的限制)
	CasterStateLimit     uint64            `json:"caster_state_limit"`      // 施放者状态限制
	TargetStateCheckFlag uint64            `json:"target_state_check_flag"` // 是否判断目标状态标示(用来标示是否需要判断某个状态的限制)
	TargetStateLimit     uint64            `json:"target_state_limit"`      // 目标状态限制
	TriggerSpellId       uint32            `json:"trigger_spell_id"`        // 技能释放完成后,触发的技能id
	TriggerSpellProp     int32             `json:"trigger_spell_prop"`      // 触发技能的几率[0-10000]
	PurposeTypeMask      uint32            `json:"purpose_type_mask"`       // 技能目的类型
	TargetAuraState      uint32            `json:"target_aura_state"`       // 目标拥有该aura状态才可使用
	TargetAuraStateNot   uint32            `json:"target_aura_state_not"`   // 目标不拥有该aura状态才可使用
	CasterAuraState      uint32            `json:"caster_aura_state"`       // 释放者拥有该aura状态才可使用
	CasterAuraStateNot   uint32            `json:"caster_aura_state_not"`   // 释放者不拥有该aura状态才可使用

	HitCertainly bool `json:"hit_certainly"` // 该技能是否必命中(如果不是则根据技能攻击方式计算命中率)
	NotCrit      bool `json:"not_crit"`      // 技能不暴击
	NotBlock     bool `json:"not_block"`     // 技能不被格挡
	CanNotArmor  bool `json:"can_not_armor"` // 该技能是否不计算伤害加成减免
	BeatBack     bool `json:"beat_back"`     // 该技能是否能被反击
	GroupDmg     bool `json:"group_dmg"`     // 是否是群体伤害

	SpellHit    int32 `json:"spell_hit"`    // 技能命中加成
	SpellCrit   int32 `json:"spell_crit"`   // 技能暴击加成
	SpellBroken int32 `json:"spell_broken"` // 技能破击加成

	Effects         [SpellEffectNum]ESpellEffectType `json:"effects"`          // 技能效果类型
	EffectsMechanic [SpellEffectNum]uint32           `json:"effects_mechanic"` // 效果所属控制类型

	EffectsTargetLimit    [2][SpellEffectNum]uint32 `json:"effects_target_limit"`     // 效果的目标限制
	EffectsValidMiscValue [2][SpellEffectNum]uint32 `json:"effects_valid_misc_value"` // 效果的目标限制所需参数
	EffectsRaceLimit      [SpellEffectNum]uint32    `json:"effects_race_limit"`       // 效果的目标限制对应种族
	EffectsLimitRaceMod   [SpellEffectNum]uint32    `json:"effects_limit_race_mod"`   // 效果的目标限制所需参数种族加成

	EnergyCost int32 `json:"energy_cost"` // 消耗能量
	RuneCD     int32 `json:"rune_cd"`     // 符文技能CD

	DecayLevel int32 `json:"decay_level"` // 技能概率衰减等级
	DecayRate  int32 `json:"decay_rate"`  // 技能等级衰减系数(1-10000)

	RoundCastMask uint32 `json:"round_cast_mask"` // 技能可释放回合数掩码(0-31回合)
}

------------------------------------------------------------------------------- spell静态属性 -------------------------------------------------------------------------------

type TalentEntry

type TalentEntry struct {
	ID         int32  `json:"_id"`
	Name       string `json:"name"`
	Desc       string `json:"desc"`
	LevelLimit int32  `json:"level_limit"`
	GroupID    int32  `json:"group_id"`
	CostID     int32  `json:"cost_id"`
}

talent entry

type TokenEntry

type TokenEntry struct {
	ID      int32  `json:"_id"`
	Name    string `json:"name"`
	MaxHold int64  `json:"max_hold"`
}

token entry

type UnitEntry added in v1.0.1

type UnitEntry struct {
	ID        int32    `json:"_id"`
	AttrName  []string `json:"AttrName"`
	AttrValue []int64  `json:"AttrValue"`
	Race      int32    `json:"Race"`
}

unit属性表

type UnitGroupEntry added in v1.0.1

type UnitGroupEntry struct {
	ID         int32    `json:"_id"`
	Name       string   `json:"Name"`
	UnitTypeID []int32  `json:"UnitTypeID"`
	Position   []string `json:"Position"`
}

怪物组属性表

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL