- Add base and growth values to all 36 spells across heal_single, damage_single, damage_aoe, and heal_aoe categories in spells.php - Map base values: heal [8, 18, 38, 65], fire [5, 12, 25, 45], ice [4, 10, 22, 42], thunder [6, 14, 28, 48], aoe damage [4-6, 10-14, 22-28, 42-48] - Map growth rates: heal [0.8, 1.0, 1.2, 1.5], fire [0.6, 0.8, 1.0, 1.2], ice [0.5, 0.7, 0.95, 1.15], thunder [0.7, 0.9, 1.1, 1.3] - Modify createSpell() in Item.php to calculate final base damage using formula: finalValue = base + (level * growth) + randomBonus(15%) - All spells now generate with calculated base values that scale with level and quality tier - This enables proper damage/healing scaling mechanics in combat system Formula implementation: - baseValue = spellInfo['base'][$qualityIndex] - growth = spellInfo['growth'][$qualityIndex] - randomBonus = rand(0, max(1, (int)($baseValue * 0.15))) - finalBaseValue = (int)($baseValue + ($level * $growth) + $randomBonus) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
422 lines
18 KiB
PHP
422 lines
18 KiB
PHP
<?php
|
||
|
||
/**
|
||
* 法术系统配置 - 丰富版本
|
||
* 法术分为四类:单体治疗、单体伤害、群体伤害、群体治疗
|
||
* 每个法术有独立的计算方式和品质参数
|
||
* 参考装备的品质系统 (common, rare, epic, legendary)
|
||
*/
|
||
|
||
return [
|
||
// ============ 单体治疗法术 (heal_single) ============
|
||
'heal_single' => [
|
||
// 1. 治愈术 - 魔攻型 (恢复 = 魔攻 × 倍数 + 基础值)
|
||
1 => [
|
||
'name' => '治愈术',
|
||
'type' => 'heal_single',
|
||
'calc_type' => 'matk', // 计算方式:纯魔攻
|
||
'cost' => 15,
|
||
'level_req' => 1,
|
||
'desc' => '恢复自己或队友的生命值,效果与魔攻相关',
|
||
// 品质参数:[common, rare, epic, legendary]
|
||
'heal_ratio' => [0.5, 0.8, 1.2, 1.8], // 魔攻倍数
|
||
'heal_base' => [20, 40, 70, 120], // 基础治疗值
|
||
'base' => [8, 18, 38, 65], // 基础伤害值
|
||
'growth' => [0.8, 1.0, 1.2, 1.5], // 等级成长系数
|
||
],
|
||
|
||
// 2. 及时救难 - 生命值百分比型 (恢复 = 自己最大生命值 × 百分比)
|
||
2 => [
|
||
'name' => '及时救难',
|
||
'type' => 'heal_single',
|
||
'calc_type' => 'hp_percent', // 计算方式:最大生命值百分比
|
||
'cost' => 20,
|
||
'level_req' => 5,
|
||
'desc' => '将自己的部分生命值转移给队友',
|
||
'heal_ratio' => [0.3, 0.4, 0.5, 0.6], // 最大生命值百分比
|
||
'base' => [8, 18, 38, 65], // 基础伤害值
|
||
'growth' => [0.8, 1.0, 1.2, 1.5], // 等级成长系数
|
||
],
|
||
|
||
// 3. 活力术 - 混合型 (恢复 = (魔攻 + 物攻) × 倍数 + 基础值)
|
||
3 => [
|
||
'name' => '活力术',
|
||
'type' => 'heal_single',
|
||
'calc_type' => 'hybrid', // 计算方式:魔攻 + 物攻混合
|
||
'cost' => 25,
|
||
'level_req' => 12,
|
||
'desc' => '结合物理和魔法的治疗法术',
|
||
'heal_ratio' => [0.3, 0.5, 0.7, 1.0], // (魔攻+物攻) 倍数
|
||
'heal_base' => [15, 30, 50, 80],
|
||
'base' => [8, 18, 38, 65], // 基础伤害值
|
||
'growth' => [0.8, 1.0, 1.2, 1.5], // 等级成长系数
|
||
],
|
||
|
||
// 4. 生命之泉 - 基于当前生命值缺口 (恢复 = 缺失血量 × 百分比)
|
||
4 => [
|
||
'name' => '生命之泉',
|
||
'type' => 'heal_single',
|
||
'calc_type' => 'hp_missing', // 计算方式:缺失生命值百分比
|
||
'cost' => 30,
|
||
'level_req' => 18,
|
||
'desc' => '根据队友缺失的生命值比例进行治疗',
|
||
'heal_ratio' => [0.4, 0.55, 0.7, 0.85], // 缺失生命值百分比
|
||
'base' => [8, 18, 38, 65], // 基础伤害值
|
||
'growth' => [0.8, 1.0, 1.2, 1.5], // 等级成长系数
|
||
],
|
||
|
||
// 5. 暴击治疗 - 与暴击率相关 (恢复 = 魔攻 × 倍数 × (1 + 暴击率×特殊系数))
|
||
5 => [
|
||
'name' => '暴击治疗',
|
||
'type' => 'heal_single',
|
||
'calc_type' => 'crit_heal', // 计算方式:与暴击率相关
|
||
'cost' => 28,
|
||
'level_req' => 22,
|
||
'desc' => '暴击率越高,治疗效果越强',
|
||
'heal_ratio' => [0.4, 0.65, 0.95, 1.4], // 基础魔攻倍数
|
||
'crit_bonus' => [0.5, 0.7, 1.0, 1.5], // 暴击率加成系数
|
||
'base' => [8, 18, 38, 65], // 基础伤害值
|
||
'growth' => [0.8, 1.0, 1.2, 1.5], // 等级成长系数
|
||
],
|
||
|
||
// 6. 援护术 - 基于防御属性 (恢复 = (物防+魔防) × 倍数 + 固定值)
|
||
6 => [
|
||
'name' => '援护术',
|
||
'type' => 'heal_single',
|
||
'calc_type' => 'defense', // 计算方式:基于防御属性
|
||
'cost' => 22,
|
||
'level_req' => 15,
|
||
'desc' => '根据防御力进行治疗,防御越高效果越好',
|
||
'heal_ratio' => [0.8, 1.2, 1.8, 2.5], // (物防+魔防) 倍数
|
||
'heal_base' => [10, 20, 35, 60],
|
||
'base' => [8, 18, 38, 65], // 基础伤害值
|
||
'growth' => [0.8, 1.0, 1.2, 1.5], // 等级成长系数
|
||
],
|
||
],
|
||
|
||
// ============ 单体伤害法术 (damage_single) ============
|
||
'damage_single' => [
|
||
// 10. 火球术 - 魔攻型 (伤害 = 魔攻 × 倍数)
|
||
10 => [
|
||
'name' => '火球术',
|
||
'type' => 'damage_single',
|
||
'calc_type' => 'matk',
|
||
'cost' => 20,
|
||
'level_req' => 1,
|
||
'desc' => '发出一团火球,对单个敌人造成伤害',
|
||
'damage_ratio' => [1.2, 1.6, 2.0, 2.6],
|
||
'base' => [5, 12, 25, 45], // 基础伤害值
|
||
'growth' => [0.6, 0.8, 1.0, 1.2], // 等级成长系数
|
||
],
|
||
|
||
// 11. 冰锥术 - 魔攻型
|
||
11 => [
|
||
'name' => '冰锥术',
|
||
'type' => 'damage_single',
|
||
'calc_type' => 'matk',
|
||
'cost' => 22,
|
||
'level_req' => 6,
|
||
'desc' => '凝聚寒冰之力,发出锐利冰锥',
|
||
'damage_ratio' => [1.3, 1.8, 2.2, 3.0],
|
||
'base' => [4, 10, 22, 42], // 基础伤害值
|
||
'growth' => [0.5, 0.7, 0.95, 1.15], // 等级成长系数
|
||
],
|
||
|
||
// 12. 雷击术 - 物攻型 (伤害 = 物攻 × 倍数)
|
||
12 => [
|
||
'name' => '雷击术',
|
||
'type' => 'damage_single',
|
||
'calc_type' => 'patk',
|
||
'cost' => 24,
|
||
'level_req' => 10,
|
||
'desc' => '召唤雷电直击单个敌人,与物攻相关',
|
||
'damage_ratio' => [1.4, 1.9, 2.3, 3.2],
|
||
'base' => [6, 14, 28, 48], // 基础伤害值
|
||
'growth' => [0.7, 0.9, 1.1, 1.3], // 等级成长系数
|
||
],
|
||
|
||
// 13. 烈焰焚天 - 混合型 (伤害 = (魔攻 + 物攻) × 倍数)
|
||
13 => [
|
||
'name' => '烈焰焚天',
|
||
'type' => 'damage_single',
|
||
'calc_type' => 'hybrid',
|
||
'cost' => 35,
|
||
'level_req' => 18,
|
||
'desc' => '释放强大的火焰,伤害与双攻相关',
|
||
'damage_ratio' => [0.8, 1.1, 1.5, 2.0],
|
||
'base' => [5, 12, 25, 45], // 基础伤害值
|
||
'growth' => [0.6, 0.8, 1.0, 1.2], // 等级成长系数
|
||
],
|
||
|
||
// 14. 诛仙剑气 - 物攻 + 暴击型 (伤害 = 物攻 × 倍数 × (1 + 暴击伤害系数))
|
||
14 => [
|
||
'name' => '诛仙剑气',
|
||
'type' => 'damage_single',
|
||
'calc_type' => 'crit_damage',
|
||
'cost' => 40,
|
||
'level_req' => 28,
|
||
'desc' => '凝聚剑意,暴击伤害系数越高效果越强',
|
||
'damage_ratio' => [1.5, 2.0, 2.6, 3.5],
|
||
'crit_dmg_bonus' => [0.3, 0.5, 0.8, 1.2], // 暴击伤害加成系数
|
||
'base' => [5, 12, 25, 45], // 基础伤害值
|
||
'growth' => [0.6, 0.8, 1.0, 1.2], // 等级成长系数
|
||
],
|
||
|
||
// 15. 狂暴斩 - 低防御有加成 (伤害 = 物攻 × 倍数 × (1 + (100-敌人防御百分比)×系数))
|
||
15 => [
|
||
'name' => '狂暴斩',
|
||
'type' => 'damage_single',
|
||
'calc_type' => 'low_def_bonus',
|
||
'cost' => 32,
|
||
'level_req' => 20,
|
||
'desc' => '攻击防御低的敌人伤害更高',
|
||
'damage_ratio' => [1.1, 1.5, 2.0, 2.7],
|
||
'base' => [5, 12, 25, 45], // 基础伤害值
|
||
'growth' => [0.6, 0.8, 1.0, 1.2], // 等级成长系数
|
||
],
|
||
],
|
||
|
||
// ============ 群体伤害法术 (damage_aoe) ============
|
||
'damage_aoe' => [
|
||
// 20. 冰雹术 - 魔攻型 (每敌伤害 = 魔攻 × 倍数)
|
||
20 => [
|
||
'name' => '冰雹术',
|
||
'type' => 'damage_aoe',
|
||
'calc_type' => 'matk',
|
||
'cost' => 35,
|
||
'level_req' => 5,
|
||
'desc' => '召唤冰雹,攻击所有敌人',
|
||
'damage_ratio' => [0.7, 1.0, 1.3, 1.7],
|
||
'base' => [4, 10, 22, 42],
|
||
'growth' => [0.5, 0.7, 0.95, 1.15],
|
||
],
|
||
|
||
// 21. 炎爆术 - 魔攻型,随敌人数量加成
|
||
21 => [
|
||
'name' => '炎爆术',
|
||
'type' => 'damage_aoe',
|
||
'calc_type' => 'matk_scaled',
|
||
'cost' => 40,
|
||
'level_req' => 12,
|
||
'desc' => '引发连锁爆炸,敌人越多伤害加成越高',
|
||
'damage_ratio' => [0.8, 1.1, 1.4, 1.9],
|
||
'enemy_count_bonus' => [0.1, 0.15, 0.2, 0.3], // 每增加一个敌人增加的伤害百分比
|
||
'base' => [4, 10, 22, 42], // 基础伤害值
|
||
'growth' => [0.5, 0.7, 0.95, 1.15], // 等级成长系数
|
||
],
|
||
|
||
// 22. 流星雨 - 混合型 (每敌伤害 = (魔攻 + 物攻) × 倍数)
|
||
22 => [
|
||
'name' => '流星雨',
|
||
'type' => 'damage_aoe',
|
||
'calc_type' => 'hybrid',
|
||
'cost' => 50,
|
||
'level_req' => 20,
|
||
'desc' => '召唤流星坠落,轰击全体敌人',
|
||
'damage_ratio' => [0.6, 0.85, 1.15, 1.55],
|
||
'base' => [5, 12, 25, 45],
|
||
'growth' => [0.6, 0.8, 1, 1.2],
|
||
],
|
||
|
||
// 23. 灭世风暴 - 基于暴击率 (每敌伤害 = 魔攻 × 倍数 × (1 + 暴击率×系数))
|
||
23 => [
|
||
'name' => '灭世风暴',
|
||
'type' => 'damage_aoe',
|
||
'calc_type' => 'crit_aoe',
|
||
'cost' => 60,
|
||
'level_req' => 30,
|
||
'desc' => '引发天地异变,暴击率影响范围伤害',
|
||
'damage_ratio' => [0.9, 1.2, 1.6, 2.2],
|
||
'crit_bonus' => [0.4, 0.6, 0.9, 1.3],
|
||
'base' => [5, 12, 25, 45],
|
||
'growth' => [0.6, 0.8, 1, 1.2],
|
||
],
|
||
|
||
// 24. 末日火雨 - 敌人越多伤害越低,但每个敌人都会受伤
|
||
24 => [
|
||
'name' => '末日火雨',
|
||
'type' => 'damage_aoe',
|
||
'calc_type' => 'dispersed_damage',
|
||
'cost' => 55,
|
||
'level_req' => 25,
|
||
'desc' => '魔法能量分散到所有敌人,敌人越多分散越严重',
|
||
'damage_ratio' => [1.8, 2.5, 3.2, 4.0],
|
||
'dispersion' => [0.8, 0.75, 0.7, 0.65], // 随敌人数量衰减系数
|
||
'base' => [5, 12, 25, 45], // 基础伤害值
|
||
'growth' => [0.6, 0.8, 1.0, 1.2], // 等级成长系数
|
||
],
|
||
|
||
// 25. 狂风斩 - 基于物攻 (每敌伤害 = 物攻 × 倍数)
|
||
25 => [
|
||
'name' => '狂风斩',
|
||
'type' => 'damage_aoe',
|
||
'calc_type' => 'patk',
|
||
'cost' => 45,
|
||
'level_req' => 16,
|
||
'desc' => '挥出狂暴的风刃,基于物攻伤害',
|
||
'damage_ratio' => [0.9, 1.2, 1.6, 2.1],
|
||
'base' => [6, 14, 28, 48],
|
||
'growth' => [0.7, 0.9, 1.1, 1.3],
|
||
],
|
||
],
|
||
|
||
// ============ 群体治疗法术 (heal_aoe) ============
|
||
'heal_aoe' => [
|
||
// 30. 神圣庇护 - 魔攻型 (每人恢复 = 魔攻 × 倍数 + 基础值)
|
||
30 => [
|
||
'name' => '神圣庇护',
|
||
'type' => 'heal_aoe',
|
||
'calc_type' => 'matk',
|
||
'cost' => 30,
|
||
'level_req' => 8,
|
||
'desc' => '为所有队员增加防护,恢复生命值',
|
||
'heal_ratio' => [0.3, 0.5, 0.75, 1.0],
|
||
'heal_base' => [15, 30, 50, 75],
|
||
'base' => [8, 18, 38, 65],
|
||
'growth' => [0.8, 1, 1.2, 1.5],
|
||
],
|
||
|
||
// 31. 恢复光环 - 生命值百分比型 (每人恢复 = 自己最大生命值 × 百分比)
|
||
31 => [
|
||
'name' => '恢复光环',
|
||
'type' => 'heal_aoe',
|
||
'calc_type' => 'hp_percent',
|
||
'cost' => 35,
|
||
'level_req' => 14,
|
||
'desc' => '释放温暖的光芒,基于自己的最大生命值恢复队员',
|
||
'heal_ratio' => [0.2, 0.3, 0.4, 0.5],
|
||
'base' => [8, 18, 38, 65],
|
||
'growth' => [0.8, 1, 1.2, 1.5],
|
||
],
|
||
|
||
// 32. 圣灵之力 - 混合型 (每人恢复 = (魔攻 + 物攻) × 倍数)
|
||
32 => [
|
||
'name' => '圣灵之力',
|
||
'type' => 'heal_aoe',
|
||
'calc_type' => 'hybrid',
|
||
'cost' => 45,
|
||
'level_req' => 22,
|
||
'desc' => '强大的群体治疗,恢复所有队员',
|
||
'heal_ratio' => [0.25, 0.4, 0.6, 0.85],
|
||
'heal_base' => [10, 20, 35, 55],
|
||
'base' => [8, 18, 38, 65],
|
||
'growth' => [0.8, 1, 1.2, 1.5],
|
||
],
|
||
|
||
// 33. 仙界救赎 - 智能治疗(优先治疗血量少的队员)
|
||
33 => [
|
||
'name' => '仙界救赎',
|
||
'type' => 'heal_aoe',
|
||
'calc_type' => 'smart_heal',
|
||
'cost' => 55,
|
||
'level_req' => 32,
|
||
'desc' => '至高的救赎之力,优先治疗血量较低的队员',
|
||
'heal_ratio' => [0.4, 0.6, 0.9, 1.3],
|
||
'heal_base' => [25, 45, 70, 110],
|
||
'priority_bonus' => [0.2, 0.3, 0.4, 0.5], // 血量越少加成越多
|
||
'base' => [8, 18, 38, 65],
|
||
'growth' => [0.8, 1, 1.2, 1.5],
|
||
],
|
||
|
||
// 34. 护盾术 - 基于防御属性 (每人恢复 = (物防+魔防) × 倍数)
|
||
34 => [
|
||
'name' => '护盾术',
|
||
'type' => 'heal_aoe',
|
||
'calc_type' => 'defense',
|
||
'cost' => 40,
|
||
'level_req' => 18,
|
||
'desc' => '根据防御力为队员恢复生命值',
|
||
'heal_ratio' => [0.5, 0.75, 1.1, 1.5],
|
||
'heal_base' => [8, 16, 28, 45],
|
||
'base' => [8, 18, 38, 65],
|
||
'growth' => [0.8, 1, 1.2, 1.5],
|
||
],
|
||
|
||
// 35. 团队共鸣 - 基于队伍状态 (每人恢复 = 魔攻 × 倍数 × (队员数量系数))
|
||
35 => [
|
||
'name' => '团队共鸣',
|
||
'type' => 'heal_aoe',
|
||
'calc_type' => 'team_sync',
|
||
'cost' => 38,
|
||
'level_req' => 20,
|
||
'desc' => '队员越多,治疗效果越强',
|
||
'heal_ratio' => [0.35, 0.55, 0.8, 1.1],
|
||
'team_bonus' => [0.2, 0.3, 0.45, 0.6], // 每增加一个队员增加的治疗百分比
|
||
'base' => [8, 18, 38, 65],
|
||
'growth' => [0.8, 1, 1.2, 1.5],
|
||
],
|
||
],
|
||
|
||
// ============ 品质掉落概率 ============
|
||
'quality_drop_rates' => [
|
||
'common' => 70, // 普通法术 70% 掉落概率
|
||
'rare' => 20, // 稀有法术 20% 掉落概率
|
||
'epic' => 8, // 史诗法术 8% 掉落概率
|
||
'legendary' => 2, // 传奇法术 2% 掉落概率
|
||
],
|
||
|
||
// ============ 法术品质对应的学习资源书数量 ============
|
||
'quality_levels' => [
|
||
'common' => 1, // 普通资源书可学习普通法术
|
||
'rare' => 2, // 稀有资源书可学习稀有法术
|
||
'epic' => 3, // 史诗资源书可学习史诗法术
|
||
'legendary' => 4, // 传奇资源书可学习传奇法术
|
||
],
|
||
|
||
// ============ 法术升级系统 ============
|
||
'upgrades' => [
|
||
// 每个等级需要的资源书数量和属性提升
|
||
1 => ['cost' => 0, 'bonus' => 0, 'cost_reduction' => 0],
|
||
2 => ['cost' => 2, 'bonus' => 10, 'cost_reduction' => 2],
|
||
3 => ['cost' => 3, 'bonus' => 20, 'cost_reduction' => 4],
|
||
4 => ['cost' => 4, 'bonus' => 30, 'cost_reduction' => 6],
|
||
5 => ['cost' => 5, 'bonus' => 40, 'cost_reduction' => 8],
|
||
6 => ['cost' => 6, 'bonus' => 50, 'cost_reduction' => 10],
|
||
7 => ['cost' => 8, 'bonus' => 60, 'cost_reduction' => 12],
|
||
8 => ['cost' => 10, 'bonus' => 70, 'cost_reduction' => 14],
|
||
9 => ['cost' => 12, 'bonus' => 80, 'cost_reduction' => 16],
|
||
10 => ['cost' => 15, 'bonus' => 100, 'cost_reduction' => 20],
|
||
],
|
||
|
||
// ============ 地牢法术掉落映射 ============
|
||
'dungeon_spell_drops' => [
|
||
1 => ['heal_single', 'damage_single', 'damage_aoe'], // 七玄门 (Lv.1-5)
|
||
2 => ['damage_single', 'damage_aoe', 'heal_aoe'], // 太南谷 (Lv.5-10)
|
||
3 => ['heal_single', 'heal_aoe'], // 血色禁地 (Lv.10-15)
|
||
4 => ['damage_single', 'damage_aoe'], // 黄枫谷 (Lv.15-20)
|
||
5 => ['damage_single', 'heal_aoe'], // 燕翎堡 (Lv.20-30)
|
||
6 => ['damage_single', 'heal_aoe'], // 越京皇宫 (Lv.30-40)
|
||
7 => ['damage_aoe'], // 乱星海-魁星岛 (Lv.40-50)
|
||
8 => ['damage_aoe', 'heal_single', 'heal_aoe'], // 虚天殿 (Lv.50-60)
|
||
9 => ['damage_single', 'damage_aoe', 'heal_single'], // 外星海 (Lv.60+)
|
||
],
|
||
|
||
// ============ 按法术类型和品质分类 ============
|
||
'spells_by_quality' => [
|
||
'common' => [
|
||
'heal_single' => [1],
|
||
'damage_single' => [10],
|
||
'damage_aoe' => [20],
|
||
'heal_aoe' => [30],
|
||
],
|
||
'rare' => [
|
||
'heal_single' => [2, 3],
|
||
'damage_single' => [11, 12],
|
||
'damage_aoe' => [21, 22],
|
||
'heal_aoe' => [31, 32],
|
||
],
|
||
'epic' => [
|
||
'heal_single' => [4, 5],
|
||
'damage_single' => [13, 14],
|
||
'damage_aoe' => [23, 24],
|
||
'heal_aoe' => [33, 34],
|
||
],
|
||
'legendary' => [
|
||
'heal_single' => [6],
|
||
'damage_single' => [15],
|
||
'damage_aoe' => [25],
|
||
'heal_aoe' => [35],
|
||
],
|
||
],
|
||
];
|