Compare commits
2 Commits
c2a2e93ff3
...
f703c6800c
| Author | SHA1 | Date | |
|---|---|---|---|
| f703c6800c | |||
| 0e6351d328 |
18
.idea/codeception.xml
Normal file
18
.idea/codeception.xml
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Codeception">
|
||||
<option name="configurations">
|
||||
<list>
|
||||
<Configuration>
|
||||
<option name="path" value="$PROJECT_DIR$/tests" />
|
||||
</Configuration>
|
||||
<Configuration>
|
||||
<option name="path" value="$PROJECT_DIR$/tests" />
|
||||
</Configuration>
|
||||
<Configuration>
|
||||
<option name="path" value="$PROJECT_DIR$/tests" />
|
||||
</Configuration>
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
|
|
@ -22,6 +22,7 @@
|
|||
<path value="$PROJECT_DIR$/vendor/composer" />
|
||||
<path value="$PROJECT_DIR$/vendor/psr/container" />
|
||||
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-mbstring" />
|
||||
<path value="$PROJECT_DIR$/vendor/symfony/var-dumper" />
|
||||
</include_path>
|
||||
</component>
|
||||
<component name="PhpProjectSharedConfiguration" php_language_level="8.0" />
|
||||
|
|
|
|||
16
.idea/phpspec.xml
Normal file
16
.idea/phpspec.xml
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="PHPSpec">
|
||||
<suites>
|
||||
<PhpSpecSuiteConfiguration>
|
||||
<option name="myPath" value="$PROJECT_DIR$" />
|
||||
</PhpSpecSuiteConfiguration>
|
||||
<PhpSpecSuiteConfiguration>
|
||||
<option name="myPath" value="$PROJECT_DIR$" />
|
||||
</PhpSpecSuiteConfiguration>
|
||||
<PhpSpecSuiteConfiguration>
|
||||
<option name="myPath" value="$PROJECT_DIR$" />
|
||||
</PhpSpecSuiteConfiguration>
|
||||
</suites>
|
||||
</component>
|
||||
</project>
|
||||
10
.idea/phpunit.xml
Normal file
10
.idea/phpunit.xml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="PHPUnit">
|
||||
<option name="directories">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/tests" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/vcs.xml
Normal file
6
.idea/vcs.xml
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
|
|
@ -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,18 +230,18 @@ class ItemDisplay
|
|||
// 主属性(简洁版)或法术信息
|
||||
$type = $item['type'] ?? '';
|
||||
if ($type === 'spell') {
|
||||
// 显示法术的计算方式和基础数值
|
||||
$spellInfo = self::formatSpellCompact($item);
|
||||
if ($spellInfo) {
|
||||
$parts[] = $spellInfo;
|
||||
}
|
||||
// 法术显示由 SpellDisplay 处理(计算方式和基础数值)
|
||||
// 需要导入 SpellDisplay 后使用
|
||||
$statsStr = SpellDisplay::formatSpellCompact($item);
|
||||
// 为了向后兼容,使用内联逻辑(调用处应该使用 SpellDisplay)
|
||||
} else {
|
||||
// 显示装备的属性
|
||||
$statsStr = self::formatStatsCompact($item);
|
||||
|
||||
}
|
||||
if ($statsStr) {
|
||||
$parts[] = $statsStr;
|
||||
}
|
||||
}
|
||||
|
||||
// 词条数量提示(仅限装备)
|
||||
if ($type !== 'spell') {
|
||||
|
|
@ -406,9 +364,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 +383,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) {
|
||||
|
|
|
|||
|
|
@ -377,4 +377,109 @@ 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'];
|
||||
$valueStr = self::$green . "{$damageRatio}x" . self::$reset;
|
||||
} elseif ($spellType === 'heal_single' || $spellType === 'heal_aoe') {
|
||||
$healRatio = $spell['heal_ratio'];
|
||||
$valueStr = self::$green . "{$healRatio}x" . self::$reset;
|
||||
}
|
||||
|
||||
return self::$cyan . "[{$calcDesc}]" . self::$reset . $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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -106,8 +106,8 @@ return [
|
|||
'exp' => 10,
|
||||
'spirit_stones' => 2,
|
||||
'drops' => [
|
||||
['type' => 'weapon', 'name' => '铁刀', 'rate' => 10] + $weaponTemplate,
|
||||
['type' => 'consume', 'name' => '金疮药', 'rate' => 30, 'heal' => 30],
|
||||
['type' => 'weapon', 'name' => '铁刀', 'rate' => 25] + $weaponTemplate,
|
||||
['type' => 'consume', 'name' => '金疮药', 'rate' => 20, 'heal' => 30],
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 10, 'name' => '柔拳', 'rate' => 25],
|
||||
|
|
@ -125,11 +125,11 @@ return [
|
|||
'exp' => 20,
|
||||
'spirit_stones' => 5,
|
||||
'drops' => [
|
||||
['type' => 'armor', 'name' => '皮甲', 'rate' => 10] + $armorTemplate,
|
||||
['type' => 'armor', 'name' => '皮甲', 'rate' => 25] + $armorTemplate,
|
||||
['type' => 'consume', 'name' => '黄龙丹', 'rate' => 25, 'heal' => 50],
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 10, 'name' => '刀气切割', 'rate' => 30],
|
||||
['id' => 10, 'name' => '刀气切割', 'rate' => 20],
|
||||
['id' => 20, 'name' => '寒冰爆裂', 'rate' => 25],
|
||||
],
|
||||
'minions' => [
|
||||
|
|
@ -148,14 +148,14 @@ return [
|
|||
'exp' => 100,
|
||||
'spirit_stones' => 20,
|
||||
'drops' => [
|
||||
['type' => 'weapon', 'name' => '眨眼剑法', 'quality' => 'rare', 'patk' => 15, 'rate' => 20],
|
||||
['type' => 'necklace', 'name' => '长生锁', 'rate' => 15] + $necklaceTemplate,
|
||||
['type' => 'weapon', 'name' => '眨眼剑法', 'quality' => 'rare', 'patk' => 15, 'rate' => 15],
|
||||
['type' => 'necklace', 'name' => '长生锁', 'rate' => 20] + $necklaceTemplate,
|
||||
['type' => 'consume', 'name' => '清灵散', 'rate' => 40, 'heal' => 80],
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 1, 'name' => '妙手回春', 'rate' => 30],
|
||||
['id' => 1, 'name' => '妙手回春', 'rate' => 20],
|
||||
['id' => 2, 'name' => '舍身救人', 'rate' => 25],
|
||||
['id' => 30, 'name' => '集体治疗', 'rate' => 20],
|
||||
['id' => 30, 'name' => '集体治疗', 'rate' => 15],
|
||||
],
|
||||
'weight' => 10,
|
||||
],
|
||||
|
|
@ -177,11 +177,11 @@ return [
|
|||
'exp' => 35,
|
||||
'spirit_stones' => 10,
|
||||
'drops' => [
|
||||
['type' => 'weapon', 'name' => '法器残片', 'rate' => 15] + $weaponTemplate,
|
||||
['type' => 'consume', 'name' => '辟谷丹', 'rate' => 30, 'heal' => 60],
|
||||
['type' => 'weapon', 'name' => '法器残片', 'rate' => 20] + $weaponTemplate,
|
||||
['type' => 'consume', 'name' => '辟谷丹', 'rate' => 20, 'heal' => 60],
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 10, 'name' => '初级火焰术', 'rate' => 30],
|
||||
['id' => 10, 'name' => '初级火焰术', 'rate' => 20],
|
||||
['id' => 11, 'name' => '寒冰之术', 'rate' => 25],
|
||||
],
|
||||
'weight' => 50,
|
||||
|
|
@ -197,11 +197,11 @@ return [
|
|||
'exp' => 50,
|
||||
'spirit_stones' => 15,
|
||||
'drops' => [
|
||||
['type' => 'armor', 'name' => '青布衫', 'rate' => 15] + $armorTemplate,
|
||||
['type' => 'boots', 'name' => '神行靴', 'rate' => 10] + $bootsTemplate,
|
||||
['type' => 'armor', 'name' => '青布衫', 'rate' => 20] + $armorTemplate,
|
||||
['type' => 'boots', 'name' => '神行靴', 'rate' => 25] + $bootsTemplate,
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 10, 'name' => '火焰冲击', 'rate' => 30],
|
||||
['id' => 10, 'name' => '火焰冲击', 'rate' => 20],
|
||||
['id' => 30, 'name' => '防护光环', 'rate' => 25],
|
||||
],
|
||||
'weight' => 35,
|
||||
|
|
@ -217,15 +217,15 @@ return [
|
|||
'exp' => 150,
|
||||
'spirit_stones' => 40,
|
||||
'drops' => [
|
||||
['type' => 'weapon', 'name' => '青叶法器', 'quality' => 'rare', 'matk' => 25, 'rate' => 20],
|
||||
['type' => 'ring', 'name' => '储物戒', 'rate' => 15] + $ringTemplate,
|
||||
['type' => 'consume', 'name' => '合气丹', 'rate' => 30, 'heal' => 100],
|
||||
['type' => 'weapon', 'name' => '青叶法器', 'quality' => 'rare', 'matk' => 25, 'rate' => 15],
|
||||
['type' => 'ring', 'name' => '储物戒', 'rate' => 20] + $ringTemplate,
|
||||
['type' => 'consume', 'name' => '合气丹', 'rate' => 20, 'heal' => 100],
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 10, 'name' => '炎火术', 'rate' => 30],
|
||||
['id' => 10, 'name' => '炎火术', 'rate' => 20],
|
||||
['id' => 11, 'name' => '冰魄术', 'rate' => 25],
|
||||
['id' => 12, 'name' => '雷刹术', 'rate' => 20],
|
||||
['id' => 20, 'name' => '冰暴术', 'rate' => 15],
|
||||
['id' => 12, 'name' => '雷刹术', 'rate' => 15],
|
||||
['id' => 20, 'name' => '冰暴术', 'rate' => 20],
|
||||
],
|
||||
'weight' => 15,
|
||||
],
|
||||
|
|
@ -250,7 +250,7 @@ return [
|
|||
['type' => 'consume', 'name' => '紫猴花', 'rate' => 25, 'heal' => 120],
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 10, 'name' => '兽火喷射', 'rate' => 30],
|
||||
['id' => 10, 'name' => '兽火喷射', 'rate' => 20],
|
||||
['id' => 20, 'name' => '野兽嚎叫', 'rate' => 25],
|
||||
],
|
||||
'weight' => 50,
|
||||
|
|
@ -266,13 +266,13 @@ return [
|
|||
'exp' => 80,
|
||||
'spirit_stones' => 30,
|
||||
'drops' => [
|
||||
['type' => 'weapon', 'name' => '月刃', 'rate' => 15] + $weaponTemplate,
|
||||
['type' => 'armor', 'name' => '掩月法袍', 'rate' => 15] + $armorTemplate,
|
||||
['type' => 'weapon', 'name' => '月刃', 'rate' => 20] + $weaponTemplate,
|
||||
['type' => 'armor', 'name' => '掩月法袍', 'rate' => 20] + $armorTemplate,
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 11, 'name' => '月影冰术', 'rate' => 30],
|
||||
['id' => 11, 'name' => '月影冰术', 'rate' => 20],
|
||||
['id' => 20, 'name' => '月光雹', 'rate' => 25],
|
||||
['id' => 1, 'name' => '月华治愈', 'rate' => 20],
|
||||
['id' => 1, 'name' => '月华治愈', 'rate' => 15],
|
||||
],
|
||||
'weight' => 35,
|
||||
],
|
||||
|
|
@ -287,16 +287,16 @@ return [
|
|||
'exp' => 300,
|
||||
'spirit_stones' => 100,
|
||||
'drops' => [
|
||||
['type' => 'weapon', 'name' => '金竺笔', 'quality' => 'epic', 'matk' => 45, 'rate' => 15],
|
||||
['type' => 'armor', 'name' => '墨蛟甲', 'quality' => 'epic', 'pdef' => 20, 'mdef' => 15, 'rate' => 15],
|
||||
['type' => 'weapon', 'name' => '金竺笔', 'quality' => 'epic', 'matk' => 45, 'rate' => 20],
|
||||
['type' => 'armor', 'name' => '墨蛟甲', 'quality' => 'epic', 'pdef' => 20, 'mdef' => 15, 'rate' => 20],
|
||||
['type' => 'consume', 'name' => '筑基丹', 'rate' => 50, 'heal' => 500],
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 11, 'name' => '墨液冰锥', 'rate' => 30],
|
||||
['id' => 11, 'name' => '墨液冰锥', 'rate' => 20],
|
||||
['id' => 20, 'name' => '墨蛟冰雹', 'rate' => 25],
|
||||
['id' => 22, 'name' => '墨影流星', 'rate' => 20],
|
||||
['id' => 30, 'name' => '蛟龙防御', 'rate' => 15],
|
||||
['id' => 1, 'name' => '生命恢复', 'rate' => 10],
|
||||
['id' => 22, 'name' => '墨影流星', 'rate' => 15],
|
||||
['id' => 30, 'name' => '蛟龙防御', 'rate' => 20],
|
||||
['id' => 1, 'name' => '生命恢复', 'rate' => 25],
|
||||
],
|
||||
'weight' => 15,
|
||||
],
|
||||
|
|
@ -321,11 +321,11 @@ return [
|
|||
'exp' => 100,
|
||||
'spirit_stones' => 30,
|
||||
'drops' => [
|
||||
['type' => 'weapon', 'name' => '黄枫剑', 'rate' => 15] + $weaponTemplate,
|
||||
['type' => 'consume', 'name' => '黄龙丹', 'rate' => 30, 'heal' => 150],
|
||||
['type' => 'weapon', 'name' => '黄枫剑', 'rate' => 20] + $weaponTemplate,
|
||||
['type' => 'consume', 'name' => '黄龙丹', 'rate' => 20, 'heal' => 150],
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 10, 'name' => '黄枫剑气', 'rate' => 30],
|
||||
['id' => 10, 'name' => '黄枫剑气', 'rate' => 20],
|
||||
['id' => 30, 'name' => '枫叶守护', 'rate' => 25],
|
||||
],
|
||||
'weight' => 50,
|
||||
|
|
@ -341,13 +341,13 @@ return [
|
|||
'exp' => 140,
|
||||
'spirit_stones' => 45,
|
||||
'drops' => [
|
||||
['type' => 'armor', 'name' => '执法甲', 'rate' => 15] + $armorTemplate,
|
||||
['type' => 'boots', 'name' => '执法靴', 'rate' => 12] + $bootsTemplate,
|
||||
['type' => 'armor', 'name' => '执法甲', 'rate' => 20] + $armorTemplate,
|
||||
['type' => 'boots', 'name' => '执法靴', 'rate' => 20] + $bootsTemplate,
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 10, 'name' => '执法烈火', 'rate' => 30],
|
||||
['id' => 10, 'name' => '执法烈火', 'rate' => 20],
|
||||
['id' => 20, 'name' => '冰雨惩罚', 'rate' => 25],
|
||||
['id' => 30, 'name' => '铁血护盾', 'rate' => 20],
|
||||
['id' => 30, 'name' => '铁血护盾', 'rate' => 15],
|
||||
],
|
||||
'weight' => 35,
|
||||
],
|
||||
|
|
@ -362,16 +362,16 @@ 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' => 'consume', 'name' => '定颜丹', 'rate' => 10, 'heal' => 800],
|
||||
['type' => 'weapon', 'name' => '烈焰刀', 'quality' => 'epic', 'patk' => 50, 'matk' => 30, 'rate' => 15],
|
||||
['type' => 'ring', 'name' => '传音符', 'rate' => 15] + $ringTemplate,
|
||||
['type' => 'consume', 'name' => '定颜丹', 'rate' => 25, 'heal' => 800],
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 13, 'name' => '烈焰焚天', 'rate' => 30],
|
||||
['id' => 13, 'name' => '烈焰焚天', 'rate' => 20],
|
||||
['id' => 22, 'name' => '流星雨击', 'rate' => 25],
|
||||
['id' => 32, 'name' => '圣灵保护', 'rate' => 20],
|
||||
['id' => 1, 'name' => '疗伤术', 'rate' => 15],
|
||||
['id' => 30, 'name' => '大地庇护', 'rate' => 10],
|
||||
['id' => 32, 'name' => '圣灵保护', 'rate' => 15],
|
||||
['id' => 1, 'name' => '疗伤术', 'rate' => 20],
|
||||
['id' => 30, 'name' => '大地庇护', 'rate' => 25],
|
||||
],
|
||||
'weight' => 15,
|
||||
],
|
||||
|
|
@ -393,11 +393,11 @@ return [
|
|||
'exp' => 180,
|
||||
'spirit_stones' => 50,
|
||||
'drops' => [
|
||||
['type' => 'weapon', 'name' => '魔刃', 'rate' => 15] + $weaponTemplate,
|
||||
['type' => 'consume', 'name' => '血煞丹', 'rate' => 30, 'heal' => 200],
|
||||
['type' => 'weapon', 'name' => '魔刃', 'rate' => 20] + $weaponTemplate,
|
||||
['type' => 'consume', 'name' => '血煞丹', 'rate' => 20, 'heal' => 200],
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 10, 'name' => '邪火燎原', 'rate' => 30],
|
||||
['id' => 10, 'name' => '邪火燎原', 'rate' => 20],
|
||||
['id' => 20, 'name' => '魔冰风暴', 'rate' => 25],
|
||||
],
|
||||
'weight' => 50,
|
||||
|
|
@ -413,13 +413,13 @@ return [
|
|||
'exp' => 240,
|
||||
'spirit_stones' => 70,
|
||||
'drops' => [
|
||||
['type' => 'armor', 'name' => '鬼灵衣', 'rate' => 15] + $armorTemplate,
|
||||
['type' => 'necklace', 'name' => '聚魂珠', 'rate' => 12] + $necklaceTemplate,
|
||||
['type' => 'armor', 'name' => '鬼灵衣', 'rate' => 20] + $armorTemplate,
|
||||
['type' => 'necklace', 'name' => '聚魂珠', 'rate' => 20] + $necklaceTemplate,
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 11, 'name' => '冥界冰刺', 'rate' => 30],
|
||||
['id' => 11, 'name' => '冥界冰刺', 'rate' => 20],
|
||||
['id' => 21, 'name' => '炎爆诅咒', 'rate' => 25],
|
||||
['id' => 34, 'name' => '幽冥护盾', 'rate' => 20],
|
||||
['id' => 34, 'name' => '幽冥护盾', 'rate' => 15],
|
||||
],
|
||||
'weight' => 35,
|
||||
],
|
||||
|
|
@ -434,16 +434,16 @@ 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' => 15],
|
||||
['type' => 'armor', 'name' => '血灵甲', 'quality' => 'epic', 'pdef' => 40, 'mdef' => 30, 'rate' => 15],
|
||||
['type' => 'consume', 'name' => '血灵丹', 'rate' => 20, 'heal' => 1000],
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 12, 'name' => '王蝉鸣雷', 'rate' => 30],
|
||||
['id' => 12, 'name' => '王蝉鸣雷', 'rate' => 20],
|
||||
['id' => 23, 'name' => '灭世风暴', 'rate' => 25],
|
||||
['id' => 24, 'name' => '末日火雨', 'rate' => 20],
|
||||
['id' => 35, 'name' => '血魔复生', 'rate' => 15],
|
||||
['id' => 4, 'name' => '生命泉涌', 'rate' => 10],
|
||||
['id' => 24, 'name' => '末日火雨', 'rate' => 15],
|
||||
['id' => 35, 'name' => '血魔复生', 'rate' => 20],
|
||||
['id' => 4, 'name' => '生命泉涌', 'rate' => 25],
|
||||
],
|
||||
'weight' => 15,
|
||||
],
|
||||
|
|
@ -465,11 +465,11 @@ return [
|
|||
'exp' => 350,
|
||||
'spirit_stones' => 90,
|
||||
'drops' => [
|
||||
['type' => 'weapon', 'name' => '金瓜锤', 'rate' => 15] + $weaponTemplate,
|
||||
['type' => 'armor', 'name' => '金甲', 'rate' => 15] + $armorTemplate,
|
||||
['type' => 'weapon', 'name' => '金瓜锤', 'rate' => 20] + $weaponTemplate,
|
||||
['type' => 'armor', 'name' => '金甲', 'rate' => 20] + $armorTemplate,
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 13, 'name' => '帝王烈焰', 'rate' => 30],
|
||||
['id' => 13, 'name' => '帝王烈焰', 'rate' => 20],
|
||||
['id' => 30, 'name' => '皇权庇护', 'rate' => 25],
|
||||
],
|
||||
'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' => 20, 'heal' => 400],
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 14, 'name' => '诛仙剑气', 'rate' => 30],
|
||||
['id' => 14, 'name' => '诛仙剑气', 'rate' => 20],
|
||||
['id' => 24, 'name' => '末日炼狱', 'rate' => 25],
|
||||
['id' => 35, 'name' => '血魂同盟', 'rate' => 20],
|
||||
['id' => 35, 'name' => '血魂同盟', 'rate' => 15],
|
||||
],
|
||||
'weight' => 35,
|
||||
],
|
||||
|
|
@ -506,16 +506,16 @@ return [
|
|||
'exp' => 1000,
|
||||
'spirit_stones' => 400,
|
||||
'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' => 'weapon', 'name' => '青元剑', 'quality' => 'legendary', 'patk' => 100, 'matk' => 80, 'rate' => 20],
|
||||
['type' => 'consume', 'name' => '虚天鼎碎片', 'rate' => 25, 'heal' => 2000], // 剧情物品作为高回复药
|
||||
['type' => 'ring', 'name' => '黑煞戒', 'rate' => 15] + $ringTemplate,
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 15, 'name' => '狂暴邪斩', 'rate' => 30],
|
||||
['id' => 15, 'name' => '狂暴邪斩', 'rate' => 20],
|
||||
['id' => 25, 'name' => '狂风灭世', 'rate' => 25],
|
||||
['id' => 33, 'name' => '仙界诅咒', 'rate' => 20],
|
||||
['id' => 35, 'name' => '血煞永生', 'rate' => 15],
|
||||
['id' => 6, 'name' => '暗夜疗愈', 'rate' => 10],
|
||||
['id' => 33, 'name' => '仙界诅咒', 'rate' => 15],
|
||||
['id' => 35, 'name' => '血煞永生', 'rate' => 20],
|
||||
['id' => 6, 'name' => '暗夜疗愈', 'rate' => 25],
|
||||
],
|
||||
'weight' => 15,
|
||||
],
|
||||
|
|
@ -540,11 +540,11 @@ return [
|
|||
'exp' => 600,
|
||||
'spirit_stones' => 150,
|
||||
'drops' => [
|
||||
['type' => 'weapon', 'name' => '骨棒', 'rate' => 15] + $weaponTemplate,
|
||||
['type' => 'consume', 'name' => '海灵液', 'rate' => 30, 'heal' => 500],
|
||||
['type' => 'weapon', 'name' => '骨棒', 'rate' => 20] + $weaponTemplate,
|
||||
['type' => 'consume', 'name' => '海灵液', 'rate' => 20, 'heal' => 500],
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 20, 'name' => '海洋冰雹', 'rate' => 30],
|
||||
['id' => 20, 'name' => '海洋冰雹', 'rate' => 20],
|
||||
['id' => 25, 'name' => '波涛斩击', 'rate' => 25],
|
||||
],
|
||||
'weight' => 50,
|
||||
|
|
@ -560,11 +560,11 @@ return [
|
|||
'exp' => 800,
|
||||
'spirit_stones' => 200,
|
||||
'drops' => [
|
||||
['type' => 'armor', 'name' => '鱼鳞甲', 'rate' => 15] + $armorTemplate,
|
||||
['type' => 'necklace', 'name' => '避水珠', 'rate' => 12] + $necklaceTemplate,
|
||||
['type' => 'armor', 'name' => '鱼鳞甲', 'rate' => 20] + $armorTemplate,
|
||||
['type' => 'necklace', 'name' => '避水珠', 'rate' => 20] + $necklaceTemplate,
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 21, 'name' => '炎爆水雾', 'rate' => 30],
|
||||
['id' => 21, 'name' => '炎爆水雾', 'rate' => 20],
|
||||
['id' => 30, 'name' => '水灵庇护', 'rate' => 25],
|
||||
],
|
||||
'weight' => 35,
|
||||
|
|
@ -580,15 +580,15 @@ return [
|
|||
'exp' => 1500,
|
||||
'spirit_stones' => 600,
|
||||
'drops' => [
|
||||
['type' => 'weapon', 'name' => '引魂钟', 'quality' => 'epic', 'matk' => 200, 'rate' => 20],
|
||||
['type' => 'boots', 'name' => '踏浪靴', 'rate' => 15] + $bootsTemplate,
|
||||
['type' => 'weapon', 'name' => '引魂钟', 'quality' => 'epic', 'matk' => 200, 'rate' => 15],
|
||||
['type' => 'boots', 'name' => '踏浪靴', 'rate' => 20] + $bootsTemplate,
|
||||
['type' => 'consume', 'name' => '降尘丹', 'rate' => 25, 'heal' => 1500],
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 22, 'name' => '水系流星', 'rate' => 30],
|
||||
['id' => 22, 'name' => '水系流星', 'rate' => 20],
|
||||
['id' => 23, 'name' => '沧海风暴', 'rate' => 25],
|
||||
['id' => 35, 'name' => '灵魂共鸣', 'rate' => 20],
|
||||
['id' => 31, 'name' => '海王光环', 'rate' => 15],
|
||||
['id' => 35, 'name' => '灵魂共鸣', 'rate' => 15],
|
||||
['id' => 31, 'name' => '海王光环', 'rate' => 20],
|
||||
],
|
||||
'weight' => 15,
|
||||
],
|
||||
|
|
@ -610,11 +610,11 @@ return [
|
|||
'exp' => 1000,
|
||||
'spirit_stones' => 300,
|
||||
'drops' => [
|
||||
['type' => 'weapon', 'name' => '傀儡弓', 'rate' => 15] + $weaponTemplate,
|
||||
['type' => 'consume', 'name' => '灵石乳', 'rate' => 30, 'heal' => 800],
|
||||
['type' => 'weapon', 'name' => '傀儡弓', 'rate' => 20] + $weaponTemplate,
|
||||
['type' => 'consume', 'name' => '灵石乳', 'rate' => 20, 'heal' => 800],
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 12, 'name' => '傀儡雷击', 'rate' => 30],
|
||||
['id' => 12, 'name' => '傀儡雷击', 'rate' => 20],
|
||||
['id' => 30, 'name' => '机械护盾', 'rate' => 25],
|
||||
],
|
||||
'weight' => 50,
|
||||
|
|
@ -630,13 +630,13 @@ return [
|
|||
'exp' => 1400,
|
||||
'spirit_stones' => 450,
|
||||
'drops' => [
|
||||
['type' => 'armor', 'name' => '灵力护盾', 'rate' => 15] + $armorTemplate,
|
||||
['type' => 'ring', 'name' => '分身戒', 'rate' => 12] + $ringTemplate,
|
||||
['type' => 'armor', 'name' => '灵力护盾', 'rate' => 20] + $armorTemplate,
|
||||
['type' => 'ring', 'name' => '分身戒', 'rate' => 20] + $ringTemplate,
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 14, 'name' => '剑仙降临', 'rate' => 30],
|
||||
['id' => 14, 'name' => '剑仙降临', 'rate' => 20],
|
||||
['id' => 23, 'name' => '灭世寂灭', 'rate' => 25],
|
||||
['id' => 32, 'name' => '圣灵恩惠', 'rate' => 20],
|
||||
['id' => 32, 'name' => '圣灵恩惠', 'rate' => 15],
|
||||
],
|
||||
'weight' => 35,
|
||||
],
|
||||
|
|
@ -651,16 +651,16 @@ return [
|
|||
'exp' => 2500,
|
||||
'spirit_stones' => 1000,
|
||||
'drops' => [
|
||||
['type' => 'weapon', 'name' => '天都尸火', 'quality' => 'legendary', 'matk' => 300, 'rate' => 15],
|
||||
['type' => 'consume', 'name' => '补天丹', 'rate' => 10, 'heal' => 3000],
|
||||
['type' => 'weapon', 'name' => '天都尸火', 'quality' => 'legendary', 'matk' => 300, 'rate' => 20],
|
||||
['type' => 'consume', 'name' => '补天丹', 'rate' => 25, 'heal' => 3000],
|
||||
['type' => 'necklace', 'name' => '虚天鼎', 'quality' => 'legendary', 'hp' => 2000, 'rate' => 5],
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 15, 'name' => '极阴邪斩', 'rate' => 30],
|
||||
['id' => 15, 'name' => '极阴邪斩', 'rate' => 20],
|
||||
['id' => 24, 'name' => '末世冰狱', 'rate' => 25],
|
||||
['id' => 33, 'name' => '仙界救赎', 'rate' => 20],
|
||||
['id' => 35, 'name' => '永恒诅咒', 'rate' => 15],
|
||||
['id' => 3, 'name' => '活力恢复', 'rate' => 10],
|
||||
['id' => 33, 'name' => '仙界救赎', 'rate' => 15],
|
||||
['id' => 35, 'name' => '永恒诅咒', 'rate' => 20],
|
||||
['id' => 3, 'name' => '活力恢复', 'rate' => 25],
|
||||
],
|
||||
'weight' => 15,
|
||||
],
|
||||
|
|
@ -682,11 +682,11 @@ return [
|
|||
'exp' => 1800,
|
||||
'spirit_stones' => 600,
|
||||
'drops' => [
|
||||
['type' => 'weapon', 'name' => '妖骨剑', 'rate' => 15] + $weaponTemplate,
|
||||
['type' => 'weapon', 'name' => '妖骨剑', 'rate' => 20] + $weaponTemplate,
|
||||
['type' => 'consume', 'name' => '妖丹', 'rate' => 40, 'heal' => 1000],
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 11, 'name' => '妖冰刃', 'rate' => 30],
|
||||
['id' => 11, 'name' => '妖冰刃', 'rate' => 20],
|
||||
['id' => 20, 'name' => '妖兽雹', 'rate' => 25],
|
||||
],
|
||||
'weight' => 50,
|
||||
|
|
@ -702,13 +702,13 @@ return [
|
|||
'exp' => 2200,
|
||||
'spirit_stones' => 800,
|
||||
'drops' => [
|
||||
['type' => 'armor', 'name' => '雷鲸皮', 'rate' => 15] + $armorTemplate,
|
||||
['type' => 'boots', 'name' => '风雷靴', 'rate' => 12] + $bootsTemplate,
|
||||
['type' => 'armor', 'name' => '雷鲸皮', 'rate' => 20] + $armorTemplate,
|
||||
['type' => 'boots', 'name' => '风雷靴', 'rate' => 20] + $bootsTemplate,
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 12, 'name' => '雷鲸怒雷', 'rate' => 30],
|
||||
['id' => 12, 'name' => '雷鲸怒雷', 'rate' => 20],
|
||||
['id' => 21, 'name' => '风暴洪流', 'rate' => 25],
|
||||
['id' => 34, 'name' => '深海护盾', 'rate' => 20],
|
||||
['id' => 34, 'name' => '深海护盾', 'rate' => 15],
|
||||
],
|
||||
'weight' => 35,
|
||||
],
|
||||
|
|
@ -723,16 +723,16 @@ return [
|
|||
'exp' => 4000,
|
||||
'spirit_stones' => 1500,
|
||||
'drops' => [
|
||||
['type' => 'weapon', 'name' => '金蛟剪', 'quality' => 'legendary', 'patk' => 300, 'matk' => 200, 'rate' => 15],
|
||||
['type' => 'armor', 'name' => '金蛟鳞甲', 'quality' => 'legendary', 'pdef' => 180, 'mdef' => 120, 'rate' => 15],
|
||||
['type' => 'consume', 'name' => '九曲灵参', 'rate' => 10, 'heal' => 5000],
|
||||
['type' => 'weapon', 'name' => '金蛟剪', 'quality' => 'legendary', 'patk' => 300, 'matk' => 200, 'rate' => 20],
|
||||
['type' => 'armor', 'name' => '金蛟鳞甲', 'quality' => 'legendary', 'pdef' => 180, 'mdef' => 120, 'rate' => 20],
|
||||
['type' => 'consume', 'name' => '九曲灵参', 'rate' => 25, 'heal' => 5000],
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 15, 'name' => '蛟龙狂暴', 'rate' => 30],
|
||||
['id' => 15, 'name' => '蛟龙狂暴', 'rate' => 20],
|
||||
['id' => 25, 'name' => '雷风灭世', 'rate' => 25],
|
||||
['id' => 33, 'name' => '龙王救赎', 'rate' => 20],
|
||||
['id' => 35, 'name' => '蛟龙之力', 'rate' => 15],
|
||||
['id' => 2, 'name' => '生命转移', 'rate' => 10],
|
||||
['id' => 33, 'name' => '龙王救赎', 'rate' => 15],
|
||||
['id' => 35, 'name' => '蛟龙之力', 'rate' => 20],
|
||||
['id' => 2, 'name' => '生命转移', 'rate' => 25],
|
||||
],
|
||||
'weight' => 15,
|
||||
],
|
||||
|
|
@ -757,11 +757,11 @@ return [
|
|||
'exp' => 2500,
|
||||
'spirit_stones' => 800,
|
||||
'drops' => [
|
||||
['type' => 'weapon', 'name' => '狼牙匕', 'rate' => 15] + $weaponTemplate,
|
||||
['type' => 'consume', 'name' => '灵液', 'rate' => 30, 'heal' => 1200],
|
||||
['type' => 'weapon', 'name' => '狼牙匕', 'rate' => 20] + $weaponTemplate,
|
||||
['type' => 'consume', 'name' => '灵液', 'rate' => 20, 'heal' => 1200],
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 10, 'name' => '狼焰咆哮', 'rate' => 30],
|
||||
['id' => 10, 'name' => '狼焰咆哮', 'rate' => 20],
|
||||
['id' => 20, 'name' => '月光寒冰', 'rate' => 25],
|
||||
],
|
||||
'weight' => 50,
|
||||
|
|
@ -777,13 +777,13 @@ return [
|
|||
'exp' => 3000,
|
||||
'spirit_stones' => 1000,
|
||||
'drops' => [
|
||||
['type' => 'armor', 'name' => '长老法袍', 'rate' => 15] + $armorTemplate,
|
||||
['type' => 'ring', 'name' => '长老戒', 'rate' => 12] + $ringTemplate,
|
||||
['type' => 'armor', 'name' => '长老法袍', 'rate' => 20] + $armorTemplate,
|
||||
['type' => 'ring', 'name' => '长老戒', 'rate' => 20] + $ringTemplate,
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 13, 'name' => '长老烈焰', 'rate' => 30],
|
||||
['id' => 13, 'name' => '长老烈焰', 'rate' => 20],
|
||||
['id' => 22, 'name' => '宗门流星', 'rate' => 25],
|
||||
['id' => 31, 'name' => '宗门护盾', 'rate' => 20],
|
||||
['id' => 31, 'name' => '宗门护盾', 'rate' => 15],
|
||||
],
|
||||
'weight' => 35,
|
||||
],
|
||||
|
|
@ -798,16 +798,16 @@ return [
|
|||
'exp' => 5000,
|
||||
'spirit_stones' => 2000,
|
||||
'drops' => [
|
||||
['type' => 'weapon', 'name' => '落云剑', 'quality' => 'epic', 'patk' => 350, 'matk' => 250, 'rate' => 20],
|
||||
['type' => 'necklace', 'name' => '定魂珠', 'rate' => 15] + $necklaceTemplate,
|
||||
['type' => 'weapon', 'name' => '落云剑', 'quality' => 'epic', 'patk' => 350, 'matk' => 250, 'rate' => 15],
|
||||
['type' => 'necklace', 'name' => '定魂珠', 'rate' => 20] + $necklaceTemplate,
|
||||
['type' => 'consume', 'name' => '培婴丹', 'rate' => 25, 'heal' => 3000],
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 14, 'name' => '剑仙之意', 'rate' => 30],
|
||||
['id' => 14, 'name' => '剑仙之意', 'rate' => 20],
|
||||
['id' => 24, 'name' => '风云诀', 'rate' => 25],
|
||||
['id' => 33, 'name' => '救赎之力', 'rate' => 20],
|
||||
['id' => 2, 'name' => '生命同盟', 'rate' => 15],
|
||||
['id' => 32, 'name' => '圣灵护佑', 'rate' => 10],
|
||||
['id' => 33, 'name' => '救赎之力', 'rate' => 15],
|
||||
['id' => 2, 'name' => '生命同盟', 'rate' => 20],
|
||||
['id' => 32, 'name' => '圣灵护佑', 'rate' => 25],
|
||||
],
|
||||
'weight' => 15,
|
||||
],
|
||||
|
|
@ -829,11 +829,11 @@ return [
|
|||
'exp' => 4000,
|
||||
'spirit_stones' => 1200,
|
||||
'drops' => [
|
||||
['type' => 'weapon', 'name' => '魔魂刀', 'rate' => 15] + $weaponTemplate,
|
||||
['type' => 'consume', 'name' => '魔髓钻', 'rate' => 20, 'heal' => 2000],
|
||||
['type' => 'weapon', 'name' => '魔魂刀', 'rate' => 20] + $weaponTemplate,
|
||||
['type' => 'consume', 'name' => '魔髓钻', 'rate' => 15, 'heal' => 2000],
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 14, 'name' => '古魔剑意', 'rate' => 30],
|
||||
['id' => 14, 'name' => '古魔剑意', 'rate' => 20],
|
||||
['id' => 21, 'name' => '魔火爆裂', 'rate' => 25],
|
||||
],
|
||||
'weight' => 50,
|
||||
|
|
@ -849,13 +849,13 @@ return [
|
|||
'exp' => 5000,
|
||||
'spirit_stones' => 1500,
|
||||
'drops' => [
|
||||
['type' => 'armor', 'name' => '太乙银精甲', 'rate' => 15] + $armorTemplate,
|
||||
['type' => 'boots', 'name' => '虚空靴', 'rate' => 12] + $bootsTemplate,
|
||||
['type' => 'armor', 'name' => '太乙银精甲', 'rate' => 20] + $armorTemplate,
|
||||
['type' => 'boots', 'name' => '虚空靴', 'rate' => 20] + $bootsTemplate,
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 23, 'name' => '空间风暴', 'rate' => 30],
|
||||
['id' => 23, 'name' => '空间风暴', 'rate' => 20],
|
||||
['id' => 35, 'name' => '虚空之力', 'rate' => 25],
|
||||
['id' => 30, 'name' => '空间护盾', 'rate' => 20],
|
||||
['id' => 30, 'name' => '空间护盾', 'rate' => 15],
|
||||
],
|
||||
'weight' => 35,
|
||||
],
|
||||
|
|
@ -870,16 +870,16 @@ return [
|
|||
'exp' => 10000,
|
||||
'spirit_stones' => 5000,
|
||||
'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' => 'weapon', 'name' => '黑风旗', 'quality' => 'legendary', 'matk' => 800, 'rate' => 20],
|
||||
['type' => 'armor', 'name' => '魔龙甲', 'quality' => 'legendary', 'pdef' => 350, 'mdef' => 250, 'rate' => 20],
|
||||
['type' => 'consume', 'name' => '万年灵乳', 'rate' => 15, 'heal' => 8000],
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 15, 'name' => '古魔灭世', 'rate' => 30],
|
||||
['id' => 15, 'name' => '古魔灭世', 'rate' => 20],
|
||||
['id' => 25, 'name' => '狂风魔力', 'rate' => 25],
|
||||
['id' => 34, 'name' => '古魔护盾', 'rate' => 20],
|
||||
['id' => 35, 'name' => '魔界永恒', 'rate' => 15],
|
||||
['id' => 4, 'name' => '魔泉生命', 'rate' => 10],
|
||||
['id' => 34, 'name' => '古魔护盾', 'rate' => 15],
|
||||
['id' => 35, 'name' => '魔界永恒', 'rate' => 20],
|
||||
['id' => 4, 'name' => '魔泉生命', 'rate' => 25],
|
||||
],
|
||||
'weight' => 15,
|
||||
],
|
||||
|
|
@ -904,11 +904,11 @@ return [
|
|||
'exp' => 6000,
|
||||
'spirit_stones' => 2000,
|
||||
'drops' => [
|
||||
['type' => 'weapon', 'name' => '晶砖', 'rate' => 15] + $weaponTemplate,
|
||||
['type' => 'consume', 'name' => '灵烛果', 'rate' => 30, 'heal' => 3000],
|
||||
['type' => 'weapon', 'name' => '晶砖', 'rate' => 20] + $weaponTemplate,
|
||||
['type' => 'consume', 'name' => '灵烛果', 'rate' => 20, 'heal' => 3000],
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 13, 'name' => '晶体烈焰', 'rate' => 30],
|
||||
['id' => 13, 'name' => '晶体烈焰', 'rate' => 20],
|
||||
['id' => 20, 'name' => '灵山冰雹', 'rate' => 25],
|
||||
],
|
||||
'weight' => 50,
|
||||
|
|
@ -924,13 +924,13 @@ return [
|
|||
'exp' => 8000,
|
||||
'spirit_stones' => 3000,
|
||||
'drops' => [
|
||||
['type' => 'armor', 'name' => '银翅甲', 'rate' => 15] + $armorTemplate,
|
||||
['type' => 'necklace', 'name' => '夜叉链', 'rate' => 12] + $necklaceTemplate,
|
||||
['type' => 'armor', 'name' => '银翅甲', 'rate' => 20] + $armorTemplate,
|
||||
['type' => 'necklace', 'name' => '夜叉链', 'rate' => 20] + $necklaceTemplate,
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 14, 'name' => '夜叉剑术', 'rate' => 30],
|
||||
['id' => 14, 'name' => '夜叉剑术', 'rate' => 20],
|
||||
['id' => 23, 'name' => '虚空风暴', 'rate' => 25],
|
||||
['id' => 35, 'name' => '天罚之力', 'rate' => 20],
|
||||
['id' => 35, 'name' => '天罚之力', 'rate' => 15],
|
||||
],
|
||||
'weight' => 35,
|
||||
],
|
||||
|
|
@ -945,16 +945,16 @@ return [
|
|||
'exp' => 15000,
|
||||
'spirit_stones' => 8000,
|
||||
'drops' => [
|
||||
['type' => 'weapon', 'name' => '八灵尺', 'quality' => 'legendary', 'matk' => 1200, 'rate' => 15],
|
||||
['type' => 'ring', 'name' => '雪晶珠', 'quality' => 'legendary', 'crit' => 15, 'rate' => 15],
|
||||
['type' => 'consume', 'name' => '回阳水', 'rate' => 10, 'heal' => 10000],
|
||||
['type' => 'weapon', 'name' => '八灵尺', 'quality' => 'legendary', 'matk' => 1200, 'rate' => 20],
|
||||
['type' => 'ring', 'name' => '雪晶珠', 'quality' => 'legendary', 'crit' => 15, 'rate' => 20],
|
||||
['type' => 'consume', 'name' => '回阳水', 'rate' => 25, 'heal' => 10000],
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 15, 'name' => '元刹灭世', 'rate' => 30],
|
||||
['id' => 15, 'name' => '元刹灭世', 'rate' => 20],
|
||||
['id' => 25, 'name' => '永恒灭亡', 'rate' => 25],
|
||||
['id' => 33, 'name' => '圣祖救赎', 'rate' => 20],
|
||||
['id' => 34, 'name' => '永生护盾', 'rate' => 15],
|
||||
['id' => 5, 'name' => '暴击疗愈', 'rate' => 10],
|
||||
['id' => 33, 'name' => '圣祖救赎', 'rate' => 15],
|
||||
['id' => 34, 'name' => '永生护盾', 'rate' => 20],
|
||||
['id' => 5, 'name' => '暴击疗愈', 'rate' => 25],
|
||||
],
|
||||
'weight' => 15,
|
||||
],
|
||||
|
|
@ -976,11 +976,11 @@ return [
|
|||
'exp' => 9000,
|
||||
'spirit_stones' => 3500,
|
||||
'drops' => [
|
||||
['type' => 'weapon', 'name' => '虚空爪', 'rate' => 15] + $weaponTemplate,
|
||||
['type' => 'boots', 'name' => '破空靴', 'rate' => 12] + $bootsTemplate,
|
||||
['type' => 'weapon', 'name' => '虚空爪', 'rate' => 20] + $weaponTemplate,
|
||||
['type' => 'boots', 'name' => '破空靴', 'rate' => 20] + $bootsTemplate,
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 12, 'name' => '虚空雷击', 'rate' => 30],
|
||||
['id' => 12, 'name' => '虚空雷击', 'rate' => 20],
|
||||
['id' => 20, 'name' => '虚空冰雹', 'rate' => 25],
|
||||
],
|
||||
'weight' => 50,
|
||||
|
|
@ -996,13 +996,13 @@ return [
|
|||
'exp' => 11000,
|
||||
'spirit_stones' => 4500,
|
||||
'drops' => [
|
||||
['type' => 'armor', 'name' => '风暴甲', 'rate' => 15] + $armorTemplate,
|
||||
['type' => 'consume', 'name' => '空间晶石', 'rate' => 30, 'heal' => 5000],
|
||||
['type' => 'armor', 'name' => '风暴甲', 'rate' => 20] + $armorTemplate,
|
||||
['type' => 'consume', 'name' => '空间晶石', 'rate' => 20, 'heal' => 5000],
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 23, 'name' => '灭世空间', 'rate' => 30],
|
||||
['id' => 23, 'name' => '灭世空间', 'rate' => 20],
|
||||
['id' => 25, 'name' => '永恒风暴', 'rate' => 25],
|
||||
['id' => 35, 'name' => '空间之力', 'rate' => 20],
|
||||
['id' => 35, 'name' => '空间之力', 'rate' => 15],
|
||||
],
|
||||
'weight' => 35,
|
||||
],
|
||||
|
|
@ -1017,16 +1017,16 @@ 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' => 'consume', 'name' => '飞升令', 'rate' => 100, 'heal' => 99999], // 象征性物品
|
||||
['type' => 'weapon', 'name' => '青竹蜂云剑', 'quality' => 'legendary', 'patk' => 1500, 'matk' => 1000, 'rate' => 15],
|
||||
['type' => 'armor', 'name' => '五行甲', 'quality' => 'legendary', 'pdef' => 1000, 'mdef' => 1000, 'rate' => 15],
|
||||
['type' => 'consume', 'name' => '飞升令', 'rate' => 25, 'heal' => 99999], // 象征性物品
|
||||
],
|
||||
'spells' => [
|
||||
['id' => 15, 'name' => '凤凰灭世', 'rate' => 30],
|
||||
['id' => 15, 'name' => '凤凰灭世', 'rate' => 20],
|
||||
['id' => 25, 'name' => '冰凤风暴', 'rate' => 25],
|
||||
['id' => 33, 'name' => '永恒救赎', 'rate' => 20],
|
||||
['id' => 35, 'name' => '凤凰之力', 'rate' => 15],
|
||||
['id' => 6, 'name' => '援护之术', 'rate' => 10],
|
||||
['id' => 33, 'name' => '永恒救赎', 'rate' => 15],
|
||||
['id' => 35, 'name' => '凤凰之力', 'rate' => 20],
|
||||
['id' => 6, 'name' => '援护之术', 'rate' => 25],
|
||||
],
|
||||
'weight' => 15,
|
||||
],
|
||||
|
|
|
|||
|
|
@ -88,8 +88,16 @@ class InventoryPanel
|
|||
|
||||
$index = $start + $i + 1;
|
||||
|
||||
// 使用统一的装备显示
|
||||
// 根据物品类型使用不同的显示方式
|
||||
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}");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -3,4 +3,4 @@ require __DIR__ . '/../vendor/autoload.php';
|
|||
|
||||
$monster = \Game\Entities\Monster::create(1);
|
||||
|
||||
dd($monster->getRandomSpellDrops());
|
||||
dd($monster->getRandomEquipmentDrops());
|
||||
Loading…
Reference in New Issue
Block a user