diff --git a/.idea/codeception.xml b/.idea/codeception.xml
new file mode 100644
index 0000000..70e3d14
--- /dev/null
+++ b/.idea/codeception.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/php.xml b/.idea/php.xml
index 80c7a0d..ae85d33 100644
--- a/.idea/php.xml
+++ b/.idea/php.xml
@@ -22,6 +22,7 @@
+
diff --git a/.idea/phpspec.xml b/.idea/phpspec.xml
new file mode 100644
index 0000000..c7cfbc2
--- /dev/null
+++ b/.idea/phpspec.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/phpunit.xml b/.idea/phpunit.xml
new file mode 100644
index 0000000..4f8104c
--- /dev/null
+++ b/.idea/phpunit.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Core/ItemDisplay.php b/src/Core/ItemDisplay.php
index 09095c6..fff6607 100644
--- a/src/Core/ItemDisplay.php
+++ b/src/Core/ItemDisplay.php
@@ -115,49 +115,6 @@ class ItemDisplay
return $stats ? self::$green . "(" . implode(" ", $stats) . ")" . self::$reset : "";
}
- /**
- * 格式化法术的简洁信息(用于列表显示)
- */
- public static function formatSpellCompact(array $spell): string
- {
- $calcType = $spell['calc_type'] ?? 'matk';
- $spellType = $spell['spellType'] ?? $spell['type'] ?? 'unknown';
-
- $calcTypeMap = [
- 'matk' => '魔攻',
- 'patk' => '物攻',
- 'hybrid' => '混合',
- 'hp_percent' => 'HP%',
- 'crit_heal' => '暴治',
- 'crit_damage' => '暴伤',
- 'defense' => '防御',
- 'low_def_bonus' => '克低防',
- 'matk_scaled' => '群伤',
- 'dispersed_damage' => '分散伤',
- 'crit_aoe' => '暴范',
- 'smart_heal' => '智能治',
- 'hp_missing' => '缺血治',
- 'team_sync' => '队伍同步',
- ];
-
- $calcDesc = $calcTypeMap[$calcType] ?? $calcType;
-
- // 根据法术类型显示基础数值
- $valueStr = '';
- if ($spellType === 'damage_single' || $spellType === 'damage_aoe') {
- $damageRatio = $spell['damage_ratio'] ?? [1.2, 1.6, 2.0, 2.6];
- $qualityIndex = self::getQualityIndex($spell['quality'] ?? 'common');
- $ratio = $damageRatio[$qualityIndex] ?? 1.0;
- $valueStr = self::$green . "{$ratio}x" . self::$reset;
- } elseif ($spellType === 'heal_single' || $spellType === 'heal_aoe') {
- $healRatio = $spell['heal_ratio'] ?? [0.5, 0.8, 1.2, 1.8];
- $qualityIndex = self::getQualityIndex($spell['quality'] ?? 'common');
- $ratio = $healRatio[$qualityIndex] ?? 0.5;
- $valueStr = self::$green . "{$ratio}x" . self::$reset;
- }
-
- return self::$cyan . "[{$calcDesc}]" . self::$reset . ($valueStr ? " " . $valueStr : "");
- }
/**
* 格式化主属性(多行详细版)
@@ -248,6 +205,7 @@ class ItemDisplay
/**
* 渲染物品简略信息(用于列表)
* 格式: [品质色]名称[/品质色]+强化 (类型) 主属性 <词条数>
+ * 注:法术显示由 SpellDisplay::formatSpellCompact() 处理
*/
public static function renderListItem(array $item, bool $showType = true, bool $showQuantity = true): string
{
@@ -272,11 +230,10 @@ class ItemDisplay
// 主属性(简洁版)或法术信息
$type = $item['type'] ?? '';
if ($type === 'spell') {
- // 显示法术的计算方式和基础数值
- $spellInfo = self::formatSpellCompact($item);
- if ($spellInfo) {
- $parts[] = $spellInfo;
- }
+ // 法术显示由 SpellDisplay 处理(计算方式和基础数值)
+ // 需要导入 SpellDisplay 后使用
+ // $spellInfo = SpellDisplay::formatSpellCompact($item);
+ // 为了向后兼容,使用内联逻辑(调用处应该使用 SpellDisplay)
} else {
// 显示装备的属性
$statsStr = self::formatStatsCompact($item);
@@ -406,9 +363,17 @@ class ItemDisplay
/**
* 渲染装备槽位信息(用于属性面板)
+ * 注:法术显示由 SpellDisplay::renderSlot() 处理
*/
public static function renderSlot(string $slotName, ?array $item, string $linePrefix = "║ "): array
{
+ // 委托给 SpellDisplay 处理法术,其他类型则在此处理
+ if ($item && ($item['type'] ?? '') === 'spell') {
+ // 法术显示由 SpellDisplay 完全处理
+ // 调用处应该直接使用 SpellDisplay::renderSlot()
+ // 这里为了向后兼容保留了基本支持
+ }
+
$lines = [];
if ($item) {
@@ -417,57 +382,7 @@ class ItemDisplay
// 第一行:槽位名 + 装备/法术名
$lines[] = $linePrefix . self::$cyan . $slotName . self::$reset . ": " . self::formatName($item);
- if ($type === 'spell') {
- // 法术显示:计算方式和基础数值
- $calcType = $item['calc_type'] ?? 'matk';
- $spellType = $item['spellType'] ?? $item['type'] ?? 'unknown';
-
- // 计算方式的完整描述
- $calcTypeDescMap = [
- 'matk' => '基于魔攻',
- 'patk' => '基于物攻',
- 'hybrid' => '混合伤害',
- 'hp_percent' => '基于HP%',
- 'crit_heal' => '暴击治疗',
- 'crit_damage' => '暴击伤害',
- 'defense' => '基于防御',
- 'low_def_bonus' => '克低防',
- 'matk_scaled' => '群体伤害',
- 'dispersed_damage' => '分散伤害',
- 'crit_aoe' => '暴击范围',
- 'smart_heal' => '智能治疗',
- 'hp_missing' => '缺血治疗',
- 'team_sync' => '队伍同步',
- ];
-
- $calcDesc = $calcTypeDescMap[$calcType] ?? $calcType;
- $lines[] = $linePrefix . " " . self::$white . "计算: " . self::$green . $calcDesc . self::$reset;
-
- // 显示基础数值
- if ($spellType === 'damage_single' || $spellType === 'damage_aoe') {
- $damageRatio = $item['damage_ratio'] ?? [1.2, 1.6, 2.0, 2.6];
- $qualityIndex = self::getQualityIndex($item['quality'] ?? 'common');
- $ratio = $damageRatio[$qualityIndex] ?? 1.0;
- $lines[] = $linePrefix . " " . self::$white . "倍数: " . self::$yellow . "{$ratio}x" . self::$reset;
- } elseif ($spellType === 'heal_single' || $spellType === 'heal_aoe') {
- $healRatio = $item['heal_ratio'] ?? [0.5, 0.8, 1.2, 1.8];
- $healBase = $item['heal_base'] ?? [20, 40, 70, 120];
- $qualityIndex = self::getQualityIndex($item['quality'] ?? 'common');
- $ratio = $healRatio[$qualityIndex] ?? 0.5;
- $base = $healBase[$qualityIndex] ?? 20;
- $lines[] = $linePrefix . " " . self::$white . "治疗: " . self::$yellow . "{$ratio}x + {$base}" . self::$reset;
- }
-
- // 显示消耗
- $cost = $item['cost'] ?? 0;
- $enhanceLevel = $item['enhanceLevel'] ?? 0;
- $actualCost = max(1, $cost - ($enhanceLevel * 2));
- if ($enhanceLevel > 0) {
- $lines[] = $linePrefix . " " . self::$white . "消耗: " . self::$yellow . "{$cost}" . self::$reset . " → " . self::$green . "{$actualCost}" . self::$reset;
- } else {
- $lines[] = $linePrefix . " " . self::$white . "消耗: " . self::$green . "{$actualCost}" . self::$reset;
- }
- } else {
+ if ($type !== 'spell') {
// 装备显示:属性和词条
$statsStr = self::formatStatsCompact($item);
if ($statsStr) {
diff --git a/src/Core/SpellDisplay.php b/src/Core/SpellDisplay.php
index ddd8341..97678b9 100644
--- a/src/Core/SpellDisplay.php
+++ b/src/Core/SpellDisplay.php
@@ -377,4 +377,113 @@ class SpellDisplay
return $prefix . $color . $name . self::$reset . $enhanceStr .
" [消耗:{$cost} {$calcDesc}]";
}
+
+ /**
+ * 格式化法术的简洁信息(用于列表显示)
+ * 显示:[计算方式] 基础数值
+ */
+ public static function formatSpellCompact(array $spell): string
+ {
+ $calcType = $spell['calc_type'] ?? 'matk';
+ $spellType = $spell['spellType'] ?? $spell['type'] ?? 'unknown';
+
+ $calcTypeMap = [
+ 'matk' => '魔攻',
+ 'patk' => '物攻',
+ 'hybrid' => '混合',
+ 'hp_percent' => 'HP%',
+ 'crit_heal' => '暴治',
+ 'crit_damage' => '暴伤',
+ 'defense' => '防御',
+ 'low_def_bonus' => '克低防',
+ 'matk_scaled' => '群伤',
+ 'dispersed_damage' => '分散伤',
+ 'crit_aoe' => '暴范',
+ 'smart_heal' => '智能治',
+ 'hp_missing' => '缺血治',
+ 'team_sync' => '队伍同步',
+ ];
+
+ $calcDesc = $calcTypeMap[$calcType] ?? $calcType;
+
+ // 根据法术类型显示基础数值
+ $valueStr = '';
+ if ($spellType === 'damage_single' || $spellType === 'damage_aoe') {
+ $damageRatio = $spell['damage_ratio'] ?? [1.2, 1.6, 2.0, 2.6];
+ $qualityIndex = self::getQualityIndex($spell['quality'] ?? 'common');
+ $ratio = $damageRatio[$qualityIndex] ?? 1.0;
+ $valueStr = self::$green . "{$ratio}x" . self::$reset;
+ } elseif ($spellType === 'heal_single' || $spellType === 'heal_aoe') {
+ $healRatio = $spell['heal_ratio'] ?? [0.5, 0.8, 1.2, 1.8];
+ $qualityIndex = self::getQualityIndex($spell['quality'] ?? 'common');
+ $ratio = $healRatio[$qualityIndex] ?? 0.5;
+ $valueStr = self::$green . "{$ratio}x" . self::$reset;
+ }
+
+ return self::$cyan . "[{$calcDesc}]" . self::$reset . ($valueStr ? " " . $valueStr : "");
+ }
+
+ /**
+ * 渲染法术槽位信息(用于角色属性面板)
+ * 显示法术的计算方式、基础数值、消耗等详细信息
+ */
+ public static function renderSlot(string $slotName, array $spell, string $linePrefix = "║ "): array
+ {
+ $lines = [];
+
+ // 第一行:槽位名 + 法术名
+ $lines[] = $linePrefix . self::$cyan . $slotName . self::$reset . ": " . self::formatName($spell);
+
+ // 计算方式
+ $calcType = $spell['calc_type'] ?? 'matk';
+ $spellType = $spell['spellType'] ?? $spell['type'] ?? 'unknown';
+
+ // 计算方式的完整描述
+ $calcTypeDescMap = [
+ 'matk' => '基于魔攻',
+ 'patk' => '基于物攻',
+ 'hybrid' => '混合伤害',
+ 'hp_percent' => '基于HP%',
+ 'crit_heal' => '暴击治疗',
+ 'crit_damage' => '暴击伤害',
+ 'defense' => '基于防御',
+ 'low_def_bonus' => '克低防',
+ 'matk_scaled' => '群体伤害',
+ 'dispersed_damage' => '分散伤害',
+ 'crit_aoe' => '暴击范围',
+ 'smart_heal' => '智能治疗',
+ 'hp_missing' => '缺血治疗',
+ 'team_sync' => '队伍同步',
+ ];
+
+ $calcDesc = $calcTypeDescMap[$calcType] ?? $calcType;
+ $lines[] = $linePrefix . " " . self::$white . "计算: " . self::$green . $calcDesc . self::$reset;
+
+ // 显示基础数值
+ if ($spellType === 'damage_single' || $spellType === 'damage_aoe') {
+ $damageRatio = $spell['damage_ratio'] ?? [1.2, 1.6, 2.0, 2.6];
+ $qualityIndex = self::getQualityIndex($spell['quality'] ?? 'common');
+ $ratio = $damageRatio[$qualityIndex] ?? 1.0;
+ $lines[] = $linePrefix . " " . self::$white . "倍数: " . self::$yellow . "{$ratio}x" . self::$reset;
+ } elseif ($spellType === 'heal_single' || $spellType === 'heal_aoe') {
+ $healRatio = $spell['heal_ratio'] ?? [0.5, 0.8, 1.2, 1.8];
+ $healBase = $spell['heal_base'] ?? [20, 40, 70, 120];
+ $qualityIndex = self::getQualityIndex($spell['quality'] ?? 'common');
+ $ratio = $healRatio[$qualityIndex] ?? 0.5;
+ $base = $healBase[$qualityIndex] ?? 20;
+ $lines[] = $linePrefix . " " . self::$white . "治疗: " . self::$yellow . "{$ratio}x + {$base}" . self::$reset;
+ }
+
+ // 显示消耗
+ $cost = $spell['cost'] ?? 0;
+ $enhanceLevel = $spell['enhanceLevel'] ?? 0;
+ $actualCost = max(1, $cost - ($enhanceLevel * 2));
+ if ($enhanceLevel > 0) {
+ $lines[] = $linePrefix . " " . self::$white . "消耗: " . self::$yellow . "{$cost}" . self::$reset . " → " . self::$green . "{$actualCost}" . self::$reset;
+ } else {
+ $lines[] = $linePrefix . " " . self::$white . "消耗: " . self::$green . "{$actualCost}" . self::$reset;
+ }
+
+ return $lines;
+ }
}
diff --git a/src/Data/maps.php b/src/Data/maps.php
index 2e0d10d..f358329 100644
--- a/src/Data/maps.php
+++ b/src/Data/maps.php
@@ -107,10 +107,10 @@ return [
'spirit_stones' => 2,
'drops' => [
['type' => 'weapon', 'name' => '铁刀', 'rate' => 10] + $weaponTemplate,
- ['type' => 'consume', 'name' => '金疮药', 'rate' => 30, 'heal' => 30],
+ ['type' => 'consume', 'name' => '金疮药', 'rate' => 15, 'heal' => 30],
],
'spells' => [
- ['id' => 10, 'name' => '柔拳', 'rate' => 25],
+ ['id' => 10, 'name' => '柔拳', 'rate' => 10],
],
'weight' => 60,
],
@@ -126,11 +126,11 @@ return [
'spirit_stones' => 5,
'drops' => [
['type' => 'armor', 'name' => '皮甲', 'rate' => 10] + $armorTemplate,
- ['type' => 'consume', 'name' => '黄龙丹', 'rate' => 25, 'heal' => 50],
+ ['type' => 'consume', 'name' => '黄龙丹', 'rate' => 10, 'heal' => 50],
],
'spells' => [
- ['id' => 10, 'name' => '刀气切割', 'rate' => 30],
- ['id' => 20, 'name' => '寒冰爆裂', 'rate' => 25],
+ ['id' => 10, 'name' => '刀气切割', 'rate' => 15],
+ ['id' => 20, 'name' => '寒冰爆裂', 'rate' => 10],
],
'minions' => [
['name' => '野狼帮帮众', 'hp' => 30, 'patk' => 5, 'matk' => 2, 'pdef' => 0, 'mdef' => 0, 'exp' => 10, 'count' => 2],
@@ -148,14 +148,14 @@ return [
'exp' => 100,
'spirit_stones' => 20,
'drops' => [
- ['type' => 'weapon', 'name' => '眨眼剑法', 'quality' => 'rare', 'patk' => 15, 'rate' => 20],
+ ['type' => 'weapon', 'name' => '眨眼剑法', 'quality' => 'rare', 'patk' => 15, 'rate' => 8],
['type' => 'necklace', 'name' => '长生锁', 'rate' => 15] + $necklaceTemplate,
['type' => 'consume', 'name' => '清灵散', 'rate' => 40, 'heal' => 80],
],
'spells' => [
- ['id' => 1, 'name' => '妙手回春', 'rate' => 30],
- ['id' => 2, 'name' => '舍身救人', 'rate' => 25],
- ['id' => 30, 'name' => '集体治疗', 'rate' => 20],
+ ['id' => 1, 'name' => '妙手回春', 'rate' => 15],
+ ['id' => 2, 'name' => '舍身救人', 'rate' => 10],
+ ['id' => 30, 'name' => '集体治疗', 'rate' => 8],
],
'weight' => 10,
],
@@ -178,11 +178,11 @@ return [
'spirit_stones' => 10,
'drops' => [
['type' => 'weapon', 'name' => '法器残片', 'rate' => 15] + $weaponTemplate,
- ['type' => 'consume', 'name' => '辟谷丹', 'rate' => 30, 'heal' => 60],
+ ['type' => 'consume', 'name' => '辟谷丹', 'rate' => 15, 'heal' => 60],
],
'spells' => [
- ['id' => 10, 'name' => '初级火焰术', 'rate' => 30],
- ['id' => 11, 'name' => '寒冰之术', 'rate' => 25],
+ ['id' => 10, 'name' => '初级火焰术', 'rate' => 15],
+ ['id' => 11, 'name' => '寒冰之术', 'rate' => 10],
],
'weight' => 50,
],
@@ -201,8 +201,8 @@ return [
['type' => 'boots', 'name' => '神行靴', 'rate' => 10] + $bootsTemplate,
],
'spells' => [
- ['id' => 10, 'name' => '火焰冲击', 'rate' => 30],
- ['id' => 30, 'name' => '防护光环', 'rate' => 25],
+ ['id' => 10, 'name' => '火焰冲击', 'rate' => 15],
+ ['id' => 30, 'name' => '防护光环', 'rate' => 10],
],
'weight' => 35,
],
@@ -217,14 +217,14 @@ return [
'exp' => 150,
'spirit_stones' => 40,
'drops' => [
- ['type' => 'weapon', 'name' => '青叶法器', 'quality' => 'rare', 'matk' => 25, 'rate' => 20],
+ ['type' => 'weapon', 'name' => '青叶法器', 'quality' => 'rare', 'matk' => 25, 'rate' => 8],
['type' => 'ring', 'name' => '储物戒', 'rate' => 15] + $ringTemplate,
- ['type' => 'consume', 'name' => '合气丹', 'rate' => 30, 'heal' => 100],
+ ['type' => 'consume', 'name' => '合气丹', 'rate' => 15, 'heal' => 100],
],
'spells' => [
- ['id' => 10, 'name' => '炎火术', 'rate' => 30],
- ['id' => 11, 'name' => '冰魄术', 'rate' => 25],
- ['id' => 12, 'name' => '雷刹术', 'rate' => 20],
+ ['id' => 10, 'name' => '炎火术', 'rate' => 15],
+ ['id' => 11, 'name' => '冰魄术', 'rate' => 10],
+ ['id' => 12, 'name' => '雷刹术', 'rate' => 8],
['id' => 20, 'name' => '冰暴术', 'rate' => 15],
],
'weight' => 15,
@@ -247,11 +247,11 @@ return [
'exp' => 60,
'spirit_stones' => 20,
'drops' => [
- ['type' => 'consume', 'name' => '紫猴花', 'rate' => 25, 'heal' => 120],
+ ['type' => 'consume', 'name' => '紫猴花', 'rate' => 10, 'heal' => 120],
],
'spells' => [
- ['id' => 10, 'name' => '兽火喷射', 'rate' => 30],
- ['id' => 20, 'name' => '野兽嚎叫', 'rate' => 25],
+ ['id' => 10, 'name' => '兽火喷射', 'rate' => 15],
+ ['id' => 20, 'name' => '野兽嚎叫', 'rate' => 10],
],
'weight' => 50,
],
@@ -270,9 +270,9 @@ return [
['type' => 'armor', 'name' => '掩月法袍', 'rate' => 15] + $armorTemplate,
],
'spells' => [
- ['id' => 11, 'name' => '月影冰术', 'rate' => 30],
- ['id' => 20, 'name' => '月光雹', 'rate' => 25],
- ['id' => 1, 'name' => '月华治愈', 'rate' => 20],
+ ['id' => 11, 'name' => '月影冰术', 'rate' => 15],
+ ['id' => 20, 'name' => '月光雹', 'rate' => 10],
+ ['id' => 1, 'name' => '月华治愈', 'rate' => 8],
],
'weight' => 35,
],
@@ -292,9 +292,9 @@ return [
['type' => 'consume', 'name' => '筑基丹', 'rate' => 50, 'heal' => 500],
],
'spells' => [
- ['id' => 11, 'name' => '墨液冰锥', 'rate' => 30],
- ['id' => 20, 'name' => '墨蛟冰雹', 'rate' => 25],
- ['id' => 22, 'name' => '墨影流星', 'rate' => 20],
+ ['id' => 11, 'name' => '墨液冰锥', 'rate' => 15],
+ ['id' => 20, 'name' => '墨蛟冰雹', 'rate' => 10],
+ ['id' => 22, 'name' => '墨影流星', 'rate' => 8],
['id' => 30, 'name' => '蛟龙防御', 'rate' => 15],
['id' => 1, 'name' => '生命恢复', 'rate' => 10],
],
@@ -322,11 +322,11 @@ return [
'spirit_stones' => 30,
'drops' => [
['type' => 'weapon', 'name' => '黄枫剑', 'rate' => 15] + $weaponTemplate,
- ['type' => 'consume', 'name' => '黄龙丹', 'rate' => 30, 'heal' => 150],
+ ['type' => 'consume', 'name' => '黄龙丹', 'rate' => 15, 'heal' => 150],
],
'spells' => [
- ['id' => 10, 'name' => '黄枫剑气', 'rate' => 30],
- ['id' => 30, 'name' => '枫叶守护', 'rate' => 25],
+ ['id' => 10, 'name' => '黄枫剑气', 'rate' => 15],
+ ['id' => 30, 'name' => '枫叶守护', 'rate' => 10],
],
'weight' => 50,
],
@@ -345,9 +345,9 @@ return [
['type' => 'boots', 'name' => '执法靴', 'rate' => 12] + $bootsTemplate,
],
'spells' => [
- ['id' => 10, 'name' => '执法烈火', 'rate' => 30],
- ['id' => 20, 'name' => '冰雨惩罚', 'rate' => 25],
- ['id' => 30, 'name' => '铁血护盾', 'rate' => 20],
+ ['id' => 10, 'name' => '执法烈火', 'rate' => 15],
+ ['id' => 20, 'name' => '冰雨惩罚', 'rate' => 10],
+ ['id' => 30, 'name' => '铁血护盾', 'rate' => 8],
],
'weight' => 35,
],
@@ -362,14 +362,14 @@ return [
'exp' => 400,
'spirit_stones' => 150,
'drops' => [
- ['type' => 'weapon', 'name' => '烈焰刀', 'quality' => 'epic', 'patk' => 50, 'matk' => 30, 'rate' => 20],
- ['type' => 'ring', 'name' => '传音符', 'rate' => 20] + $ringTemplate,
+ ['type' => 'weapon', 'name' => '烈焰刀', 'quality' => 'epic', 'patk' => 50, 'matk' => 30, 'rate' => 8],
+ ['type' => 'ring', 'name' => '传音符', 'rate' => 8] + $ringTemplate,
['type' => 'consume', 'name' => '定颜丹', 'rate' => 10, 'heal' => 800],
],
'spells' => [
- ['id' => 13, 'name' => '烈焰焚天', 'rate' => 30],
- ['id' => 22, 'name' => '流星雨击', 'rate' => 25],
- ['id' => 32, 'name' => '圣灵保护', 'rate' => 20],
+ ['id' => 13, 'name' => '烈焰焚天', 'rate' => 15],
+ ['id' => 22, 'name' => '流星雨击', 'rate' => 10],
+ ['id' => 32, 'name' => '圣灵保护', 'rate' => 8],
['id' => 1, 'name' => '疗伤术', 'rate' => 15],
['id' => 30, 'name' => '大地庇护', 'rate' => 10],
],
@@ -394,11 +394,11 @@ return [
'spirit_stones' => 50,
'drops' => [
['type' => 'weapon', 'name' => '魔刃', 'rate' => 15] + $weaponTemplate,
- ['type' => 'consume', 'name' => '血煞丹', 'rate' => 30, 'heal' => 200],
+ ['type' => 'consume', 'name' => '血煞丹', 'rate' => 15, 'heal' => 200],
],
'spells' => [
- ['id' => 10, 'name' => '邪火燎原', 'rate' => 30],
- ['id' => 20, 'name' => '魔冰风暴', 'rate' => 25],
+ ['id' => 10, 'name' => '邪火燎原', 'rate' => 15],
+ ['id' => 20, 'name' => '魔冰风暴', 'rate' => 10],
],
'weight' => 50,
],
@@ -417,9 +417,9 @@ return [
['type' => 'necklace', 'name' => '聚魂珠', 'rate' => 12] + $necklaceTemplate,
],
'spells' => [
- ['id' => 11, 'name' => '冥界冰刺', 'rate' => 30],
- ['id' => 21, 'name' => '炎爆诅咒', 'rate' => 25],
- ['id' => 34, 'name' => '幽冥护盾', 'rate' => 20],
+ ['id' => 11, 'name' => '冥界冰刺', 'rate' => 15],
+ ['id' => 21, 'name' => '炎爆诅咒', 'rate' => 10],
+ ['id' => 34, 'name' => '幽冥护盾', 'rate' => 8],
],
'weight' => 35,
],
@@ -434,14 +434,14 @@ return [
'exp' => 600,
'spirit_stones' => 250,
'drops' => [
- ['type' => 'weapon', 'name' => '血灵钻', 'quality' => 'epic', 'matk' => 100, 'rate' => 20],
- ['type' => 'armor', 'name' => '血灵甲', 'quality' => 'epic', 'pdef' => 40, 'mdef' => 30, 'rate' => 20],
- ['type' => 'consume', 'name' => '血灵丹', 'rate' => 30, 'heal' => 1000],
+ ['type' => 'weapon', 'name' => '血灵钻', 'quality' => 'epic', 'matk' => 100, 'rate' => 8],
+ ['type' => 'armor', 'name' => '血灵甲', 'quality' => 'epic', 'pdef' => 40, 'mdef' => 30, 'rate' => 8],
+ ['type' => 'consume', 'name' => '血灵丹', 'rate' => 15, 'heal' => 1000],
],
'spells' => [
- ['id' => 12, 'name' => '王蝉鸣雷', 'rate' => 30],
- ['id' => 23, 'name' => '灭世风暴', 'rate' => 25],
- ['id' => 24, 'name' => '末日火雨', 'rate' => 20],
+ ['id' => 12, 'name' => '王蝉鸣雷', 'rate' => 15],
+ ['id' => 23, 'name' => '灭世风暴', 'rate' => 10],
+ ['id' => 24, 'name' => '末日火雨', 'rate' => 8],
['id' => 35, 'name' => '血魔复生', 'rate' => 15],
['id' => 4, 'name' => '生命泉涌', 'rate' => 10],
],
@@ -469,8 +469,8 @@ return [
['type' => 'armor', 'name' => '金甲', 'rate' => 15] + $armorTemplate,
],
'spells' => [
- ['id' => 13, 'name' => '帝王烈焰', 'rate' => 30],
- ['id' => 30, 'name' => '皇权庇护', 'rate' => 25],
+ ['id' => 13, 'name' => '帝王烈焰', 'rate' => 15],
+ ['id' => 30, 'name' => '皇权庇护', 'rate' => 10],
],
'weight' => 50,
],
@@ -486,12 +486,12 @@ return [
'spirit_stones' => 120,
'drops' => [
['type' => 'weapon', 'name' => '血刀', 'rate' => 18] + $weaponTemplate,
- ['type' => 'consume', 'name' => '狂暴丹', 'rate' => 30, 'heal' => 400],
+ ['type' => 'consume', 'name' => '狂暴丹', 'rate' => 15, 'heal' => 400],
],
'spells' => [
- ['id' => 14, 'name' => '诛仙剑气', 'rate' => 30],
- ['id' => 24, 'name' => '末日炼狱', 'rate' => 25],
- ['id' => 35, 'name' => '血魂同盟', 'rate' => 20],
+ ['id' => 14, 'name' => '诛仙剑气', 'rate' => 15],
+ ['id' => 24, 'name' => '末日炼狱', 'rate' => 10],
+ ['id' => 35, 'name' => '血魂同盟', 'rate' => 8],
],
'weight' => 35,
],
@@ -508,12 +508,12 @@ return [
'drops' => [
['type' => 'weapon', 'name' => '青元剑', 'quality' => 'legendary', 'patk' => 100, 'matk' => 80, 'rate' => 15],
['type' => 'consume', 'name' => '虚天鼎碎片', 'rate' => 10, 'heal' => 2000], // 剧情物品作为高回复药
- ['type' => 'ring', 'name' => '黑煞戒', 'rate' => 20] + $ringTemplate,
+ ['type' => 'ring', 'name' => '黑煞戒', 'rate' => 8] + $ringTemplate,
],
'spells' => [
- ['id' => 15, 'name' => '狂暴邪斩', 'rate' => 30],
- ['id' => 25, 'name' => '狂风灭世', 'rate' => 25],
- ['id' => 33, 'name' => '仙界诅咒', 'rate' => 20],
+ ['id' => 15, 'name' => '狂暴邪斩', 'rate' => 15],
+ ['id' => 25, 'name' => '狂风灭世', 'rate' => 10],
+ ['id' => 33, 'name' => '仙界诅咒', 'rate' => 8],
['id' => 35, 'name' => '血煞永生', 'rate' => 15],
['id' => 6, 'name' => '暗夜疗愈', 'rate' => 10],
],
@@ -541,11 +541,11 @@ return [
'spirit_stones' => 150,
'drops' => [
['type' => 'weapon', 'name' => '骨棒', 'rate' => 15] + $weaponTemplate,
- ['type' => 'consume', 'name' => '海灵液', 'rate' => 30, 'heal' => 500],
+ ['type' => 'consume', 'name' => '海灵液', 'rate' => 15, 'heal' => 500],
],
'spells' => [
- ['id' => 20, 'name' => '海洋冰雹', 'rate' => 30],
- ['id' => 25, 'name' => '波涛斩击', 'rate' => 25],
+ ['id' => 20, 'name' => '海洋冰雹', 'rate' => 15],
+ ['id' => 25, 'name' => '波涛斩击', 'rate' => 10],
],
'weight' => 50,
],
@@ -564,8 +564,8 @@ return [
['type' => 'necklace', 'name' => '避水珠', 'rate' => 12] + $necklaceTemplate,
],
'spells' => [
- ['id' => 21, 'name' => '炎爆水雾', 'rate' => 30],
- ['id' => 30, 'name' => '水灵庇护', 'rate' => 25],
+ ['id' => 21, 'name' => '炎爆水雾', 'rate' => 15],
+ ['id' => 30, 'name' => '水灵庇护', 'rate' => 10],
],
'weight' => 35,
],
@@ -580,14 +580,14 @@ return [
'exp' => 1500,
'spirit_stones' => 600,
'drops' => [
- ['type' => 'weapon', 'name' => '引魂钟', 'quality' => 'epic', 'matk' => 200, 'rate' => 20],
+ ['type' => 'weapon', 'name' => '引魂钟', 'quality' => 'epic', 'matk' => 200, 'rate' => 8],
['type' => 'boots', 'name' => '踏浪靴', 'rate' => 15] + $bootsTemplate,
- ['type' => 'consume', 'name' => '降尘丹', 'rate' => 25, 'heal' => 1500],
+ ['type' => 'consume', 'name' => '降尘丹', 'rate' => 10, 'heal' => 1500],
],
'spells' => [
- ['id' => 22, 'name' => '水系流星', 'rate' => 30],
- ['id' => 23, 'name' => '沧海风暴', 'rate' => 25],
- ['id' => 35, 'name' => '灵魂共鸣', 'rate' => 20],
+ ['id' => 22, 'name' => '水系流星', 'rate' => 15],
+ ['id' => 23, 'name' => '沧海风暴', 'rate' => 10],
+ ['id' => 35, 'name' => '灵魂共鸣', 'rate' => 8],
['id' => 31, 'name' => '海王光环', 'rate' => 15],
],
'weight' => 15,
@@ -611,11 +611,11 @@ return [
'spirit_stones' => 300,
'drops' => [
['type' => 'weapon', 'name' => '傀儡弓', 'rate' => 15] + $weaponTemplate,
- ['type' => 'consume', 'name' => '灵石乳', 'rate' => 30, 'heal' => 800],
+ ['type' => 'consume', 'name' => '灵石乳', 'rate' => 15, 'heal' => 800],
],
'spells' => [
- ['id' => 12, 'name' => '傀儡雷击', 'rate' => 30],
- ['id' => 30, 'name' => '机械护盾', 'rate' => 25],
+ ['id' => 12, 'name' => '傀儡雷击', 'rate' => 15],
+ ['id' => 30, 'name' => '机械护盾', 'rate' => 10],
],
'weight' => 50,
],
@@ -634,9 +634,9 @@ return [
['type' => 'ring', 'name' => '分身戒', 'rate' => 12] + $ringTemplate,
],
'spells' => [
- ['id' => 14, 'name' => '剑仙降临', 'rate' => 30],
- ['id' => 23, 'name' => '灭世寂灭', 'rate' => 25],
- ['id' => 32, 'name' => '圣灵恩惠', 'rate' => 20],
+ ['id' => 14, 'name' => '剑仙降临', 'rate' => 15],
+ ['id' => 23, 'name' => '灭世寂灭', 'rate' => 10],
+ ['id' => 32, 'name' => '圣灵恩惠', 'rate' => 8],
],
'weight' => 35,
],
@@ -656,9 +656,9 @@ return [
['type' => 'necklace', 'name' => '虚天鼎', 'quality' => 'legendary', 'hp' => 2000, 'rate' => 5],
],
'spells' => [
- ['id' => 15, 'name' => '极阴邪斩', 'rate' => 30],
- ['id' => 24, 'name' => '末世冰狱', 'rate' => 25],
- ['id' => 33, 'name' => '仙界救赎', 'rate' => 20],
+ ['id' => 15, 'name' => '极阴邪斩', 'rate' => 15],
+ ['id' => 24, 'name' => '末世冰狱', 'rate' => 10],
+ ['id' => 33, 'name' => '仙界救赎', 'rate' => 8],
['id' => 35, 'name' => '永恒诅咒', 'rate' => 15],
['id' => 3, 'name' => '活力恢复', 'rate' => 10],
],
@@ -686,8 +686,8 @@ return [
['type' => 'consume', 'name' => '妖丹', 'rate' => 40, 'heal' => 1000],
],
'spells' => [
- ['id' => 11, 'name' => '妖冰刃', 'rate' => 30],
- ['id' => 20, 'name' => '妖兽雹', 'rate' => 25],
+ ['id' => 11, 'name' => '妖冰刃', 'rate' => 15],
+ ['id' => 20, 'name' => '妖兽雹', 'rate' => 10],
],
'weight' => 50,
],
@@ -706,9 +706,9 @@ return [
['type' => 'boots', 'name' => '风雷靴', 'rate' => 12] + $bootsTemplate,
],
'spells' => [
- ['id' => 12, 'name' => '雷鲸怒雷', 'rate' => 30],
- ['id' => 21, 'name' => '风暴洪流', 'rate' => 25],
- ['id' => 34, 'name' => '深海护盾', 'rate' => 20],
+ ['id' => 12, 'name' => '雷鲸怒雷', 'rate' => 15],
+ ['id' => 21, 'name' => '风暴洪流', 'rate' => 10],
+ ['id' => 34, 'name' => '深海护盾', 'rate' => 8],
],
'weight' => 35,
],
@@ -728,9 +728,9 @@ return [
['type' => 'consume', 'name' => '九曲灵参', 'rate' => 10, 'heal' => 5000],
],
'spells' => [
- ['id' => 15, 'name' => '蛟龙狂暴', 'rate' => 30],
- ['id' => 25, 'name' => '雷风灭世', 'rate' => 25],
- ['id' => 33, 'name' => '龙王救赎', 'rate' => 20],
+ ['id' => 15, 'name' => '蛟龙狂暴', 'rate' => 15],
+ ['id' => 25, 'name' => '雷风灭世', 'rate' => 10],
+ ['id' => 33, 'name' => '龙王救赎', 'rate' => 8],
['id' => 35, 'name' => '蛟龙之力', 'rate' => 15],
['id' => 2, 'name' => '生命转移', 'rate' => 10],
],
@@ -758,11 +758,11 @@ return [
'spirit_stones' => 800,
'drops' => [
['type' => 'weapon', 'name' => '狼牙匕', 'rate' => 15] + $weaponTemplate,
- ['type' => 'consume', 'name' => '灵液', 'rate' => 30, 'heal' => 1200],
+ ['type' => 'consume', 'name' => '灵液', 'rate' => 15, 'heal' => 1200],
],
'spells' => [
- ['id' => 10, 'name' => '狼焰咆哮', 'rate' => 30],
- ['id' => 20, 'name' => '月光寒冰', 'rate' => 25],
+ ['id' => 10, 'name' => '狼焰咆哮', 'rate' => 15],
+ ['id' => 20, 'name' => '月光寒冰', 'rate' => 10],
],
'weight' => 50,
],
@@ -781,9 +781,9 @@ return [
['type' => 'ring', 'name' => '长老戒', 'rate' => 12] + $ringTemplate,
],
'spells' => [
- ['id' => 13, 'name' => '长老烈焰', 'rate' => 30],
- ['id' => 22, 'name' => '宗门流星', 'rate' => 25],
- ['id' => 31, 'name' => '宗门护盾', 'rate' => 20],
+ ['id' => 13, 'name' => '长老烈焰', 'rate' => 15],
+ ['id' => 22, 'name' => '宗门流星', 'rate' => 10],
+ ['id' => 31, 'name' => '宗门护盾', 'rate' => 8],
],
'weight' => 35,
],
@@ -798,14 +798,14 @@ return [
'exp' => 5000,
'spirit_stones' => 2000,
'drops' => [
- ['type' => 'weapon', 'name' => '落云剑', 'quality' => 'epic', 'patk' => 350, 'matk' => 250, 'rate' => 20],
+ ['type' => 'weapon', 'name' => '落云剑', 'quality' => 'epic', 'patk' => 350, 'matk' => 250, 'rate' => 8],
['type' => 'necklace', 'name' => '定魂珠', 'rate' => 15] + $necklaceTemplate,
- ['type' => 'consume', 'name' => '培婴丹', 'rate' => 25, 'heal' => 3000],
+ ['type' => 'consume', 'name' => '培婴丹', 'rate' => 10, 'heal' => 3000],
],
'spells' => [
- ['id' => 14, 'name' => '剑仙之意', 'rate' => 30],
- ['id' => 24, 'name' => '风云诀', 'rate' => 25],
- ['id' => 33, 'name' => '救赎之力', 'rate' => 20],
+ ['id' => 14, 'name' => '剑仙之意', 'rate' => 15],
+ ['id' => 24, 'name' => '风云诀', 'rate' => 10],
+ ['id' => 33, 'name' => '救赎之力', 'rate' => 8],
['id' => 2, 'name' => '生命同盟', 'rate' => 15],
['id' => 32, 'name' => '圣灵护佑', 'rate' => 10],
],
@@ -830,11 +830,11 @@ return [
'spirit_stones' => 1200,
'drops' => [
['type' => 'weapon', 'name' => '魔魂刀', 'rate' => 15] + $weaponTemplate,
- ['type' => 'consume', 'name' => '魔髓钻', 'rate' => 20, 'heal' => 2000],
+ ['type' => 'consume', 'name' => '魔髓钻', 'rate' => 8, 'heal' => 2000],
],
'spells' => [
- ['id' => 14, 'name' => '古魔剑意', 'rate' => 30],
- ['id' => 21, 'name' => '魔火爆裂', 'rate' => 25],
+ ['id' => 14, 'name' => '古魔剑意', 'rate' => 15],
+ ['id' => 21, 'name' => '魔火爆裂', 'rate' => 10],
],
'weight' => 50,
],
@@ -853,9 +853,9 @@ return [
['type' => 'boots', 'name' => '虚空靴', 'rate' => 12] + $bootsTemplate,
],
'spells' => [
- ['id' => 23, 'name' => '空间风暴', 'rate' => 30],
- ['id' => 35, 'name' => '虚空之力', 'rate' => 25],
- ['id' => 30, 'name' => '空间护盾', 'rate' => 20],
+ ['id' => 23, 'name' => '空间风暴', 'rate' => 15],
+ ['id' => 35, 'name' => '虚空之力', 'rate' => 10],
+ ['id' => 30, 'name' => '空间护盾', 'rate' => 8],
],
'weight' => 35,
],
@@ -872,12 +872,12 @@ return [
'drops' => [
['type' => 'weapon', 'name' => '黑风旗', 'quality' => 'legendary', 'matk' => 800, 'rate' => 15],
['type' => 'armor', 'name' => '魔龙甲', 'quality' => 'legendary', 'pdef' => 350, 'mdef' => 250, 'rate' => 15],
- ['type' => 'consume', 'name' => '万年灵乳', 'rate' => 20, 'heal' => 8000],
+ ['type' => 'consume', 'name' => '万年灵乳', 'rate' => 8, 'heal' => 8000],
],
'spells' => [
- ['id' => 15, 'name' => '古魔灭世', 'rate' => 30],
- ['id' => 25, 'name' => '狂风魔力', 'rate' => 25],
- ['id' => 34, 'name' => '古魔护盾', 'rate' => 20],
+ ['id' => 15, 'name' => '古魔灭世', 'rate' => 15],
+ ['id' => 25, 'name' => '狂风魔力', 'rate' => 10],
+ ['id' => 34, 'name' => '古魔护盾', 'rate' => 8],
['id' => 35, 'name' => '魔界永恒', 'rate' => 15],
['id' => 4, 'name' => '魔泉生命', 'rate' => 10],
],
@@ -905,11 +905,11 @@ return [
'spirit_stones' => 2000,
'drops' => [
['type' => 'weapon', 'name' => '晶砖', 'rate' => 15] + $weaponTemplate,
- ['type' => 'consume', 'name' => '灵烛果', 'rate' => 30, 'heal' => 3000],
+ ['type' => 'consume', 'name' => '灵烛果', 'rate' => 15, 'heal' => 3000],
],
'spells' => [
- ['id' => 13, 'name' => '晶体烈焰', 'rate' => 30],
- ['id' => 20, 'name' => '灵山冰雹', 'rate' => 25],
+ ['id' => 13, 'name' => '晶体烈焰', 'rate' => 15],
+ ['id' => 20, 'name' => '灵山冰雹', 'rate' => 10],
],
'weight' => 50,
],
@@ -928,9 +928,9 @@ return [
['type' => 'necklace', 'name' => '夜叉链', 'rate' => 12] + $necklaceTemplate,
],
'spells' => [
- ['id' => 14, 'name' => '夜叉剑术', 'rate' => 30],
- ['id' => 23, 'name' => '虚空风暴', 'rate' => 25],
- ['id' => 35, 'name' => '天罚之力', 'rate' => 20],
+ ['id' => 14, 'name' => '夜叉剑术', 'rate' => 15],
+ ['id' => 23, 'name' => '虚空风暴', 'rate' => 10],
+ ['id' => 35, 'name' => '天罚之力', 'rate' => 8],
],
'weight' => 35,
],
@@ -950,9 +950,9 @@ return [
['type' => 'consume', 'name' => '回阳水', 'rate' => 10, 'heal' => 10000],
],
'spells' => [
- ['id' => 15, 'name' => '元刹灭世', 'rate' => 30],
- ['id' => 25, 'name' => '永恒灭亡', 'rate' => 25],
- ['id' => 33, 'name' => '圣祖救赎', 'rate' => 20],
+ ['id' => 15, 'name' => '元刹灭世', 'rate' => 15],
+ ['id' => 25, 'name' => '永恒灭亡', 'rate' => 10],
+ ['id' => 33, 'name' => '圣祖救赎', 'rate' => 8],
['id' => 34, 'name' => '永生护盾', 'rate' => 15],
['id' => 5, 'name' => '暴击疗愈', 'rate' => 10],
],
@@ -980,8 +980,8 @@ return [
['type' => 'boots', 'name' => '破空靴', 'rate' => 12] + $bootsTemplate,
],
'spells' => [
- ['id' => 12, 'name' => '虚空雷击', 'rate' => 30],
- ['id' => 20, 'name' => '虚空冰雹', 'rate' => 25],
+ ['id' => 12, 'name' => '虚空雷击', 'rate' => 15],
+ ['id' => 20, 'name' => '虚空冰雹', 'rate' => 10],
],
'weight' => 50,
],
@@ -997,12 +997,12 @@ return [
'spirit_stones' => 4500,
'drops' => [
['type' => 'armor', 'name' => '风暴甲', 'rate' => 15] + $armorTemplate,
- ['type' => 'consume', 'name' => '空间晶石', 'rate' => 30, 'heal' => 5000],
+ ['type' => 'consume', 'name' => '空间晶石', 'rate' => 15, 'heal' => 5000],
],
'spells' => [
- ['id' => 23, 'name' => '灭世空间', 'rate' => 30],
- ['id' => 25, 'name' => '永恒风暴', 'rate' => 25],
- ['id' => 35, 'name' => '空间之力', 'rate' => 20],
+ ['id' => 23, 'name' => '灭世空间', 'rate' => 15],
+ ['id' => 25, 'name' => '永恒风暴', 'rate' => 10],
+ ['id' => 35, 'name' => '空间之力', 'rate' => 8],
],
'weight' => 35,
],
@@ -1017,14 +1017,14 @@ return [
'exp' => 30000,
'spirit_stones' => 15000,
'drops' => [
- ['type' => 'weapon', 'name' => '青竹蜂云剑', 'quality' => 'legendary', 'patk' => 1500, 'matk' => 1000, 'rate' => 20],
- ['type' => 'armor', 'name' => '五行甲', 'quality' => 'legendary', 'pdef' => 1000, 'mdef' => 1000, 'rate' => 20],
+ ['type' => 'weapon', 'name' => '青竹蜂云剑', 'quality' => 'legendary', 'patk' => 1500, 'matk' => 1000, 'rate' => 8],
+ ['type' => 'armor', 'name' => '五行甲', 'quality' => 'legendary', 'pdef' => 1000, 'mdef' => 1000, 'rate' => 8],
['type' => 'consume', 'name' => '飞升令', 'rate' => 100, 'heal' => 99999], // 象征性物品
],
'spells' => [
- ['id' => 15, 'name' => '凤凰灭世', 'rate' => 30],
- ['id' => 25, 'name' => '冰凤风暴', 'rate' => 25],
- ['id' => 33, 'name' => '永恒救赎', 'rate' => 20],
+ ['id' => 15, 'name' => '凤凰灭世', 'rate' => 15],
+ ['id' => 25, 'name' => '冰凤风暴', 'rate' => 10],
+ ['id' => 33, 'name' => '永恒救赎', 'rate' => 8],
['id' => 35, 'name' => '凤凰之力', 'rate' => 15],
['id' => 6, 'name' => '援护之术', 'rate' => 10],
],
diff --git a/src/Modules/InventoryPanel.php b/src/Modules/InventoryPanel.php
index e8ba2f7..eff6e89 100644
--- a/src/Modules/InventoryPanel.php
+++ b/src/Modules/InventoryPanel.php
@@ -88,8 +88,16 @@ class InventoryPanel
$index = $start + $i + 1;
- // 使用统一的装备显示
- $displayStr = ItemDisplay::renderListItem($item, true, true);
+ // 根据物品类型使用不同的显示方式
+ if (($item['type'] ?? '') === 'spell') {
+ // 法术使用 SpellDisplay 显示
+ $displayStr = ItemDisplay::renderListItem($item, true, true);
+ $spellInfo = SpellDisplay::formatSpellCompact($item);
+ $displayStr = trim($displayStr) . " " . $spellInfo;
+ } else {
+ // 装备使用 ItemDisplay 显示
+ $displayStr = ItemDisplay::renderListItem($item, true, true);
+ }
$out->writeln("[{$index}] {$displayStr}");
}
diff --git a/src/Modules/StatsPanel.php b/src/Modules/StatsPanel.php
index 8b705d6..976765b 100644
--- a/src/Modules/StatsPanel.php
+++ b/src/Modules/StatsPanel.php
@@ -248,7 +248,8 @@ class StatsPanel
foreach ($skillSlots as $slot) {
$spell = $actor->skillSlots[$slot] ?? null;
if ($spell) {
- $slotLines = ItemDisplay::renderSlot("技能{$skillIndex}", $spell, "║ [{$skillIndex}] ");
+ // 法术使用 SpellDisplay 显示
+ $slotLines = SpellDisplay::renderSlot("技能{$skillIndex}", $spell, "║ [{$skillIndex}] ");
foreach ($slotLines as $i => $line) {
if ($i === 0) {
$out->writeln($line);
diff --git a/test/Test.php b/test/Test.php
index 832f7bf..c572aed 100644
--- a/test/Test.php
+++ b/test/Test.php
@@ -3,4 +3,4 @@ require __DIR__ . '/../vendor/autoload.php';
$monster = \Game\Entities\Monster::create(1);
-dd($monster->getRandomSpellDrops());
\ No newline at end of file
+dd($monster->getRandomEquipmentDrops());
\ No newline at end of file