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
62247b43
Commit
62247b43
authored
Apr 16, 2025
by
Nemo Ma
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
FEAT: Fireseed Skills + Set
parent
f343178a
Changes
12
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
592 additions
and
204 deletions
+592
-204
doc/etc/20250416_224140_fireseed_skills_implementation.txt
doc/etc/20250416_224140_fireseed_skills_implementation.txt
+24
-0
doc/etc/20250416_225057_fireseed4_skill_implementation.txt
doc/etc/20250416_225057_fireseed4_skill_implementation.txt
+24
-0
doc/etc/20250416_225854_setitems_fireseed_implementation.txt
doc/etc/20250416_225854_setitems_fireseed_implementation.txt
+40
-0
doc/etc/20250416_234006_setitems_fireseed_fix.txt
doc/etc/20250416_234006_setitems_fireseed_fix.txt
+23
-0
doc/etc/20250416_234852_fireseed4_trap_fix.txt
doc/etc/20250416_234852_fireseed4_trap_fix.txt
+57
-0
gamedata/cache/addnpc_1.php
gamedata/cache/addnpc_1.php
+4
-1
gamedata/cache/clubskills_1.php
gamedata/cache/clubskills_1.php
+114
-78
gamedata/cache/npc_1.php
gamedata/cache/npc_1.php
+4
-1
include/game/item.poison.php
include/game/item.poison.php
+9
-2
include/game/itemmain.func.php
include/game/itemmain.func.php
+19
-5
include/game/revattr.func.php
include/game/revattr.func.php
+161
-117
include/game/setitems.func.php
include/game/setitems.func.php
+113
-0
No files found.
doc/etc/20250416_224140_fireseed_skills_implementation.txt
0 → 100644
View file @
62247b43
# 种火系列技能实装
## 实装内容
实装了三个减伤技能:
1. 种火I(fireseed1)——使角色因为战斗受到的全部最终伤害都降低为75%
2. 种火II(fireseed2)——使角色因为战斗受到的全部最终伤害都降低为50%
3. 种火III(fireseed3)——使角色因为战斗受到的全部最终伤害都变为1
## 实装位置
1. 在 `gamedata/cache/clubskills_1.php` 文件中添加了三个技能的定义
2. 在 `include/game/revattr.func.php` 文件中的 `get_final_dmg_p` 函数中添加了种火I和种火II的伤害减免逻辑
3. 在 `include/game/revattr.func.php` 文件中的 `get_final_dmg_fix` 函数中添加了种火III的伤害固定为1的逻辑
## 实装逻辑
1. 种火I和种火II通过在 `get_final_dmg_p` 函数中添加伤害系数修正来实现伤害减免
2. 种火III通过在 `get_final_dmg_p` 函数中设置标记,然后在 `get_final_dmg_fix` 函数中检测标记并将伤害固定为1来实现
## 技能效果
这三个技能都是被动技能,玩家学习后会自动生效,不需要主动触发。技能效果会在战斗中显示在战斗日志中,告知玩家伤害减免情况。
## 注意事项
1. 这三个技能是互斥的,如果玩家同时拥有多个种火技能,会按照优先级从高到低生效(种火III > 种火II > 种火I)
2. 种火技能只对战斗中受到的伤害有效,不影响其他来源的伤害(如陷阱、毒素等)
3. 种火技能的伤害减免是在所有其他伤害计算完成后最后应用的
doc/etc/20250416_225057_fireseed4_skill_implementation.txt
0 → 100644
View file @
62247b43
# 种火IV技能实装
## 实装内容
实装了种火IV(fireseed4)技能,该技能的效果是将持有该技能的玩家受到的所有伤害(包括战斗,事件,陷阱,食用毒物等)全部变为0。
## 实装位置
1. 在 `gamedata/cache/clubskills_1.php` 文件中添加了种火IV技能的定义
2. 在 `include/game/revattr.func.php` 文件中的 `get_final_dmg_p` 函数中添加了种火IV的伤害免疫逻辑
3. 在 `include/game/revattr.func.php` 文件中的 `get_final_dmg_fix` 函数中添加了种火IV的伤害固定为0的逻辑
4. 在 `include/game/item.poison.php` 文件中添加了种火IV对毒物伤害的免疫逻辑
5. 在 `include/game/itemmain.func.php` 文件中添加了种火IV对陷阱伤害的免疫逻辑
## 实装逻辑
1. 种火IV通过在 `get_final_dmg_p` 函数中设置标记,然后在 `get_final_dmg_fix` 函数中检测标记并将伤害固定为0来实现战斗伤害免疫
2. 种火IV通过在 `item.poison.php` 中检查技能并将毒物伤害设为0来实现毒物伤害免疫
3. 种火IV通过在 `itemmain.func.php` 中检查技能并将陷阱伤害设为0来实现陷阱伤害免疫
## 技能效果
这个技能是被动技能,玩家学习后会自动生效,不需要主动触发。技能效果会在受到伤害时显示在战斗日志或游戏日志中,告知玩家伤害免疫情况。
## 注意事项
1. 种火IV是种火系列技能中最强大的,它可以免疫所有类型的伤害,包括战斗伤害、陷阱伤害、毒物伤害等
2. 种火IV的技能点消耗设置为50点,比种火III(30点)更高,反映了其强大的效果
3. 种火IV的实现方式是在各个伤害计算的关键位置添加检查,确保所有类型的伤害都能被免疫
doc/etc/20250416_225854_setitems_fireseed_implementation.txt
0 → 100644
View file @
62247b43
# 种火套装与技能关联实装
## 实装内容
实现了种火系列套装(fs2, fs3, fs4, fs5)与种火系列技能(fireseed1, fireseed2, fireseed3, fireseed4)的关联,使得玩家穿戴对应套装时自动获得相应的种火技能。
## 实装位置
1. 创建了新文件 `include/game/setitems.func.php` 用于处理套装效果
2. 修改了 `include/game/itemmain.func.php` 中的 `reload_set_items` 函数,调用新的套装效果处理函数
3. 修改了 `include/game/itemmain.func.php` 中的 `reload_single_set_item` 函数,在装备和卸下套装部件时调用套装效果处理函数
## 实装逻辑
1. 创建了 `process_set_item_effects` 函数,用于处理套装效果:
- 检查玩家是否拥有套装效果
- 对于每个套装,检查套装件数是否达到激活条件
- 如果达到激活条件,根据套装ID授予对应的种火技能
- 如果未达到激活条件,移除对应的种火技能(如果该技能是通过套装获得的)
2. 套装与技能的对应关系:
- fs2(种火Ⅰ套装)→ fireseed1(种火I技能)
- fs3(种火Ⅱ套装)→ fireseed2(种火II技能)
- fs4(种火Ⅲ套装)→ fireseed3(种火III技能)
- fs5(种火Ⅳ套装)→ fireseed4(种火IV技能)
3. 在以下情况下会触发套装效果处理:
- 玩家数据初始化时(通过 `reload_set_items` 函数)
- 玩家装备套装部件时(通过 `reload_single_set_item` 函数)
- 玩家卸下套装部件时(通过 `reload_single_set_item` 函数)
## 技能效果
当玩家穿戴完整的套装时,会自动获得对应的种火技能,享受相应的伤害减免效果:
- 种火I:战斗伤害降低为75%
- 种火II:战斗伤害降低为50%
- 种火III:战斗伤害变为1
- 种火IV:所有伤害(包括战斗、陷阱、毒物等)变为0
## 注意事项
1. 如果玩家通过学习获得了种火技能,即使卸下对应套装,该技能也不会消失
2. 只有通过套装获得的种火技能才会在卸下套装时消失
3. 套装效果会在游戏日志中显示,告知玩家获得或失去了哪些技能
4. 该实现方式可以扩展到其他套装效果,只需在 `process_set_item_effects` 函数中添加对应的处理逻辑
doc/etc/20250416_234006_setitems_fireseed_fix.txt
0 → 100644
View file @
62247b43
# 种火套装与技能关联修复
## 问题描述
在玩家装备或移除物品时,未出现获得或失去技能的提示,也并没有获得或失去技能。
## 问题原因
问题出在 `setitems.func.php` 文件中使用 `check_skill_unlock` 函数的方式上。这个函数不仅检查玩家是否拥有技能,还会检查技能是否可用(是否解锁),这导致了即使玩家没有技能,函数也可能返回非零值(表示技能未解锁),从而导致条件判断失败。
## 修复内容
1. 修改了 `setitems.func.php` 文件中的条件判断逻辑,不再使用 `check_skill_unlock` 函数,而是直接检查玩家的 `clbpara['skill']` 数组中是否包含对应的技能
2. 对于获得技能的条件,改为检查 `empty($pa['clbpara']['skill']) || !in_array('fireseed1', $pa['clbpara']['skill'])`
3. 对于失去技能的条件,改为检查 `!empty($pa['clbpara']['skill']) && in_array('fireseed1', $pa['clbpara']['skill'])`
4. 移除了检查技能是否通过学习获得的逻辑,因为这个逻辑在当前实现中不需要
## 修复效果
1. 现在当玩家装备完整的套装时,会正确获得对应的种火技能,并显示获得技能的提示
2. 当玩家卸下套装部件导致套装不再完整时,会正确失去对应的种火技能,并显示失去技能的提示
3. 套装效果与技能的关联关系正常工作
## 注意事项
1. 这个修复不会影响玩家通过学习获得的种火技能,只会影响通过套装获得的技能
2. 如果玩家同时通过学习和套装获得了同一个技能,卸下套装后技能会被移除,但这是预期行为,因为 `lostclubskill` 函数会直接从 `clbpara['skill']` 数组中移除技能
3. 如果需要区分通过学习获得的技能和通过套装获得的技能,需要在 `clbpara` 中添加额外的标记
doc/etc/20250416_234852_fireseed4_trap_fix.txt
0 → 100644
View file @
62247b43
# 种火IV陷阱伤害免疫修复
## 问题描述
在种火IV技能生效时,玩家踩到陷阱仍然正常受到了伤害,而该伤害应该下降为0。
## 问题原因
问题出在 `itemmain.func.php` 文件中的陷阱伤害计算逻辑。原来的代码先计算陷阱伤害,然后再检查种火IV技能,这导致在某些情况下(可能是由于代码执行顺序或其他因素),种火IV的效果没有正确应用。
## 修复内容
1. 修改了 `itemmain.func.php` 文件中的陷阱伤害计算逻辑,将种火IV的检查移到了伤害计算之前
2. 使用了 `if-else` 结构,确保当种火IV技能存在时,直接将伤害设为0,不再进行后续的伤害计算
3. 改进了检查种火IV技能的方式,不再使用 `check_skill_unlock` 函数,而是直接检查玩家的 `clbpara['skill']` 数组中是否包含 'fireseed4'
## 修复前代码
```php
# 计算陷阱伤害
$damage = calc_trap_damage($data,NULL,$playerflag,$selflag);
# 检查陷阱是否被迎击
$damage = check_trap_def_event($data,$damage,$playerflag,$selflag);
# 「种火IV」效果判定:
if(check_skill_unlock('fireseed4', $data)) {
$log .= "<span class='yellow'>「种火IV」使{$name}受到的所有伤害变为0!</span><br>";
$damage = 0;
}
if($damage)
```
## 修复后代码
```php
# 「种火IV」效果判定:
if(!empty($data['clbpara']['skill']) && in_array('fireseed4', $data['clbpara']['skill']))
{
$log .= "<span class='yellow'>「种火IV」使{$name}受到的所有伤害变为0!</span><br>";
$damage = 0;
}
else
{
# 计算陷阱伤害
$damage = calc_trap_damage($data,NULL,$playerflag,$selflag);
# 检查陷阱是否被迎击
$damage = check_trap_def_event($data,$damage,$playerflag,$selflag);
}
if($damage)
```
## 修复效果
1. 现在当玩家拥有种火IV技能时,踩到陷阱会正确地将伤害降为0
2. 玩家会看到提示消息,告知种火IV技能使伤害变为0
3. 由于伤害为0,玩家不会受到任何陷阱伤害,也不会触发陷阱击杀事件
## 注意事项
1. 这个修复只影响陷阱伤害,不影响其他类型的伤害(战斗、毒物等)
2. 修复使用了直接检查技能数组的方式,而不是使用 `check_skill_unlock` 函数,这与之前修复套装效果时的方法一致
3. IDE报告了一些未使用的变量警告,但这些不影响功能,是原代码中就存在的问题
gamedata/cache/addnpc_1.php
View file @
62247b43
...
@@ -2487,8 +2487,11 @@ $anpcinfo = array(
...
@@ -2487,8 +2487,11 @@ $anpcinfo = array(
'pls'
=>
99
,
'pls'
=>
99
,
'mhp'
=>
17
,
'mhp'
=>
17
,
'msp'
=>
200
,
'msp'
=>
200
,
'clubskill'
=>
Array
(
'fireseed3'
,
),
'att'
=>
27
,
'att'
=>
27
,
'def'
=>
99
999
,
'def'
=>
99
,
'lvl'
=>
13
,
'lvl'
=>
13
,
'skill'
=>
1
,
'skill'
=>
1
,
'money'
=>
250
,
'money'
=>
250
,
...
...
gamedata/cache/clubskills_1.php
View file @
62247b43
This diff is collapsed.
Click to expand it.
gamedata/cache/npc_1.php
View file @
62247b43
...
@@ -2086,11 +2086,14 @@
...
@@ -2086,11 +2086,14 @@
'teamID'
=>
''
,
'teamID'
=>
''
,
'teamPass'
=>
''
,
'teamPass'
=>
''
,
'gd'
=>
'f'
,
'gd'
=>
'f'
,
'clubskill'
=>
Array
(
'fireseed3'
,
),
//'pls' => 99,
//'pls' => 99,
'mhp'
=>
17
,
'mhp'
=>
17
,
'msp'
=>
200
,
'msp'
=>
200
,
'att'
=>
27
,
'att'
=>
27
,
'def'
=>
99
999
,
'def'
=>
99
,
'lvl'
=>
13
,
'lvl'
=>
13
,
'skill'
=>
1
,
'skill'
=>
1
,
'money'
=>
250
,
'money'
=>
250
,
...
...
include/game/item.poison.php
View file @
62247b43
...
@@ -8,13 +8,13 @@ if (! defined ( 'IN_GAME' )) {
...
@@ -8,13 +8,13 @@ if (! defined ( 'IN_GAME' )) {
function
item_poison
(
$itmn
,
&
$data
)
{
function
item_poison
(
$itmn
,
&
$data
)
{
global
$log
,
$nosta
,
$db
,
$tablepre
,
$now
;
global
$log
,
$nosta
,
$db
,
$tablepre
,
$now
;
extract
(
$data
,
EXTR_REFS
);
extract
(
$data
,
EXTR_REFS
);
$itm
=
&
$
{
'itm'
.
$itmn
};
$itm
=
&
$
{
'itm'
.
$itmn
};
$itmk
=
&
$
{
'itmk'
.
$itmn
};
$itmk
=
&
$
{
'itmk'
.
$itmn
};
$itme
=
&
$
{
'itme'
.
$itmn
};
$itme
=
&
$
{
'itme'
.
$itmn
};
$itms
=
&
$
{
'itms'
.
$itmn
};
$itms
=
&
$
{
'itms'
.
$itmn
};
$itmsk
=
&
$
{
'itmsk'
.
$itmn
};
$itmsk
=
&
$
{
'itmsk'
.
$itmn
};
if
(
strpos
(
$itmk
,
'2'
)
===
2
)
{
if
(
strpos
(
$itmk
,
'2'
)
===
2
)
{
$damage
=
round
(
$itme
*
2
);
$damage
=
round
(
$itme
*
2
);
}
elseif
(
strpos
(
$itmk
,
'1'
)
===
2
)
{
}
elseif
(
strpos
(
$itmk
,
'1'
)
===
2
)
{
...
@@ -25,6 +25,13 @@ function item_poison($itmn, &$data) {
...
@@ -25,6 +25,13 @@ function item_poison($itmn, &$data) {
if
(
strpos
(
$inf
,
'p'
)
===
false
)
{
if
(
strpos
(
$inf
,
'p'
)
===
false
)
{
$inf
.=
'p'
;
$inf
.=
'p'
;
}
}
# 「种火IV」效果判定:
if
(
check_skill_unlock
(
'fireseed4'
,
$data
))
{
$log
.=
"<span class='yellow'>「种火IV」使
{
$name
}
受到的所有伤害变为0!</span><br>"
;
$damage
=
0
;
}
$hp
-=
$damage
;
$hp
-=
$damage
;
if
(
$itmsk
&&
is_numeric
(
$itmsk
))
{
if
(
$itmsk
&&
is_numeric
(
$itmsk
))
{
$result
=
$db
->
query
(
"SELECT * FROM
{
$tablepre
}
players WHERE pid='
$itmsk
'"
);
$result
=
$db
->
query
(
"SELECT * FROM
{
$tablepre
}
players WHERE pid='
$itmsk
'"
);
...
...
include/game/itemmain.func.php
View file @
62247b43
...
@@ -243,10 +243,19 @@ function trap(&$data=NULL){
...
@@ -243,10 +243,19 @@ function trap(&$data=NULL){
{
{
$bid
=
$itmsk0
;
$bid
=
$itmsk0
;
# 计算陷阱伤害
# 「种火IV」效果判定:
$damage
=
calc_trap_damage
(
$data
,
NULL
,
$playerflag
,
$selflag
);
if
(
!
empty
(
$data
[
'clbpara'
][
'skill'
])
&&
in_array
(
'fireseed4'
,
$data
[
'clbpara'
][
'skill'
]))
# 检查陷阱是否被迎击
{
$damage
=
check_trap_def_event
(
$data
,
$damage
,
$playerflag
,
$selflag
);
$log
.=
"<span class='yellow'>「种火IV」使
{
$name
}
受到的所有伤害变为0!</span><br>"
;
$damage
=
0
;
}
else
{
# 计算陷阱伤害
$damage
=
calc_trap_damage
(
$data
,
NULL
,
$playerflag
,
$selflag
);
# 检查陷阱是否被迎击
$damage
=
check_trap_def_event
(
$data
,
$damage
,
$playerflag
,
$selflag
);
}
if
(
$damage
)
if
(
$damage
)
{
{
...
@@ -1701,7 +1710,8 @@ function reload_set_items(&$pa)
...
@@ -1701,7 +1710,8 @@ function reload_set_items(&$pa)
if
(
!
empty
(
$pa
[
'clbpara'
][
'setitems'
]))
if
(
!
empty
(
$pa
[
'clbpara'
][
'setitems'
]))
{
{
//获得对应的套装效果
//获得对应的套装效果
include_once
GAME_ROOT
.
'./include/game/setitems.func.php'
;
process_set_item_effects
(
$pa
);
}
}
return
;
return
;
}
}
...
@@ -1722,6 +1732,8 @@ function reload_single_set_item(&$pa,$eqp,$enm,$active=0)
...
@@ -1722,6 +1732,8 @@ function reload_single_set_item(&$pa,$eqp,$enm,$active=0)
$pa
[
'clbpara'
][
'setitems'
][
$sid
]
+=
1
;
$pa
[
'clbpara'
][
'setitems'
][
$sid
]
+=
1
;
$nownums
=
$pa
[
'clbpara'
][
'setitems'
][
$sid
];
$nownums
=
$pa
[
'clbpara'
][
'setitems'
][
$sid
];
//获得对应的套装效果
//获得对应的套装效果
include_once
GAME_ROOT
.
'./include/game/setitems.func.php'
;
process_set_item_effects
(
$pa
);
//$log .= "激活了套装{$set_items_info[$sid]['name']}{$nownums}件套的效果。<br>";
//$log .= "激活了套装{$set_items_info[$sid]['name']}{$nownums}件套的效果。<br>";
//检查是否解锁对应套装成就
//检查是否解锁对应套装成就
}
}
...
@@ -1730,6 +1742,8 @@ function reload_single_set_item(&$pa,$eqp,$enm,$active=0)
...
@@ -1730,6 +1742,8 @@ function reload_single_set_item(&$pa,$eqp,$enm,$active=0)
$pa
[
'clbpara'
][
'setitems'
][
$sid
]
-=
1
;
$pa
[
'clbpara'
][
'setitems'
][
$sid
]
-=
1
;
$nownums
=
$pa
[
'clbpara'
][
'setitems'
][
$sid
];
$nownums
=
$pa
[
'clbpara'
][
'setitems'
][
$sid
];
//失去对应的套装效果
//失去对应的套装效果
include_once
GAME_ROOT
.
'./include/game/setitems.func.php'
;
process_set_item_effects
(
$pa
);
//$log .= "套装{$set_items_info[$sid]['name']}组件数-1,重新激活{$nownums}件套的效果。<br>";
//$log .= "套装{$set_items_info[$sid]['name']}组件数-1,重新激活{$nownums}件套的效果。<br>";
}
}
}
}
...
...
include/game/revattr.func.php
View file @
62247b43
This diff is collapsed.
Click to expand it.
include/game/setitems.func.php
0 → 100644
View file @
62247b43
<?php
if
(
!
defined
(
'IN_GAME'
))
exit
(
'Access Denied'
);
# 套装效果处理函数
# 处理套装效果
function
process_set_item_effects
(
&
$pa
)
{
global
$log
;
# 检查玩家是否有套装效果
if
(
empty
(
$pa
[
'clbpara'
][
'setitems'
]))
return
;
# 获取套装信息
$set_items_info
=
get_set_items_info
();
# 处理每个套装效果
foreach
(
$pa
[
'clbpara'
][
'setitems'
]
as
$sid
=>
$snums
)
{
# 检查套装件数是否达到激活条件
if
(
$snums
>=
$set_items_info
[
$sid
][
'active'
][
1
])
{
# 根据套装ID应用不同效果
switch
(
$sid
)
{
case
'fs2'
:
# 种火I套装
if
(
empty
(
$pa
[
'clbpara'
][
'skill'
])
||
!
in_array
(
'fireseed1'
,
$pa
[
'clbpara'
][
'skill'
]))
{
getclubskill
(
'fireseed1'
,
$pa
[
'clbpara'
]);
$log
.=
"<span class='yellow'>套装「
{
$set_items_info
[
$sid
][
'name'
]
}
」效果:获得技能「种火I」!</span><br>"
;
}
break
;
case
'fs3'
:
# 种火II套装
if
(
empty
(
$pa
[
'clbpara'
][
'skill'
])
||
!
in_array
(
'fireseed2'
,
$pa
[
'clbpara'
][
'skill'
]))
{
getclubskill
(
'fireseed2'
,
$pa
[
'clbpara'
]);
$log
.=
"<span class='yellow'>套装「
{
$set_items_info
[
$sid
][
'name'
]
}
」效果:获得技能「种火II」!</span><br>"
;
}
break
;
case
'fs4'
:
# 种火III套装
if
(
empty
(
$pa
[
'clbpara'
][
'skill'
])
||
!
in_array
(
'fireseed3'
,
$pa
[
'clbpara'
][
'skill'
]))
{
getclubskill
(
'fireseed3'
,
$pa
[
'clbpara'
]);
$log
.=
"<span class='yellow'>套装「
{
$set_items_info
[
$sid
][
'name'
]
}
」效果:获得技能「种火III」!</span><br>"
;
}
break
;
case
'fs5'
:
# 种火IV套装
if
(
empty
(
$pa
[
'clbpara'
][
'skill'
])
||
!
in_array
(
'fireseed4'
,
$pa
[
'clbpara'
][
'skill'
]))
{
getclubskill
(
'fireseed4'
,
$pa
[
'clbpara'
]);
$log
.=
"<span class='yellow'>套装「
{
$set_items_info
[
$sid
][
'name'
]
}
」效果:获得技能「种火IV」!</span><br>"
;
}
break
;
# 其他套装效果可以在这里添加
default
:
# 默认不做任何处理
break
;
}
}
else
{
# 套装件数不足,移除对应效果
switch
(
$sid
)
{
case
'fs2'
:
# 种火I套装
# 检查玩家是否有该技能,且该技能不是通过学习获得的
if
(
!
empty
(
$pa
[
'clbpara'
][
'skill'
])
&&
in_array
(
'fireseed1'
,
$pa
[
'clbpara'
][
'skill'
]))
{
# 移除技能
lostclubskill
(
'fireseed1'
,
$pa
[
'clbpara'
]);
$log
.=
"<span class='yellow'>失去套装「
{
$set_items_info
[
$sid
][
'name'
]
}
」效果:技能「种火I」消失了!</span><br>"
;
}
break
;
case
'fs3'
:
# 种火II套装
if
(
!
empty
(
$pa
[
'clbpara'
][
'skill'
])
&&
in_array
(
'fireseed2'
,
$pa
[
'clbpara'
][
'skill'
]))
{
lostclubskill
(
'fireseed2'
,
$pa
[
'clbpara'
]);
$log
.=
"<span class='yellow'>失去套装「
{
$set_items_info
[
$sid
][
'name'
]
}
」效果:技能「种火II」消失了!</span><br>"
;
}
break
;
case
'fs4'
:
# 种火III套装
if
(
!
empty
(
$pa
[
'clbpara'
][
'skill'
])
&&
in_array
(
'fireseed3'
,
$pa
[
'clbpara'
][
'skill'
]))
{
lostclubskill
(
'fireseed3'
,
$pa
[
'clbpara'
]);
$log
.=
"<span class='yellow'>失去套装「
{
$set_items_info
[
$sid
][
'name'
]
}
」效果:技能「种火III」消失了!</span><br>"
;
}
break
;
case
'fs5'
:
# 种火IV套装
if
(
!
empty
(
$pa
[
'clbpara'
][
'skill'
])
&&
in_array
(
'fireseed4'
,
$pa
[
'clbpara'
][
'skill'
]))
{
lostclubskill
(
'fireseed4'
,
$pa
[
'clbpara'
]);
$log
.=
"<span class='yellow'>失去套装「
{
$set_items_info
[
$sid
][
'name'
]
}
」效果:技能「种火IV」消失了!</span><br>"
;
}
break
;
# 其他套装效果可以在这里添加
default
:
# 默认不做任何处理
break
;
}
}
}
}
?>
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