Merge branch 'china/dev' of http://60.1.1.230/gaoxin/JL_Client into china/dev

dev_chengFeng
ZhangBiao 2021-10-22 17:45:56 +08:00
commit 0d8c381ace
6 changed files with 98 additions and 10 deletions

View File

@ -2400,25 +2400,59 @@ local effectList = {
end)
end,
--造成主角战斗力[a]%+[b]的伤害
--a[float],b[int]
--造成主角战斗力[a]%+[b]的伤害, pvp最高只造成目标[c][d]%的伤害 (c不填默认12 d:不填默认0.5 )
--a[float],b[int],c[int],d[float]
[128] = function(caster, target, args, interval, skill)
local pro = args[1]
local round = args[2]
BattleLogic.WaitForTrigger(interval, function ()
--LogError("teamdamage=="..caster.teamDamage.." pro=="..pro.." round=="..round)
local pro2 = args[3]
local v1 =args[4]
if pro2==nil then
pro2=12
end
if v1==nil then
v1=0.5
end
BattleLogic.WaitForTrigger(interval, function ()
local damage=floor(caster.teamDamage*pro)+round
if BattleLogic.GetIsPvP() then
local maxDamage = floor(target:GetRoleData(BattlePropList[pro2]) * v1)
if damage>maxDamage then
damage=maxDamage
end
end
BattleUtil.FinalDamageCountShield(nil,caster, target,damage)
end)
end,
--回复目标主角战斗力[a]%+[b]的生命值,溢出部分转换为等量御甲值
--a[float],b[int]
--回复目标主角战斗力[a]%+[b]的生命值,溢出部分转换为等量御甲值 pvp最高只造成目标[c][d]%的治疗(c不填默认12 d:不填默认0.5 )
--a[float],b[int],c[int],d[float]
[129] = function(caster, target, args, interval, skill)
local pro = args[1]
local round = args[2]
local pro2 = args[3]
local v1 =args[4]
if pro2==nil then
pro2=12
end
if v1==nil then
v1=0.5
end
BattleLogic.WaitForTrigger(interval, function ()
local damage=floor(caster.teamDamage*pro)+round
if BattleLogic.GetIsPvP() then
local maxDamage = floor(target:GetRoleData(BattlePropList[pro2]) * v1)
--LogError("生命 maxdamage=="..maxDamage)
if damage>maxDamage then
damage=maxDamage
end
end
local value=target:GetRoleData(RoleDataName.MaxHp)-target:GetRoleData(RoleDataName.Hp)
--如果应该加的血< 单位失去的血量值,就加应该加的血量
if damage<value then
value=damage
end
local yujia=0
if value>0 then
BattleUtil.FinalTreat(caster, target,value,1,skill)
@ -2435,27 +2469,55 @@ local effectList = {
end)
end,
--对目标造成流血状态,造成主角战斗力[a]%+[b]的间接伤害,持续[c]回合
--a[float],b[int],c[int]
--对目标造成流血状态,造成主角战斗力[a]%+[b]的间接伤害,持续[c]回合 pvp最高只造成目标[d][e]%的治疗(d不填默认12 e:不填默认0.5 )
--a[float],b[int],c[int],d[int],e[float]
[130] = function(caster, target, args, interval, skill)
local f1 = args[1]
local v1 = args[2]
local round = args[3]
local pro2 = args[4]
local v2 =args[5]
if pro2==nil then
pro2=12
end
if v2==nil then
v2=0.5
end
BattleLogic.WaitForTrigger(interval, function ()
local damage=floor(caster.teamDamage*f1)+v1
if BattleLogic.GetIsPvP() then
local maxDamage = floor(target:GetRoleData(BattlePropList[pro2]) * v2)
if damage>maxDamage then
damage=maxDamage
end
end
local buff=Buff.Create(caster, BuffName.DOT,round, 1,3,damage)
buff.isRealDamage=true
target:AddBuff(buff)
end)
end,
--对目标造成神佑状态,造成主角战斗力[a]%+[b]的血量,持续[c]回合,溢出部分转化为御甲
--对目标造成神佑状态,造成主角战斗力[a]%+[b]的血量,持续[c]回合,溢出部分转化为御甲 pvp最高只造成目标[d][e]%的治疗(d不填默认12 e:不填默认0.5 )
--a[float],b[int],c[int]
[131] = function(caster, target, args, interval, skill)
local f1 = args[1]
local v1 = args[2]
local round = args[3]
local pro2 = args[4]
local v2 =args[5]
if pro2==nil then
pro2=12
end
if v2==nil then
v2=0.5
end
BattleLogic.WaitForTrigger(interval, function ()
local damage=floor(caster.teamDamage*f1)+v1
if BattleLogic.GetIsPvP() then
local maxDamage = floor(target:GetRoleData(BattlePropList[pro2]) * v2)
if damage>maxDamage then
damage=maxDamage
end
end
local buff=Buff.Create(caster, BuffName.HOT,round,1,damage)
buff.hotType=2
target:AddBuff(buff)

View File

@ -100,6 +100,20 @@ function BattleLogic.Init(data, _userData, maxRound)
end
--获取是否为pvp战斗
function BattleLogic.GetIsPvP()
if BattleLogic.Type== BATTLE_SERVER_TYPE.TOPFight or
BattleLogic.Type== BATTLE_SERVER_TYPE.Firend or
BattleLogic.Type== BATTLE_SERVER_TYPE.ArenaFight or
BattleLogic.Type== BATTLE_SERVER_TYPE.CarPersonFight or
BattleLogic.Type== BATTLE_SERVER_TYPE.CrossYuxuLunDaoFight or
BattleLogic.Type== BATTLE_SERVER_TYPE.NewArenaFight then
return true
end
return false
end
-- 获取双方所有血量
function BattleLogic.GetAllDamage()
return allHeroDamage, allEnemyDamage

View File

@ -30,6 +30,9 @@ function HOT:OnTrigger()
if not self.target.ctrl_noheal or self.target:IsDead() then --禁疗和死亡无法加血
if self.hotType==2 then
local value=self.target:GetRoleData(RoleDataName.MaxHp)-self.target:GetRoleData(RoleDataName.Hp)
if self.healValue<value then
value=self.healValue
end
local yujia=0
if value>0 then
BattleUtil.FinalTreat(self.caster, self.target,value,1,nil)

View File

@ -6,6 +6,7 @@ end
BATTLE_SERVER_TYPE = {
NewArenaFight = 0, --本地测试竞技场值
StoryFight = 1, --故事副本
MapExploreFight = 2, -- 地图探索
ArenaFight = 3, --竞技场
@ -24,6 +25,7 @@ BATTLE_SERVER_TYPE = {
TenDespairArray = 16,--十绝阵
Firend = 17,--好友
SenLuoHuanJing = 18,-- 森罗环境
CrossYuxuLunDaoFight = 24,--玉虚论道
}
BattleEventName = {

View File

@ -228,6 +228,13 @@ function SupremeHeroPopup:OnShow()
else
curPage = 1
end
local actData = ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.SupremeHero)
if #actData.mission > 3 then
this.lingxiaobaojian.gameObject:SetActive(true)
else
curPage = 1
this.lingxiaobaojian.gameObject:SetActive(false)
end
--curPage = 2
this.InitShowPanel()
this.tianjingzunzheRed.gameObject:SetActive(this.RefreshRedPoint(1))

View File

@ -77,7 +77,7 @@ function PracticeSkillInfoPanel:RefreshShow(id,lv)
local currData=ConfigManager.TryGetConfigDataByDoubleKey(ConfigName.PlayerSkill,"SkillID",id,"Level",currLv)
nextData=ConfigManager.TryGetConfigDataByDoubleKey(ConfigName.PlayerSkill,"SkillID",id,"Level",currLv+1)
self.currInfo.text="本级效果:"..currData.Desc
self.skillIcon.sprite=self.spLoader:LoadSprite(GetResourcePath(currData.Icon))
self.skillIcon.sprite=self.spLoader:LoadSprite(GetResourcePath(SkillBaseConfig[id].Icon))
self.titleTxt.text=SkillBaseConfig[id].Name
self.skillLv.text=currLv
self.skillLv.gameObject:SetActive(true)