refactor(fight): 重构伤害效果初始化逻辑,分离状态效果与伤害效果注册

This commit is contained in:
1
2025-09-22 04:47:12 +00:00
parent 9ffe6abe31
commit be1816be8d
3 changed files with 55 additions and 40 deletions

View File

@@ -50,6 +50,6 @@ func (this *Effect0) IsCrit(opp *input.Input, skill *info.SkillEntity) {
}
func init() {
input.InitSkillEffect(0, &Effect0{})
input.InitDamageEffect(1, &Effect0{})
}

View File

@@ -110,17 +110,25 @@ func (c *Input) GetProp(id int, istue bool) int {
return 0
}
func InitDamageEffect(id int, t Effect) {
NodeM[id+4000000] = t
}
func (c *Input) GetDamageEffect(id int) (Effect, bool) {
//todo 获取前GetEffect
ret, ok := NodeM[id+4000000]
return ret, ok
//todo 获取后GetEffect
}
func InitStatusEffect(id int, t Effect) {
NodeM[id+3000000] = t
}
func (c *Input) GetCurrAttr(id int) *model.PetInfo {
//todo 获取前GetEffect
return c.CurrentPet.Info
//todo 获取后GetEffect
}
func (c *Input) GetStatusEffect(id int) (Effect, bool) {
//todo 获取前GetEffect
@@ -129,6 +137,13 @@ func (c *Input) GetStatusEffect(id int) (Effect, bool) {
return ret, ok
//todo 获取后GetEffect
}
func (c *Input) GetCurrAttr(id int) *model.PetInfo {
//todo 获取前GetEffect
return c.CurrentPet.Info
//todo 获取后GetEffect
}
func getTypeName(v interface{}) string {
// 获取类型信息
t := reflect.TypeOf(v)

View File

@@ -93,7 +93,7 @@
Args: a1: n (百分比), a2: m点体力
32. 进攻类技能有n%几率秒杀对方;
Args: a1: n (分比)
Args: a1: n (分比)
33. 精灵体力降低到 1/n 时有 m% 几率体力回满;
Args: a1: 1/n的n, a2: m (百分比)
@@ -585,11 +585,11 @@
<NewSeIdx Idx="2062" Stat= "1" Eid="29" Args="10 0" CanReset="1" Desc="精准" Intro="所有技能命中率增加14%" StarLevel="5" />
<NewSeIdx Idx="1023" Stat= "1" Eid="30" Args="1 0" CanReset="1" Desc="会心" Intro="所有技能的致命一击率增加" StarLevel="0"/>
<NewSeIdx Idx="1407" Stat= "1" Eid="146" Args="75 0" CanReset="1" Desc="会心" Intro="所有技能的致命一击率增加" StarLevel="1"/>
<NewSeIdx Idx="1408" Stat= "1" Eid="146" Args="88 0" CanReset="1" Desc="会心" Intro="所有技能的致命一击率增加" StarLevel="2"/>
<NewSeIdx Idx="1409" Stat= "1" Eid="146" Args="100 0" CanReset="1" Desc="会心" Intro="所有技能的致命一击率增加" StarLevel="3"/>
<NewSeIdx Idx="2117" Stat= "1" Eid="146" Args="120 0" CanReset="1" Desc="会心" Intro="所有技能的致命一击率增加" StarLevel="4"/>
<NewSeIdx Idx="2118" Stat= "1" Eid="146" Args="140 0" CanReset="1" Desc="会心" Intro="所有技能的致命一击率增加" StarLevel="5"/>
<NewSeIdx Idx="1407" Stat= "1" Eid="30" Args="75 0" CanReset="1" Desc="会心" Intro="所有技能的致命一击率增加" StarLevel="1"/>
<NewSeIdx Idx="1408" Stat= "1" Eid="30" Args="88 0" CanReset="1" Desc="会心" Intro="所有技能的致命一击率增加" StarLevel="2"/>
<NewSeIdx Idx="1409" Stat= "1" Eid="30" Args="100 0" CanReset="1" Desc="会心" Intro="所有技能的致命一击率增加" StarLevel="3"/>
<NewSeIdx Idx="2117" Stat= "1" Eid="30" Args="120 0" CanReset="1" Desc="会心" Intro="所有技能的致命一击率增加" StarLevel="4"/>
<NewSeIdx Idx="2118" Stat= "1" Eid="30" Args="140 0" CanReset="1" Desc="会心" Intro="所有技能的致命一击率增加" StarLevel="5"/>
<NewSeIdx Idx="1024" Stat= "1" Eid="3" Args="5 0" CanReset="1" Desc="坚硬" Intro="受到任何伤害减少5%" StarLevel="0"/>
<NewSeIdx Idx="1347" Stat= "1" Eid="3" Args="6 0" CanReset="1" Desc="坚硬" Intro="受到任何伤害减少6%" StarLevel="1"/>
@@ -606,27 +606,27 @@
<NewSeIdx Idx="2064" Stat= "1" Eid="7" Args="10 0" CanReset="1" Desc="回避" Intro="被技能命中的几率减少14%" StarLevel="5"/>
<NewSeIdx Idx="1026" Stat= "1" Eid="31" Args="3 1" CanReset="1" Desc="顽强" Intro="受到致死攻击时有3%几率余下1点体力" StarLevel="0"/>
<NewSeIdx Idx="1410" Stat= "1" Eid="147" Args="35 1" CanReset="1" Desc="顽强" Intro="受到致死攻击时有4%几率余下1点体力" StarLevel="1"/>
<NewSeIdx Idx="1411" Stat= "1" Eid="147" Args="40 1" CanReset="1" Desc="顽强" Intro="受到致死攻击时有5%几率余下1点体力" StarLevel="2"/>
<NewSeIdx Idx="1412" Stat= "1" Eid="147" Args="50 1" CanReset="1" Desc="顽强" Intro="受到致死攻击时有6%几率余下1点体力" StarLevel="3"/>
<NewSeIdx Idx="2119" Stat= "1" Eid="147" Args="60 2" CanReset="1" Desc="顽强" Intro="受到致死攻击时有7%几率余下2点体力" StarLevel="4"/>
<NewSeIdx Idx="2120" Stat= "1" Eid="147" Args="70 2" CanReset="1" Desc="顽强" Intro="受到致死攻击时有8%几率余下2点体力" StarLevel="5"/>
<NewSeIdx Idx="1410" Stat= "1" Eid="31" Args="4 1" CanReset="1" Desc="顽强" Intro="受到致死攻击时有4%几率余下1点体力" StarLevel="1"/>
<NewSeIdx Idx="1411" Stat= "1" Eid="31" Args="5 1" CanReset="1" Desc="顽强" Intro="受到致死攻击时有5%几率余下1点体力" StarLevel="2"/>
<NewSeIdx Idx="1412" Stat= "1" Eid="31" Args="6 1" CanReset="1" Desc="顽强" Intro="受到致死攻击时有6%几率余下1点体力" StarLevel="3"/>
<NewSeIdx Idx="2119" Stat= "1" Eid="31" Args="7 2" CanReset="1" Desc="顽强" Intro="受到致死攻击时有7%几率余下2点体力" StarLevel="4"/>
<NewSeIdx Idx="2120" Stat= "1" Eid="31" Args="8 2" CanReset="1" Desc="顽强" Intro="受到致死攻击时有8%几率余下2点体力" StarLevel="5"/>
<NewSeIdx Idx="1027" Stat= "1" Eid="32" Args="3 0" CanReset="1" Desc="瞬杀" Intro="进攻类技能有3%几率秒杀对方" StarLevel="0"/>
<NewSeIdx Idx="1413" Stat= "1" Eid="151" Args="13 0" CanReset="1" Desc="瞬杀" Intro="进攻类技能有3.5%几率秒杀对方" StarLevel="1"/>
<NewSeIdx Idx="1414" Stat= "1" Eid="151" Args="15 0" CanReset="1" Desc="瞬杀" Intro="进攻类技能有4.0%几率秒杀对方" StarLevel="2"/>
<NewSeIdx Idx="1415" Stat= "1" Eid="151" Args="20 0" CanReset="1" Desc="瞬杀" Intro="进攻类技能有5.0%几率秒杀对方" StarLevel="3"/>
<NewSeIdx Idx="2121" Stat= "1" Eid="151" Args="25 0" CanReset="1" Desc="瞬杀" Intro="进攻类技能有6.0%几率秒杀对方" StarLevel="4"/>
<NewSeIdx Idx="2122" Stat= "1" Eid="151" Args="30 0" CanReset="1" Desc="瞬杀" Intro="进攻类技能有7.0%几率秒杀对方" StarLevel="5"/>
<NewSeIdx Idx="1027" Stat= "1" Eid="32" Args="30 0" CanReset="1" Desc="瞬杀" Intro="进攻类技能有3%几率秒杀对方" StarLevel="0"/>
<NewSeIdx Idx="1413" Stat= "1" Eid="32" Args="35 0" CanReset="1" Desc="瞬杀" Intro="进攻类技能有3.5%几率秒杀对方" StarLevel="1"/>
<NewSeIdx Idx="1414" Stat= "1" Eid="32" Args="40 0" CanReset="1" Desc="瞬杀" Intro="进攻类技能有4.0%几率秒杀对方" StarLevel="2"/>
<NewSeIdx Idx="1415" Stat= "1" Eid="32" Args="50 0" CanReset="1" Desc="瞬杀" Intro="进攻类技能有5.0%几率秒杀对方" StarLevel="3"/>
<NewSeIdx Idx="2121" Stat= "1" Eid="32" Args="60 0" CanReset="1" Desc="瞬杀" Intro="进攻类技能有6.0%几率秒杀对方" StarLevel="4"/>
<NewSeIdx Idx="2122" Stat= "1" Eid="32" Args="70 0" CanReset="1" Desc="瞬杀" Intro="进攻类技能有7.0%几率秒杀对方" StarLevel="5"/>
<NewSeIdx Idx="1028" Stat= "1" Eid="33" Args="8 3" CanReset="1" Desc="回神" Intro="体力降低到1/8时有3%几率体力回满" StarLevel="0"/>
<NewSeIdx Idx="1416" Stat= "1" Eid="148" Args="8 35" CanReset="1" Desc="回神" Intro="体力降低到1/8时有4%几率体力回满" StarLevel="1"/>
<NewSeIdx Idx="1417" Stat= "1" Eid="148" Args="8 40" CanReset="1" Desc="回神" Intro="体力降低到1/8时有5%几率体力回满" StarLevel="2"/>
<NewSeIdx Idx="1418" Stat= "1" Eid="148" Args="8 50" CanReset="1" Desc="回神" Intro="体力降低到1/8时有6%几率体力回满" StarLevel="3"/>
<NewSeIdx Idx="2123" Stat= "1" Eid="148" Args="8 60" CanReset="1" Desc="回神" Intro="体力降低到1/8时有7%几率体力回满" StarLevel="4"/>
<NewSeIdx Idx="2124" Stat= "1" Eid="148" Args="8 70" CanReset="1" Desc="回神" Intro="体力降低到1/8时有8%几率体力回满" StarLevel="5"/>
<NewSeIdx Idx="1416" Stat= "1" Eid="33" Args="8 4" CanReset="1" Desc="回神" Intro="体力降低到1/8时有4%几率体力回满" StarLevel="1"/>
<NewSeIdx Idx="1417" Stat= "1" Eid="33" Args="8 5" CanReset="1" Desc="回神" Intro="体力降低到1/8时有5%几率体力回满" StarLevel="2"/>
<NewSeIdx Idx="1418" Stat= "1" Eid="33" Args="8 6" CanReset="1" Desc="回神" Intro="体力降低到1/8时有6%几率体力回满" StarLevel="3"/>
<NewSeIdx Idx="2123" Stat= "1" Eid="33" Args="8 7" CanReset="1" Desc="回神" Intro="体力降低到1/8时有7%几率体力回满" StarLevel="4"/>
<NewSeIdx Idx="2124" Stat= "1" Eid="33" Args="8 8" CanReset="1" Desc="回神" Intro="体力降低到1/8时有8%几率体力回满" StarLevel="5"/>
<NewSeIdx Idx="1029" Stat= "1" Eid="6" Args="0 3" CanReset="1" Desc="带电" Intro="受到普通攻击时有3%使对方麻痹" StarLevel="0"/>
<NewSeIdx Idx="1422" Stat= "1" Eid="6" Args="0 4" CanReset="1" Desc="带电" Intro="受到普通攻击时有4%使对方麻痹" StarLevel="1"/>
@@ -737,12 +737,12 @@
<NewSeIdx Idx="2133" Stat="1" Eid="60" Args="12 70" CanReset="1" Desc="吸收" Intro="受到攻击时12%几率使受到的伤害降低60点" StarLevel="4"/>
<NewSeIdx Idx="2134" Stat="1" Eid="60" Args="14 80" CanReset="1" Desc="吸收" Intro="受到攻击时14%几率使受到的伤害降低60点" StarLevel="5"/>
<NewSeIdx Idx="1060" Stat="1" Eid="61" Args="1 0" CanReset="1" Desc="虚无" Intro="3%几率完全抵挡一次伤害" StarLevel="0"/>
<NewSeIdx Idx="1434" Stat="1" Eid="149" Args="13 0" CanReset="1" Desc="虚无" Intro="4%几率完全抵挡一次伤害" StarLevel="1"/>
<NewSeIdx Idx="1435" Stat="1" Eid="149" Args="15 0" CanReset="1" Desc="虚无" Intro="5%几率完全抵挡一次伤害" StarLevel="2"/>
<NewSeIdx Idx="1436" Stat="1" Eid="149" Args="20 0" CanReset="1" Desc="虚无" Intro="6%几率完全抵挡一次伤害" StarLevel="3"/>
<NewSeIdx Idx="2135" Stat="1" Eid="149" Args="25 0" CanReset="1" Desc="虚无" Intro="7%几率完全抵挡一次伤害" StarLevel="4"/>
<NewSeIdx Idx="2136" Stat="1" Eid="149" Args="30 0" CanReset="1" Desc="虚无" Intro="8%几率完全抵挡一次伤害" StarLevel="5"/>
<NewSeIdx Idx="1060" Stat="1" Eid="61" Args="3 0" CanReset="1" Desc="虚无" Intro="3%几率完全抵挡一次伤害" StarLevel="0"/>
<NewSeIdx Idx="1434" Stat="1" Eid="61" Args="4 0" CanReset="1" Desc="虚无" Intro="4%几率完全抵挡一次伤害" StarLevel="1"/>
<NewSeIdx Idx="1435" Stat="1" Eid="61" Args="5 0" CanReset="1" Desc="虚无" Intro="5%几率完全抵挡一次伤害" StarLevel="2"/>
<NewSeIdx Idx="1436" Stat="1" Eid="61" Args="6 0" CanReset="1" Desc="虚无" Intro="6%几率完全抵挡一次伤害" StarLevel="3"/>
<NewSeIdx Idx="2135" Stat="1" Eid="61" Args="7 0" CanReset="1" Desc="虚无" Intro="7%几率完全抵挡一次伤害" StarLevel="4"/>
<NewSeIdx Idx="2136" Stat="1" Eid="61" Args="8 0" CanReset="1" Desc="虚无" Intro="8%几率完全抵挡一次伤害" StarLevel="5"/>
<NewSeIdx Idx="1061" Stat="1" Eid="62" Args="5 35" CanReset="1" Desc="强攻" Intro="物理攻击有5%几率使伤害提高35点" StarLevel="0"/>
<NewSeIdx Idx="1437" Stat="1" Eid="62" Args="6 40" CanReset="1" Desc="强攻" Intro="物理攻击有6%几率使伤害提高40点" StarLevel="1"/>
@@ -759,11 +759,11 @@
<NewSeIdx Idx="2140" Stat="1" Eid="63" Args="14 80" CanReset="1" Desc="强念" Intro="特殊攻击有14%几率使伤害提高80点" StarLevel="5"/>
<NewSeIdx Idx="1063" Stat="1" Eid="64" Args="1 0" CanReset="1" Desc="免爆" Intro="受到致命一击的概率降低" StarLevel="0"/>
<NewSeIdx Idx="1443" Stat="1" Eid="150" Args="75 0" CanReset="1" Desc="免爆" Intro="受到致命一击的概率降低" StarLevel="1"/>
<NewSeIdx Idx="1444" Stat="1" Eid="150" Args="88 0" CanReset="1" Desc="免爆" Intro="受到致命一击的概率降低" StarLevel="2"/>
<NewSeIdx Idx="1445" Stat="1" Eid="150" Args="100 0" CanReset="1" Desc="免爆" Intro="受到致命一击的概率降低" StarLevel="3"/>
<NewSeIdx Idx="2141" Stat="1" Eid="150" Args="120 0" CanReset="1" Desc="免爆" Intro="受到致命一击的概率降低" StarLevel="4"/>
<NewSeIdx Idx="2142" Stat="1" Eid="150" Args="140 0" CanReset="1" Desc="免爆" Intro="受到致命一击的概率降低" StarLevel="5"/>
<NewSeIdx Idx="1443" Stat="1" Eid="64" Args="2 0" CanReset="1" Desc="免爆" Intro="受到致命一击的概率降低" StarLevel="1"/>
<NewSeIdx Idx="1444" Stat="1" Eid="64" Args="3 0" CanReset="1" Desc="免爆" Intro="受到致命一击的概率降低" StarLevel="2"/>
<NewSeIdx Idx="1445" Stat="1" Eid="64" Args="4 0" CanReset="1" Desc="免爆" Intro="受到致命一击的概率降低" StarLevel="3"/>
<NewSeIdx Idx="2141" Stat="1" Eid="64" Args="5 0" CanReset="1" Desc="免爆" Intro="受到致命一击的概率降低" StarLevel="4"/>
<NewSeIdx Idx="2142" Stat="1" Eid="64" Args="6 0" CanReset="1" Desc="免爆" Intro="受到致命一击的概率降低" StarLevel="5"/>
<NewSeIdx Idx="1064" Stat="1" Eid="503" Args="0 0" CanReset="1" Desc="乱舞" Intro="群体攻击提升5%的攻击伤害并增加一个攻击目标" StarLevel="0"/>
<NewSeIdx Idx="1446" Stat="1" Eid="504" Args="6 0" CanReset="1" Desc="乱舞" Intro="群体攻击提升6%的攻击伤害并增加一个攻击目标" StarLevel="1"/>