修改战斗
This commit is contained in:
@@ -342,8 +342,7 @@ func (f *FightC) battleLoop() {
|
||||
switch {
|
||||
case faction.ItemID >= 30001 && faction.ItemID <= 300010: //胶囊
|
||||
|
||||
//todo 将血量和技能pp传回enterturn
|
||||
//tt, ok := f.Our.Player.(*player.Player)
|
||||
tt, ok := f.Our.Player.(*player.Player)
|
||||
mo, ism := f.Opp.Player.(*player.AI_player)
|
||||
|
||||
if ok && ism && mo.CanCapture { //如果获取玩家
|
||||
@@ -530,18 +529,15 @@ func (f *FightC) enterturn(fattack, sattack *action.SelectSkillAction) {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
f.First.First = true
|
||||
f.Second.First = false
|
||||
|
||||
var attacker, defender *input.Input
|
||||
//开始回合操作
|
||||
for i := 0; i < 2; i++ {
|
||||
|
||||
var attackeraction action.BattleActionI
|
||||
if i != 0 {
|
||||
if i == 0 { //
|
||||
attacker, defender = f.First, f.Second
|
||||
|
||||
} else {
|
||||
attacker, defender = f.Second, f.First
|
||||
attackeraction = sattack
|
||||
attacker.First = false //先手技能
|
||||
|
||||
}
|
||||
|
||||
@@ -552,9 +548,9 @@ func (f *FightC) enterturn(fattack, sattack *action.SelectSkillAction) {
|
||||
return true
|
||||
})
|
||||
|
||||
skill, ok := attackeraction.(*action.SelectSkillAction)
|
||||
canuseskill := true
|
||||
if !ok || attacker.CurrentPet.Info.Hp <= 0 { //还有系统选择放弃出手的
|
||||
// 实际上攻击方 还有系统选择放弃出手的
|
||||
if fattack.Skill == nil || attacker.CurrentPet.Info.Hp <= 0 {
|
||||
attacker.AttackValue.SkillID = 0
|
||||
canuseskill = false
|
||||
|
||||
@@ -570,11 +566,11 @@ func (f *FightC) enterturn(fattack, sattack *action.SelectSkillAction) {
|
||||
SkillEntity: skill.Skill,
|
||||
}) //返回本身结算,如果false,说明不能使用技能了
|
||||
|
||||
})
|
||||
if !canuseskill || !canuseskillok { //可以使用技能
|
||||
})
|
||||
if !canuseskill || !canuseskillok { //可以使用技能
|
||||
|
||||
f.processSkillAttack(attacker, defender, skill)
|
||||
skill.Skill = oldskill.(*info.SkillEntity) //还原技能效果
|
||||
f.processSkillAttack(attacker, defender, skill)
|
||||
skill.Skill = oldskill.(*info.SkillEntity) //还原技能效果
|
||||
|
||||
}
|
||||
skill.Skill.Info.PP-- //减少PP
|
||||
|
||||
@@ -19,11 +19,11 @@ func (u *Input) UseSkill(opp *Input, skill *info.SkillEntity) {
|
||||
CritRate := utils.Max(skill.CritRate, 1)
|
||||
|
||||
//CritAtkFirst: 先出手时必定致命一击; 默认: 0
|
||||
if skill.CritAtkFirst != 0 && u.FightC {
|
||||
if skill.CritAtkFirst != 0 && u.FightC.IsFirst(u.Player) {
|
||||
CritRate = 16
|
||||
}
|
||||
//CritAtkSecond: 后出手时必定致命一击; 默认: 0
|
||||
if skill.CritAtkSecond != 0 && !u.First {
|
||||
if skill.CritAtkSecond != 0 && !u.FightC.IsFirst(u.Player) {
|
||||
CritRate = 16
|
||||
}
|
||||
// CritSelfHalfHp: 自身体力低于一半时必定致命一击; 默认: 0
|
||||
|
||||
Reference in New Issue
Block a user