Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
phpdts
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Nemo Ma
phpdts
Commits
c2d92cc5
Commit
c2d92cc5
authored
Mar 06, 2023
by
Nemo Ma
Committed by
GitHub
Mar 06, 2023
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #45 from hikawiier/waaagh
rev combat phase 3.15
parents
46813c28
c04d78e4
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
610 additions
and
112 deletions
+610
-112
game.php
game.php
+1
-1
gamedata/cache/clubskills_1.php
gamedata/cache/clubskills_1.php
+183
-43
gamedata/sql/reset.sql
gamedata/sql/reset.sql
+3
-3
include/game.func.php
include/game.func.php
+19
-6
include/game/clubslct.func.php
include/game/clubslct.func.php
+2
-2
include/game/revattr.func.php
include/game/revattr.func.php
+91
-7
include/game/revattr_extra.func.php
include/game/revattr_extra.func.php
+77
-2
include/game/revclubskills.func.php
include/game/revclubskills.func.php
+210
-40
include/game/revcombat.func.php
include/game/revcombat.func.php
+13
-4
include/news.func.php
include/news.func.php
+5
-1
valid.php
valid.php
+6
-3
No files found.
game.php
View file @
c2d92cc5
...
...
@@ -145,7 +145,7 @@ if($hp > 0 && !empty($clbpara['lasttimes']))
init_profile
();
}
}
if
(
$hp
>
0
&&
in_array
(
'inf_dizzy'
,
$clbpara
[
'skill'
]))
if
(
$hp
>
0
&&
!
empty
(
$clbpara
[
'skill'
])
&&
in_array
(
'inf_dizzy'
,
$clbpara
[
'skill'
]))
{
$dizzy_times
=
((
$clbpara
[
'starttimes'
][
'inf_dizzy'
]
+
$clbpara
[
'lasttimes'
][
'inf_dizzy'
])
-
$now
)
*
1000
;
$log
.=
'<span class="yellow">你现在处于眩晕状态,什么都做不了!</span><br>眩晕状态持续时间还剩:<span id="timer" class="yellow">'
.
$dizzy_times
.
'.0</span>秒<br><script type="text/javascript">demiSecTimerStarter('
.
$dizzy_times
.
');</script>'
;
...
...
gamedata/cache/clubskills_1.php
View file @
c2d92cc5
This diff is collapsed.
Click to expand it.
gamedata/sql/reset.sql
View file @
c2d92cc5
...
...
@@ -10,10 +10,10 @@ CREATE TABLE bra_log (
type
char
(
1
)
NOT
NULL
default
''
,
prcsd
tinyint
(
1
)
unsigned
NOT
NULL
default
0
,
`time`
int
(
10
)
unsigned
NOT
NULL
default
'0'
,
`log`
varchar
(
255
)
NOT
NULL
default
''
,
`log`
text
NOT
NULL
default
''
,
PRIMARY
KEY
(
lid
)
)
ENGINE
=
HEAP
;
)
ENGINE
=
MyISAM
;
--
-- 表的结构 `bra_chat`
...
...
@@ -77,7 +77,7 @@ DROP TABLE IF EXISTS bra_newsinfo;
CREATE
TABLE
bra_newsinfo
(
nid
smallint
unsigned
NOT
NULL
auto_increment
,
`time`
int
(
10
)
unsigned
NOT
NULL
default
'0'
,
`news`
char
(
15
)
NOT
NULL
default
''
,
`news`
char
(
30
)
NOT
NULL
default
''
,
`a`
varchar
(
255
)
NOT
NULL
default
''
,
`b`
varchar
(
255
)
NOT
NULL
default
''
,
`c`
varchar
(
255
)
NOT
NULL
default
''
,
...
...
include/game.func.php
View file @
c2d92cc5
...
...
@@ -602,7 +602,12 @@ EOT;
$unlock_flag
=
check_skill_unlock
(
$sk
,
$data
);
if
(
$unlock_flag
)
{
if
(
is_array
(
$unlock_flag
))
{
$unlock_cd
=
$unlock_flag
[
1
];
$unlock_flag
=
$unlock_flag
[
0
];
}
$unlock_flag
=
is_array
(
$cskill
[
'lockdesc'
])
?
$cskill
[
'lockdesc'
][
$unlock_flag
]
:
$cskill
[
'lockdesc'
];
if
(
isset
(
$unlock_cd
))
$unlock_flag
=
str_replace
(
"[:cd:]"
,
"
$unlock_cd
"
,
$unlock_flag
);
$sk_temp
.=
<<<EOT
<div style="position:relative; height:100%; width:100%;" onmouseover="skill_unacquired_mouseover.call(this,event)" onmouseout="skill_unacquired_mouseout.call(this,event)">
<div class="skill_unacquired">
...
...
@@ -676,7 +681,7 @@ function get_remaincdtime($pid){
function
check_skilllasttimes
(
&
$data
=
NULL
)
{
global
$cskills
,
$log
,
$now
,
$name
;
if
(
empty
(
$data
))
if
(
!
isset
(
$data
))
{
global
$clbpara
;
$para
=
&
$clbpara
;
...
...
@@ -687,23 +692,31 @@ function check_skilllasttimes(&$data=NULL)
$para
=
&
$data
[
'clbpara'
];
$nm
=
&
$data
[
'name'
];
}
$pure_flag
=
0
;
if
(
!
empty
(
$para
[
'lasttimes'
]))
{
include_once
GAME_ROOT
.
'./include/game/revclubskills.func.php'
;
foreach
(
$para
[
'lasttimes'
]
as
$sk
=>
$lts
)
{
$stm
=
isset
(
$para
[
'starttimes'
][
$sk
])
?
$para
[
'starttimes'
][
$sk
]
:
0
;
# 技能已达到时效
,失去该技能,并清空相关内容
# 技能已达到时效
if
(
$now
>
$lts
+
$stm
)
{
lostclubskill
(
$sk
,
$para
);
$sk_name
=
$cskills
[
$sk
][
'name'
];
$log
.=
"<span class='yellow'>
{
$nm
}
从
{
$sk_name
}
状态中恢复了!</span><br>"
;
return
1
;
if
(
get_skilltags
(
$sk
,
'buff'
))
{
$log
.=
"技能<span class='yellow'>「
{
$sk_name
}
」</span>的持续效果结束了!<br>"
;
}
else
{
$log
.=
"
{
$nm
}
从<span class='yellow'>「
{
$sk_name
}
」</span>状态中恢复了!<br>"
;
}
lostclubskill
(
$sk
,
$para
);
$pure_flag
=
1
;
}
}
}
return
;
return
$pure_flag
;
}
//通过pid抓取指定玩家/NPC数据
...
...
include/game/clubslct.func.php
View file @
c2d92cc5
...
...
@@ -54,7 +54,7 @@ function getclub($who, &$c1, &$c2, &$c3)
function
changeclub
(
$clb
,
&
$data
=
NULL
)
{
if
(
empty
(
$data
))
if
(
!
isset
(
$data
))
{
global
$club
;
lostclub
();
...
...
@@ -104,7 +104,7 @@ function lostclub(&$data=NULL)
if
(
!
$club
)
return
0
;
# 丢失原社团时 注销社团技能
include_once
GAME_ROOT
.
'./include/game/revclubskills.func.php'
;
if
(
empty
(
$data
))
if
(
!
isset
(
$data
))
{
$cks
=
$club_skillslist
[
$club
];
foreach
(
$cks
as
$sk
)
lostclubskill
(
$sk
,
$clbpara
);
...
...
include/game/revattr.func.php
View file @
c2d92cc5
...
...
@@ -122,7 +122,7 @@
# 百战技能特效
if
(
isset
(
$pa
[
'skill_c1_veteran'
]))
{
$sk_def
=
get_skillpara
(
'c1_veteran'
,
'choice'
,
$pa
);
$sk_def
=
get_skillpara
(
'c1_veteran'
,
'choice'
,
$pa
[
'clbpara'
]
);
if
(
$sk_def
)
{
global
$itemspkinfo
;
...
...
@@ -276,6 +276,8 @@
$hitrate
=
min
(
$hitrate_max_obbs
[
$pa
[
'wep_kind'
]],
$hitrate
);
//获取社团技能对基础命中率的修正
$hitrate
*=
rev_get_clubskill_bonus_hitrate
(
$pa
[
'club'
],
$pa
[
'skills'
],
$pa
,
$pd
[
'club'
],
$pd
[
'skills'
],
$pd
);
//获取社团技能对基础命中率的修正(新)
$hitrate
*=
get_clbskill_hitrate
(
$pa
,
$pd
,
$active
,
$hitrate
);
//异常状态状态修正
foreach
(
$inf_htr_p
as
$inf_ky
=>
$value
)
{
...
...
@@ -296,6 +298,8 @@
$hitratebonus
=
0.8
;
//获取社团技能对连击命中率衰减系数的修正
$hitratebonus
*=
rev_get_clubskill_bonus_hitrate
(
$pa
[
'club'
],
$pa
[
'skills'
],
$pa
,
$pd
[
'club'
],
$pd
[
'skills'
],
$pd
);
//获取社团技能对连击命中率衰减系数的修正(新)
$hitratebonus
*=
get_clbskill_r_hitrate
(
$pa
,
$pd
,
$active
,
$hitratebonus
);
//获取基础致伤率(防具耐久损伤率)系数
$inf_r
=
$infobbs
[
$pa
[
'wep_kind'
]];
...
...
@@ -316,6 +320,12 @@
if
(
$pa
[
'weps'
]
==
$nosta
)
$wep_imp_obbs
*=
2
;
//社团技能对武器损伤系数的修正
$wep_imp_obbs
*=
rev_get_clubskill_bonus_imprate
(
$pa
[
'club'
],
$pa
[
'skills'
],
$pa
,
$pd
[
'club'
],
$pd
[
'skills'
],
$pd
);
//社团技能对武器损伤系数的修正(新)
# 「解牛」技能效果:
if
(
isset
(
$pa
[
'skill_c2_butcher'
]))
{
$wep_imp_obbs
*=
get_skillvars
(
'c2_butcher'
,
'wepimpr'
);
}
}
else
{
...
...
@@ -689,8 +699,14 @@
$dfluc
=
$dmg_fluc
[
$pa
[
'wep_kind'
]];
//获取社团技能对伤害浮动系数的修正:
$dfluc
+=
rev_get_clubskill_bonus_fluc
(
$pa
[
'club'
],
$pa
[
'skills'
],
$pa
,
$pd
[
'club'
],
$pa
[
'skills'
],
$pd
);
//计算伤害浮动:
$dmg_factor
=
(
100
+
rand
(
-
$dfluc
,
$dfluc
))
/
100
;
//获取社团技能对伤害浮动系数的修正(新):
$dfluc
+=
get_clbskill_fluc
(
$pa
,
$pd
,
$active
);
//计算具体伤害浮动:
$dfluc
=
rand
(
-
$dfluc
,
$dfluc
);
//「舞钢」效果判定:
if
(
isset
(
$pa
[
'skill_c2_intuit'
])
&&
$dfluc
<
0
)
$dfluc
=
abs
(
$dfluc
);
//汇总
$dmg_factor
=
(
100
+
$dfluc
)
/
100
;
$damage
=
round
(
$damage
*
$dmg_factor
*
rand
(
4
,
10
)
/
10
);
//把计算得到的原始伤害保存在$pa['original_dmg']里
$pa
[
'original_dmg'
]
=
$damage
;
...
...
@@ -899,6 +915,14 @@
$pa
[
'pierce_flag'
]
=
1
;
}
}
# 「强袭」效果判定:
if
(
isset
(
$pa
[
'skill_c2_raiding'
])
&&
isset
(
$pd
[
'phy_def_flag'
])
&&
$pd
[
'phy_def_flag'
]
!=
2
)
{
$pd
[
'phy_def_flag'
]
=
0
;
$log
.=
"
{
$pa
[
'nm'
]
}
的攻击无视了
{
$pd
[
'nm'
]
}
的伤害减半效果!<br>"
;
}
return
;
}
...
...
@@ -1069,6 +1093,14 @@
$pa
[
'ex_pierce_flag'
]
=
1
;
}
}
# 「强袭」效果判定:
if
(
isset
(
$pa
[
'skill_c2_raiding'
])
&&
isset
(
$pd
[
'ex_def_flag'
])
&&
$pd
[
'ex_def_flag'
]
!=
2
)
{
$pd
[
'ex_def_flag'
]
=
0
;
$log
.=
"
{
$pa
[
'nm'
]
}
的攻击无视了
{
$pd
[
'nm'
]
}
的属性伤害减半效果!<br>"
;
}
return
;
}
...
...
@@ -1096,6 +1128,8 @@
$dmginf
=
''
;
//计算单个属性的基础属性伤害: 基础伤害 + 效果↔伤害系数修正 + 熟练↔伤害系数修正
$ex_dmg
=
$ex_base_dmg
[
$ex
]
+
$pa
[
'wepe'
]
/
$ex_wep_dmg
[
$ex
]
+
$pa
[
'wep_skill'
]
/
$ex_skill_dmg
[
$ex
];
//计算社团技能对单个属性基础伤害的补正
$ex_dmg
+=
get_clbskill_ex_base_dmg_fix
(
$pa
,
$pd
,
$active
,
$ex
);
//计算单个属性能造成的基础伤害上限
if
(
$ex_max_dmg
[
$ex
]
>
0
&&
$ex_dmg
>
$ex_max_dmg
[
$ex
])
$ex_dmg
=
$ex_max_dmg
[
$ex
];
...
...
@@ -1153,6 +1187,30 @@
global
$log
;
$fin_dmg_p
=
Array
();
# 「强袭」效果判定:
if
(
isset
(
$pa
[
'skill_c2_raiding'
]))
{
$sk_p
=
get_skillvars
(
'c2_raiding'
,
'findmgr'
);
$p
=
1
+
(
$sk_p
/
100
);
$log
.=
"<span class='yellow'>「强袭」使
{
$pa
[
'nm'
]
}
造成的最终伤害提高了
{
$sk_p
}
%!</span><br>"
;
$fin_dmg_p
[]
=
$p
;
}
# 「歼灭」效果判定:
if
(
isset
(
$pa
[
'skill_buff_annihil'
]))
{
# 「歼灭」有两段效果,一段为概率触发,一段为固定触发,所以只在概率触发的位置判定概率。
$sk_dice
=
diceroll
(
99
);
$sk_obbs
=
get_skillvars
(
'buff_annihil'
,
'rate'
);
if
(
$sk_dice
<
$sk_obbs
)
{
$sk_p
=
get_skillvars
(
'buff_annihil'
,
'findmgr'
);
$p
=
$sk_p
/
100
;
$log
.=
"<span class='red'>暴击!</span><span class='lime'>「歼灭」使
{
$pa
[
'nm'
]
}
造成的最终伤害提高了
{
$sk_p
}
%!</span><br>"
;
$fin_dmg_p
[]
=
$p
;
}
}
# 书中虫防守事件:移动到最终伤害系数变化阶段了
if
(
$pd
[
'type'
]
==
89
&&
(
$pd
[
'name'
]
==
'高中生·白神'
||
$pd
[
'name'
]
==
'白神·讨价还价'
))
{
...
...
@@ -1193,6 +1251,13 @@
$log
.=
"闷棍没有造成额外伤害!<br>"
;
}
}
# 「解牛」技能效果:
if
(
isset
(
$pa
[
'skill_c2_butcher'
]))
{
$sk_dmg
=
get_skillvars
(
'c2_butcher'
,
'fixdmg'
)
+
$pa
[
'lvl'
];
$log
.=
'<span class="yellow">「解牛」附加了'
.
$sk_dmg
.
'点伤害!</span><br>'
;
$fin_dmg
+=
$sk_dmg
;
}
# 伤害制御判定:
if
(
in_array
(
'h'
,
$pd
[
'ex_keys'
])
&&
$fin_dmg
>=
1950
)
...
...
@@ -1281,11 +1346,11 @@
global
$now
;
if
(
!
$pd
[
'type'
]
&&
$pd
[
'nm'
]
!=
'你'
)
{
$pd
[
'logsave'
]
.=
"
并且
{
$pa
[
'nm'
]
}
凶猛的一击直接将你打晕了过去!<br>"
;
$pd
[
'logsave'
]
.=
"凶猛的一击直接将你打晕了过去!<br>"
;
}
elseif
(
!
$pa
[
'type'
]
&&
$pa
[
'nm'
]
!=
'你'
)
{
$pa
[
'logsave'
]
.=
"你凶猛的一击直接将
{
$pd
[
'nm'
]
}
打晕了过去!</span>
<br>"
;
$pa
[
'logsave'
]
.=
"你凶猛的一击直接将
<span class=
\"
yellow
\"
>
{
$pd
[
'name'
]
}
}</span>打晕了过去!
<br>"
;
}
}
...
...
@@ -1440,8 +1505,14 @@
$pd
[
'cannot_counter_log'
]
=
"
{
$pd
[
'nm'
]
}
看起来非常生气!还是离他远点吧……"
;
return
0
;
}
# 被「偷袭」技能攻击、或正处于眩晕状态时,无法反击
if
(
isset
(
$pa
[
'skill_c1_sneak'
])
||
isset
(
$pd
[
'skill_inf_dizzy'
]))
# 被偷袭无法反击
if
(
isset
(
$pa
[
'skill_c1_sneak'
]))
{
$pd
[
'cannot_counter_log'
]
=
"
{
$pd
[
'nm'
]
}
无法反击!"
;
return
0
;
}
# 处于眩晕状态时,无法反击
if
(
isset
(
$pd
[
'skill_inf_dizzy'
]))
{
$pd
[
'cannot_counter_log'
]
=
"
{
$pd
[
'nm'
]
}
正处于眩晕状态,无法反击!"
;
return
0
;
...
...
@@ -1455,6 +1526,17 @@
if
(
!
empty
(
$pa
[
'wep_range'
])
&&
$pd
[
'wep_range'
]
>=
$pa
[
'wep_range'
])
return
1
;
# 鏖战状态下无视射程反击(爆系武器除外)
if
((
isset
(
$pd
[
'is_dfight'
])
||
isset
(
$pa
[
'is_dfight'
]))
&&
!
empty
(
$pd
[
'wep_range'
]))
return
1
;
#「直感」触发后可以超射程反击:
if
(
isset
(
$pd
[
'skill_c2_intuit'
]))
{
$sk_dice
=
diceroll
(
99
);
$sk_lvl
=
get_skilllvl
(
'c2_intuit'
,
$pd
);
$sk_obbs
=
get_skillvars
(
'c2_intuit'
,
'rangerate'
,
$sk_lvl
);
if
(
$sk_dice
<
$sk_obbs
)
{
return
1
;
}
}
return
0
;
}
...
...
@@ -1482,6 +1564,8 @@
# 获取社团技能对反击率的修正
$counter
*=
rev_get_clubskill_bonus_counter
(
$pd
[
'club'
],
$pd
[
'skills'
],
$pd
,
$pa
[
'club'
],
$pa
[
'skills'
],
$pa
);
# 获取社团技能对反击率的修正(新)
$counter
*=
get_clbskill_counterate
(
$pa
,
$pd
,
$active
,
$counter
);
# 获取异常状态对反击率的影响
if
(
!
empty
(
$pd
[
'inf'
]))
...
...
include/game/revattr_extra.func.php
View file @
c2d92cc5
...
...
@@ -28,7 +28,12 @@
if
(
$bsk_cost
)
$pa
[
'rage'
]
-=
$bsk_cost
;
# 成功释放主动技,应用标记
$pa
[
'skill_'
.
$bsk
]
=
1
;
$log
.=
"<span class=
\"
lime
\"
>
{
$pa
[
'nm'
]
}
消耗
{
$bsk_cost
}
点怒气,对
{
$pd
[
'nm'
]
}
发动了技能「
{
$bsk_name
}
」!</span><br>"
;
$log
.=
"<span class=
\"
lime
\"
>
{
$pa
[
'nm'
]
}
对
{
$pd
[
'nm'
]
}
发动了技能「
{
$bsk_name
}
」!</span><br>"
;
# 检查是否需要addnews
addnews
(
$now
,
'bsk_'
.
$bsk
,
$pa
[
'name'
],
$pd
[
'name'
]);
# 检查是否需要进行logsave
if
(
!
$pd
[
'type'
]
&&
$pd
[
'nm'
]
!=
'你'
)
$pd
[
'logsave'
]
.=
"<span class=
\"
yellow
\"
>
{
$pa
[
'name'
]
}
</span>对你发动了技能<span class=
\"
red
\"
>「
{
$bsk_name
}
」</span>!"
;
elseif
(
!
$pa
[
'type'
]
&&
$pa
[
'nm'
]
!=
'你'
)
$pa
[
'logsave'
]
.=
"你对<span class=
\"
yellow
\"
>
{
$pd
[
'name'
]
}
</span>发动了技能<span class=
\"
red
\"
>「
{
$bsk_name
}
」</span>!"
;
}
else
{
...
...
@@ -49,7 +54,7 @@
foreach
(
$pa
[
'clbpara'
][
'skill'
]
as
$sk
)
{
# 对于解锁技能,如果有特殊触发条件,在这里加入判定,否则会默认给一个触发标记
if
(
!
check_skill_unlock
(
$sk
,
$pa
)
&&
(
get_skilltags
(
$sk
,
'passive'
)
||
get_skilltags
(
$sk
,
'inf'
)
))
if
(
(
get_skilltags
(
$sk
,
'passive'
)
||
get_skilltags
(
$sk
,
'buff'
)
||
get_skilltags
(
$sk
,
'inf'
))
&&
!
check_skill_unlock
(
$sk
,
$pa
))
{
# 「猛击」特殊判定
if
(
$sk
==
'c1_crit'
)
...
...
@@ -76,6 +81,76 @@
return
;
}
# 获取社团技能对基础反击率的修正(新)
function
get_clbskill_counterate
(
&
$pa
,
&
$pd
,
$active
,
$counterate
)
{
#「直感」效果判定:
if
(
isset
(
$pa
[
'skill_c2_intuit'
]))
{
$sk_lvl
=
get_skilllvl
(
'c2_intuit'
,
$pa
);
//获取反击倍率加成
$sk_r
=
1
+
(
get_skillvars
(
'c2_intuit'
,
'countergain'
,
$sk_lvl
)
/
100
);
$counterate
*=
$sk_r
;
}
return
$counterate
;
}
# 获取社团技能对基础命中率的修正(新)
function
get_clbskill_hitrate
(
&
$pa
,
&
$pd
,
$active
,
$hitrate
)
{
#「直感」效果判定:
if
(
isset
(
$pa
[
'skill_c2_intuit'
]))
{
$sk_lvl
=
get_skilllvl
(
'c2_intuit'
,
$pa
);
//获取命中倍率加成
$sk_r
=
1
+
(
get_skillvars
(
'c2_intuit'
,
'accgain'
,
$sk_lvl
)
/
100
);
$hitrate
*=
$sk_r
;
}
return
$hitrate
;
}
# 获取社团技能对连击命中率的修正(新)
function
get_clbskill_r_hitrate
(
&
$pa
,
&
$pd
,
$active
,
$hitrate
)
{
#「直感」效果判定:
if
(
isset
(
$pa
[
'skill_c2_intuit'
]))
{
$sk_lvl
=
get_skilllvl
(
'c2_intuit'
,
$pa
);
//获取连击命中率加成
$sk_r
=
1
+
(
get_skillvars
(
'c2_intuit'
,
'rbgain'
,
$sk_lvl
)
/
100
);
$hitrate
*=
$sk_r
;
}
return
$hitrate
;
}
# 获取社团技能对伤害浮动的修正(新)
function
get_clbskill_fluc
(
&
$pa
,
&
$pd
,
$active
)
{
#「直感」效果判定:
if
(
isset
(
$pa
[
'skill_c2_intuit'
]))
{
$sk_lvl
=
get_skilllvl
(
'c2_intuit'
,
$pa
);
//获取伤害浮动加成
$sk_fix
=
get_skillvars
(
'c2_intuit'
,
'flucgain'
,
$sk_lvl
);
return
$sk_fix
;
}
return
0
;
}
# 获取社团技能对单个属性基础伤害的定值补正
function
get_clbskill_ex_base_dmg_fix
(
&
$pa
,
&
$pd
,
$active
,
$key
)
{
$ex_dmg_fix
=
0
;
# 「歼灭」效果判定:
if
(
isset
(
$pa
[
'skill_buff_annihil'
]))
{
global
$ex_wep_dmg
;
$sk_var
=
round
(
$pa
[
'att'
]
/
$ex_wep_dmg
[
$key
]);
$ex_dmg_fix
+=
$sk_var
;
}
return
$ex_dmg_fix
;
}
# 真红暮特殊判定
function
attr_extra_19_crimson
(
&
$pa
,
&
$pd
,
$active
,
$phase
=
0
)
{
...
...
include/game/revclubskills.func.php
View file @
c2d92cc5
This diff is collapsed.
Click to expand it.
include/game/revcombat.func.php
View file @
c2d92cc5
...
...
@@ -365,9 +365,10 @@
{
if
(
$active
)
{
$w_log
=
"手持<span class=
\"
red
\"
>
{
$pa
[
'wep_name'
]
}
</span>的<span class=
\"
yellow
\"
>
{
$pa
[
'name'
]
}
</span>向你袭击!<br>
你受到其<span class=
\"
yellow
\"
>
$att_dmg
</span>点攻击,对其做出了<span class=
\"
yellow
\"
>
$def_dmg
</span>点反击。<br>
"
;
$w_log
=
"手持<span class=
\"
red
\"
>
{
$pa
[
'wep_name'
]
}
</span>的<span class=
\"
yellow
\"
>
{
$pa
[
'name'
]
}
</span>向你袭击!<br>"
;
if
(
isset
(
$pd
[
'logsave'
]))
$w_log
.=
$pd
[
'logsave'
];
if
(
isset
(
$pd
[
'lvlup_log'
]))
$w_log
.=
$pd
[
'lvlup_log'
];
$w_log
.=
"你受到其<span class=
\"
yellow
\"
>
$att_dmg
</span>点攻击,对其做出了<span class=
\"
yellow
\"
>
$def_dmg
</span>点反击。<br>"
;
logsave
(
$pd
[
'pid'
],
$now
,
$w_log
,
'c'
);
}
else
...
...
@@ -375,6 +376,7 @@
$w_log
=
"你发现了手持<span class=
\"
red
\"
>
{
$pd
[
'wep_name'
]
}
</span>的<span class=
\"
yellow
\"
>
{
$pd
[
'name'
]
}
</span>并且先发制人!<br>你对其做出<span class=
\"
yellow
\"
>
$att_dmg
</span>点攻击,受到其<span class=
\"
yellow
\"
>
$def_dmg
</span>点反击。<br>"
;
if
(
isset
(
$pa
[
'logsave'
]))
$w_log
.=
$pa
[
'logsave'
];
if
(
isset
(
$pa
[
'lvlup_log'
]))
$w_log
.=
$pa
[
'lvlup_log'
];
$w_log
.=
"你受到其<span class=
\"
yellow
\"
>
$att_dmg
</span>点攻击,对其做出了<span class=
\"
yellow
\"
>
$def_dmg
</span>点反击。<br>"
;
logsave
(
$pa
[
'pid'
],
$now
,
$w_log
,
'c'
);
}
}
...
...
@@ -646,12 +648,19 @@
}
//获取最终伤害的定值变化(伤害制御、剔透)
$fin_damage_fix
=
get_final_dmg_fix
(
$pa
,
$pd
,
$active
,
$damage
);
if
(
$fin_damage_fix
>
0
)
$damage
=
$fin_damage_fix
;
if
(
$fin_damage_fix
>
0
)
{
$o_damage
=
$damage
;
$damage
=
$fin_damage_fix
;
}
//存在物理伤害以外的其他伤害 输出一段最终伤害log:
if
(
$pdamage
!=
$damage
)
{
if
(
isset
(
$fd_log
)
&&
!
$fin_damage_fix
)
$log
.=
"<span class=
\"
yellow
\"
>造成的总伤害:
{
$fd_log
}
=<span class=
\"
red
\"
>
$damage
</span>。</span><br>"
;
else
$log
.=
"<span class=
\"
yellow
\"
>造成的总伤害:<span class=
\"
red
\"
>
$damage
</span>。</span><br>"
;
$log
.=
"<span class=
\"
yellow
\"
>造成的总伤害:"
;
if
(
isset
(
$fd_log
))
$log
.=
$fd_log
.
'='
;
$log
.=
"<span class=
\"
red
\"
>
{
$damage
}
"
;
if
(
isset
(
$o_damage
)
&&
$o_damage
!=
$damage
)
$log
.=
"(
{
$o_damage
}
)"
;
$log
.=
"</span>。</span><br>"
;
}
}
//将造成的最终伤害登记在$pa['final_damage']内
...
...
include/news.func.php
View file @
c2d92cc5
...
...
@@ -7,7 +7,7 @@ if(!defined('IN_GAME')) {
include_once
GAME_ROOT
.
'./include/game/titles.func.php'
;
function
nparse_news
(
$start
=
0
,
$range
=
0
){
//$type = '') {
global
$week
,
$nowep
,
$db
,
$tablepre
,
$lwinfo
,
$plsinfo
,
$hplsinfo
,
$wthinfo
,
$typeinfo
,
$exdmginf
,
$newslimit
;
global
$week
,
$nowep
,
$db
,
$tablepre
,
$lwinfo
,
$plsinfo
,
$hplsinfo
,
$wthinfo
,
$typeinfo
,
$exdmginf
,
$newslimit
,
$cskills
;
//$file = $file ? $file : $newsfile;
//$ninfo = openfile($file);
$range
=
$range
==
0
?
$newslimit
:
$range
;
...
...
@@ -315,6 +315,10 @@ function nparse_news($start = 0, $range = 0 ){//$type = '') {
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
orange
\"
>
{
$a
}
发送了控制指令,全部禁区解除!</span><br>
\n
"
;
}
elseif
(
$news
==
'csl_addarea'
)
{
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
orange
\"
>
{
$a
}
发送了控制指令,下一回禁区提前到来了!</span><br>
\n
"
;
}
elseif
(
strpos
(
$news
,
'bsk_'
)
===
0
)
{
$bsk
=
substr
(
$news
,
4
);
$bname
=
$cskills
[
$bsk
][
'name'
];
$newsinfo
.=
"<li>
{
$hour
}
时
{
$min
}
分
{
$sec
}
秒,<span class=
\"
clan
\"
>
{
$a
}
对
{
$b
}
发动了技能<span class=
\"
yellow
\"
>「
{
$bname
}
」</span>!</span><br>
\n
"
;
}
else
{
$newsinfo
.=
"<li>
$time
,
$news
,
$a
,
$b
,
$c
,
$d
<br>
\n
"
;
}
...
...
valid.php
View file @
c2d92cc5
...
...
@@ -84,9 +84,12 @@ if($mode == 'enter') {
$itm
[
1
]
=
'面包'
;
$itmk
[
1
]
=
'HH'
;
$itme
[
1
]
=
120
;
$itms
[
1
]
=
15
;
$itm
[
2
]
=
'矿泉水'
;
$itmk
[
2
]
=
'HS'
;
$itme
[
2
]
=
140
;
$itms
[
2
]
=
15
;
//$itm[6] = '银白盒子'; $itmk[6] = 'p'; $itme[6] = 1; $itms[6] = 1; $itmsk[6] = 'ps';
//$itm[5] = '秋刀鱼罐头'; $itmk[5] = 'HB'; $itme[5] = 70; $itms[5] = 15;
$itm
[
5
]
=
'GRAND OPENING 「开门大吉」'
;
$itmk
[
5
]
=
'p000'
;
$itme
[
5
]
=
1
;
$itms
[
5
]
=
1
;
$itm
[
5
]
=
'秋刀鱼罐头'
;
$itmk
[
5
]
=
'HB'
;
$itme
[
5
]
=
70
;
$itms
[
5
]
=
15
;
//$itm[5] = 'GRAND OPENING 「开门大吉」'; $itmk[5] = 'p000'; $itme[5] = 1; $itms[5] = 1;
$dice
=
rand
(
1
,
2
);
if
(
$dice
==
1
){
$itm
[
5
]
=
'「铁拳无敌 社团卡」'
;
$itmk
[
5
]
=
'ZB'
;
$itme
[
5
]
=
1
;
$itms
[
5
]
=
1
;}
else
{
$itm
[
5
]
=
'「见敌必斩 社团卡」'
;
$itmk
[
5
]
=
'ZB'
;
$itme
[
5
]
=
2
;
$itms
[
5
]
=
1
;}
if
(
$wingames
<=
1
){
$itm
[
6
]
=
'银白盒子'
;
$itmk
[
6
]
=
'ps'
;
$itme
[
6
]
=
1
;
$itms
[
6
]
=
1
;
$itmsk
[
6
]
=
''
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment