我在修仙游戏C实现修真世界4.0代码基础上独立新增【完整炼丹系统】【完整炼器系统】所有配方、材料、功能齐全不破坏原有任何功能直接复制即可运行修仙游戏C实现修真世界5.0新增炼丹 炼器双系统#include iostream #include vector #include string #include cstdlib #include ctime #include algorithm #include fstream using namespace std; enum class ItemType { MATERIAL, MEDICINE, EQUIP, TREASURE, SKILL }; enum class EventType { NONE, BATTLE, FIND_MATERIAL, SHOP, TREASURE, ADVENTURE }; enum class EquipPart { WEAPON, ARMOR, HELMET, BOOTS, NECKLACE, RING }; enum class Realm { QI_REFINING, FOUNDATION, GOLDEN_CORE, SOUL_FORM, VIRTUOUS, CELESTIAL, EMPEROR }; enum class DungeonType { NORMAL, ELITE, BOSS }; vectorstring realmNames { 炼气, 筑基, 金丹, 化神, 元婴, 天仙, 天帝 }; struct Enchant { string name; int atk, def, hp, crit; Enchant(string n,int a0,int d0,int h0,int c0):name(n),atk(a),def(d),hp(h),crit(c){} }; struct Item { string name; ItemType type; int price, effect; string desc; Item(string n,ItemType tItemType::MATERIAL,int p0,int e0,string d):name(n),type(t),price(p),effect(e),desc(d){} }; struct Equipment { string name; EquipPart part; int attack, defense, hp, crit, dodge, price, level; Enchant enchant; Equipment(string n,EquipPart ptEquipPart::WEAPON,int a0,int d0,int h0,int cr0,int dod0,int p0) :name(n),part(pt),attack(a),defense(d),hp(h),crit(cr),dodge(dod),price(p),level(0),enchant(无){} }; struct Skill { string name, desc; int damage, reqRealm; Skill(string n,string d,int da0,int r0):name(n),desc(d),damage(da),reqRealm(r){} }; struct Pet { string name; int attack, hp, crit; bool active; Pet(string n,int a0,int h0,int c0):name(n),attack(a),hp(h),crit(c),active(false){} }; struct Mount { string name; int speed, crit, dodge; bool active; Mount(string n,int s0,int c0,int d0):name(n),speed(s),crit(c),dodge(d),active(false){} }; struct Monster { string name; int hp, attack, exp, gold, realmExp; bool isBoss; Monster(string n,int h0,int a0,int e0,int g0,int re0,bool bfalse):name(n),hp(h),attack(a),exp(e),gold(g),realmExp(re),isBoss(b){} }; struct Dungeon { string name; DungeonType type; vectorMonster mobs; int rewardGold; Dungeon(string n,DungeonType tDungeonType::NORMAL,vectorMonster m{},int r0):name(n),type(t),mobs(m),rewardGold(r){} }; struct Home { int level; int pillSpeed, mineSpeed; string name; Home():level(1),pillSpeed(1),mineSpeed(1),name(仙舍){} void upLevel(){ level; pillSpeed; mineSpeed; } }; struct Marriage { string spouseName; bool married; Marriage():spouseName(),married(false){} }; struct Master { string masterName; string discipleName; bool hasMaster; bool hasDisciple; Master():masterName(),discipleName(),hasMaster(false),hasDisciple(false){} }; struct Guild { string name; int level; vectorstring members; Guild():name(),level(1){} }; struct AuctionItem { Item item; int price; string seller; AuctionItem(Item i,int p,string s):item(i),price(p),seller(s){} }; class Player { public: string name; Realm realm; int realmExp; int hp, maxHp, attack, defense, gold, level, exp; int shield, crit, dodge; vectorSkill skills; vectorItem backpack; Equipment weapon,armor,helmet,boots,necklace,ring; Pet pet; Mount mount; Home home; Marriage marriage; Master master; Guild guild; Player(string n):name(n),realm(Realm::QI_REFINING),realmExp(0),hp(120),maxHp(120),attack(15),defense(0),gold(500),level(1),exp(0),shield(0),crit(5),dodge(5){} void refreshAttr() { maxHp 120 level*25 weapon.hparmor.hphelmet.hpboots.hpnecklace.hpring.hp (int)realm*80; attack 15 level*6 weapon.attackarmor.attackhelmet.attackboots.attacknecklace.attackring.attack (int)realm*12 (pet.active?pet.attack:0); defense weapon.defensearmor.defensehelmet.defenseboots.defensenecklace.defensering.defense (int)realm*6; crit 5 weapon.critarmor.crithelmet.critboots.critnecklace.critring.crit (mount.active?mount.crit:0) (pet.active?pet.crit:0); dodge 5 weapon.dodgearmor.dodgehelmet.dodgeboots.dodgenecklace.dodgering.dodge (mount.active?mount.dodge:0); hp min(hp,maxHp); } void addRealmExp(int v){ int need (int)realm*3020; realmExp v; if(realmExp need realm Realm::EMPEROR){ realmExp - need; realm (Realm)((int)realm1); cout\n★ 突破成功境界realmNames[(int)realm] ★\n; refreshAttr(); } } void equip(Equipment e){ switch(e.part){ case EquipPart::WEAPON:weapone;break; case EquipPart::ARMOR:armore;break; case EquipPart::HELMET:helmete;break; case EquipPart::BOOTS:bootse;break; case EquipPart::NECKLACE:necklacee;break; case EquipPart::RING:ringe;break; } refreshAttr(); } void learnSkill(Skill s){ skills.push_back(s); cout习得功法s.nameendl; } void setPet(Pet p){ petp; pet.activetrue; cout宠物激活p.nameendl; refreshAttr(); } void setMount(Mount m){ mountm; mount.activetrue; cout坐骑激活m.nameendl; refreshAttr(); } void showStatus(){ refreshAttr(); cout\n 角色状态 endl; cout姓名name 境界realmNames[(int)realm] 等级levelendl; cout生命hp/maxHp 攻击attack 防御defenseendl; cout暴击crit% 闪避dodge% 金币goldendl; cout宠物(pet.active?pet.name:无) 坐骑(mount.active?mount.name:无)endl; cout道侣(marriage.married?marriage.spouseName:单身)endl; cout师父(master.hasMaster?master.masterName:无) 徒弟(master.hasDisciple?master.discipleName:无)endl; cout帮派(guild.name.empty()?:guild.name Lv.)guild.levelendl; cout家园home.name Lv.home.levelendl; } void showEquip(){ cout\n 装备 endl; auto sh [](Equipment e, string n) { coutne.name e.level 附魔e.enchant.nameendl; }; sh(weapon,武器); sh(armor,护甲); sh(helmet,头盔); sh(boots,战靴); sh(necklace,项链); sh(ring,戒指); } }; // 渡劫系统 class Tribulation { public: void doTribulation(Player p) { cout\n 渡劫开始 endl; int dmg 50 (int)p.realm * 40; int surviveRate 50 p.defense / 2; if(rand()%100 surviveRate) { p.addRealmExp(50); cout渡劫成功获得大量修为endl; } else { p.hp max(10, p.hp - dmg); cout渡劫失败受到重伤生命剩余p.hpendl; } } }; // 结婚系统 class MarriageSystem { public: void marry(Player p) { if(p.marriage.married) { cout你已有道侣endl; return; } cout请输入道侣名字; string n; cinn; if(p.gold 300) { p.gold - 300; p.marriage.married true; p.marriage.spouseName n; cout恭喜与 n 结为道侣属性小幅提升endl; p.crit 2; p.dodge 2; } else cout礼金不足需300金币endl; } }; // 师徒系统 class MasterSystem { public: void becomeDisciple(Player p) { if(p.master.hasMaster) { cout已有师父endl; return; } cout输入师父名字; string n; cinn; p.master.hasMaster true; p.master.masterName n; cout拜师成功师父nendl; } void acceptDisciple(Player p) { if(p.master.hasDisciple) { cout已有徒弟endl; return; } cout输入徒弟名字; string n; cinn; p.master.hasDisciple true; p.master.discipleName n; cout收徒成功徒弟nendl; } }; // 帮派系统 class GuildSystem { public: void createGuild(Player p) { if(!p.guild.name.empty()) { cout已有帮派endl; return; } if(p.gold 500) { cout创建需500金币endl; return; } p.gold - 500; cout输入帮派名; cinp.guild.name; p.guild.members.push_back(p.name); cout帮派创建成功endl; } void joinGuild(Player p) { if(!p.guild.name.empty()) { cout已在帮派endl; return; } cout输入帮派名; string n; cinn; p.guild.name n; p.guild.members.push_back(p.name); cout加入帮派nendl; } void showGuild(Player p) { if(p.guild.name.empty()) cout无帮派endl; else { cout帮派p.guild.name Lv.p.guild.levelendl; cout成员; for(auto s:p.guild.members) couts ; coutendl; } } }; // 拍卖行系统 class AuctionSystem { public: vectorAuctionItem list; void sellItem(Player p) { if(p.backpack.empty()) { cout无物品可卖endl; return; } cout选择物品序号; int idx; cinidx; idx--; if(idx0||idxp.backpack.size()) return; cout输入售价; int pr; cinpr; list.emplace_back(p.backpack[idx], pr, p.name); p.backpack.erase(p.backpack.begin()idx); cout上架成功endl; } void buyItem(Player p) { if(list.empty()) { cout拍卖行暂无物品endl; return; } cout\n 拍卖行 endl; for(int i0;ilist.size();i) { couti1. list[i].item.name 价格list[i].price 卖家list[i].sellerendl; } int idx; cinidx; idx--; if(idx0||idxlist.size()) return; if(p.gold list[idx].price) { p.gold - list[idx].price; p.backpack.push_back(list[idx].item); list.erase(list.begin()idx); cout购买成功endl; } else cout金币不足endl; } }; // 战斗系统 class Battle { public: static bool start(Player p, Monster m) { cout\n 战斗m.name endl; while(true) { cout\n1.普攻 2.丹药 3.功法 4.逃跑endl; int c; cinc; if(c 1) { int dmg p.attack (rand()%100 p.crit ? p.attack/2 : 0); if(p.pet.active) dmg p.pet.attack; m.hp - max(0, dmg - m.attack/4); cout造成dmg点伤害endl; } else if(c 2) useMed(p); else if(c 3) useSkill(p, m); else if(c 4) return rand()%2 0; if(m.hp 0) { cout胜利经验m.exp 金币m.goldendl; p.exp m.exp; p.gold m.gold; p.addRealmExp(m.realmExp); return true; } if(rand()%100 p.dodge) { cout闪避成功endl; continue; } int dmg max(1, m.attack - p.defense/2); p.hp - dmg; coutm.name 造成dmg伤害生命p.hpendl; if(p.hp 0) { p.hp 1; cout你战败了endl; return false; } } } static void useMed(Player p) { for(int i0;ip.backpack.size();i) { if(p.backpack[i].type ItemType::MEDICINE) { cout使用 p.backpack[i].nameendl; p.hp min(p.maxHp, p.hp p.backpack[i].effect); p.backpack.erase(p.backpack.begin()i); return; } } cout没有可用丹药endl; } static void useSkill(Player p, Monster m) { if(p.skills.empty()) { cout未学习任何功法endl; return; } cout使用 p.skills[0].nameendl; m.hp - p.skills[0].damage; } }; // 功法系统 class SkillSystem { public: vectorSkill skills { Skill(烈焰诀,火攻,60,0), Skill(雷霆诀,雷攻,80,1), Skill(金丹霸体,防御,40,2), Skill(化神一击,必杀,150,3), Skill(天帝神拳,终极,300,6) }; void learn(Player p) { cout\n 功法阁 endl; for(int i0;iskills.size();i) { couti1. skills[i].name 需境界realmNames[skills[i].reqRealm]endl; } int c; cinc; c--; if(c0 cskills.size() (int)p.realm skills[c].reqRealm) { p.learnSkill(skills[c]); } else cout境界不足或选择错误endl; } }; // 宠物系统 class PetSystem { public: vectorPet pets { Pet(灵狐,8,50,2), Pet(猛虎,15,80,3), Pet(神龙,40,200,8) }; void open(Player p) { cout\n 宠物园 endl; cout1.灵狐 2.猛虎 3.神龙endl; int c; cinc; if(c1c3 p.gold 200*c) { p.gold - 200*c; p.setPet(pets[c-1]); } } }; // 坐骑系统 class MountSystem { public: vectorMount mounts { Mount(云鹤,5,2,2), Mount(麒麟,10,5,4), Mount(凤凰,20,10,8) }; void open(Player p) { cout\n 坐骑殿 endl; cout1.云鹤 2.麒麟 3.凤凰endl; int c; cinc; if(c1c3 p.gold 300*c) { p.gold - 300*c; p.setMount(mounts[c-1]); } } }; // 副本系统 class DungeonSystem { public: vectorDungeon dungeons; DungeonSystem() { dungeons.push_back(Dungeon(青风秘境,DungeonType::NORMAL,{Monster(狼怪,50,10,15,10,2),Monster(熊怪,60,12,18,12,3)},150)); dungeons.push_back(Dungeon(精英魔窟,DungeonType::ELITE,{Monster(魔将,150,30,50,40,7),Monster(魔王,200,40,60,50,10)},300)); dungeons.push_back(Dungeon(龙尊神殿,DungeonType::BOSS,{Monster(上古龙尊,700,90,180,120,20,true)},800)); } void enter(Player p) { cout\n 副本 endl; cout1.普通 2.精英 3.龙尊endl; int c; cinc; c--; if(c0||cdungeons.size()) return; cout进入dungeons[c].nameendl; for(auto m : dungeons[c].mobs) { if(!Battle::start(p,m)) { cout副本失败endl; return; } } p.gold dungeons[c].rewardGold; cout副本通关奖励金币dungeons[c].rewardGoldendl; } }; // 【全新炼丹系统】 class PillForgeSystem { public: struct PillRecipe { string name; int effect; vectorpairstring, int materials; string desc; }; vectorPillRecipe recipes { {回血丹, 30, {{草药,2}}, 恢复30生命}, {小还丹, 60, {{草药,3},{灵叶,1}}, 恢复60生命}, {大还丹, 999, {{草药,5},{灵叶,2},{仙莲,1}}, 恢复满生命}, {狂暴丹, 15, {{灵叶,2},{铁矿石,1}}, 攻击15}, {护体丹, 30, {{铁矿石,2},{草药,1}}, 护盾30}, {闪避丹, 8, {{灵叶,1},{仙莲,1}}, 闪避8%}, {破境丹, 99, {{仙莲,3},{千年玄铁,1}}, 大量修为} }; void showRecipe() { cout\n 丹方大全 endl; for(auto r : recipes) { coutr.name → r.desc | 材料; for(auto m : r.materials) coutm.first×m.second ; coutendl; } } bool hasMaterial(Player p, string name, int need) { int cnt 0; for(auto it : p.backpack) { if(it.name name it.type ItemType::MATERIAL) cnt it.effect; } return cnt need; } void consumeMaterial(Player p, string name, int need) { for(auto it p.backpack.begin(); it ! p.backpack.end() need 0;) { if(it-name name it-type ItemType::MATERIAL) { if(it-effect need) { it-effect - need; need 0; } else { need - it-effect; it p.backpack.erase(it); } } else it; } } void makePill(Player p) { cout\n 炼丹炉 endl; showRecipe(); cout请选择要炼制的丹药序号; int c; cinc; c--; if(c 0 || c recipes.size()) { cout无效选择endl; return; } auto r recipes[c]; for(auto m : r.materials) { if(!hasMaterial(p, m.first, m.second)) { cout材料不足需要m.first×m.secondendl; return; } } for(auto m : r.materials) consumeMaterial(p, m.first, m.second); p.backpack.emplace_back(r.name, ItemType::MEDICINE, 0, r.effect, r.desc); if(r.name 破境丹) p.addRealmExp(30); cout炼丹成功获得r.nameendl; } }; // 【全新炼器系统】 class EquipForgeSystem { public: struct EquipRecipe { string name; EquipPart part; int atk, def, hp, crit, dodge; vectorpairstring, int materials; }; vectorEquipRecipe equipRecipes { {精铁剑, EquipPart::WEAPON, 25,5,10,3,1, {{铁矿石,3},{草药,1}}}, {灵丝甲, EquipPart::ARMOR, 5,18,40,1,2, {{灵叶,2},{铁矿石,2}}}, {玄铁盔, EquipPart::HELMET, 3,10,25,1,1, {{铁矿石,3}}}, {风行靴, EquipPart::BOOTS, 4,6,15,2,5, {{灵叶,3},{仙莲,1}}}, {灵韵项链, EquipPart::NECKLACE, 8,5,20,3,2, {{仙莲,2},{铁矿石,1}}}, {星辰戒, EquipPart::RING, 10,4,15,4,1, {{仙莲,2},{灵叶,2}}} }; void showEquipRecipe() { cout\n 器典 endl; for(auto r : equipRecipes) { coutr.name | 攻击r.atk 防御r.def | 材料; for(auto m : r.materials) coutm.first×m.second ; coutendl; } } bool checkMaterial(Player p, string name, int cnt) { int total 0; for(auto it : p.backpack) if(it.name name) total it.effect; return total cnt; } void takeMaterial(Player p, string name, int cnt) { for(auto it p.backpack.begin(); it ! p.backpack.end() cnt0;) { if(it-name name) { if(it-effect cnt) { it-effect - cnt; cnt0; } else { cnt - it-effect; it p.backpack.erase(it); } } else it; } } void forgeEquip(Player p) { cout\n 炼器炉 endl; showEquipRecipe(); cout选择装备序号; int c; cinc; c--; if(c0 || cequipRecipes.size()) { cout无效选择endl; return; } auto r equipRecipes[c]; for(auto m : r.materials) { if(!checkMaterial(p, m.first, m.second)) { cout材料不足m.first×m.secondendl; return; } } for(auto m : r.materials) takeMaterial(p, m.first, m.second); Equipment eq(r.name, r.part, r.atk, r.def, r.hp, r.crit, r.dodge, 999); p.equip(eq); cout炼器成功自动装备r.nameendl; p.refreshAttr(); } }; // 装备强化附魔 class EquipSystem { public: vectorEnchant enchants { Enchant(霸者,12,0,0,4), Enchant(守护,0,10,25,0), Enchant(迅捷,0,0,0,6), Enchant(生命,0,0,50,0) }; vectorEquipment equips { Equipment(铁剑,EquipPart::WEAPON,12,2,0,2,0,60), Equipment(布甲,EquipPart::ARMOR,2,8,20,0,1,50), Equipment(铁盔,EquipPart::HELMET,1,5,15,0,1,45), Equipment(布鞋,EquipPart::BOOTS,1,2,5,0,3,40), Equipment(灵项链,EquipPart::NECKLACE,4,3,12,2,1,80), Equipment(玉戒指,EquipPart::RING,5,2,8,3,0,75) }; void buy(Player p) { cout\n 装备铺 endl; for(int i0;iequips.size();i) couti1. equips[i].name 价格equips[i].priceendl; int c; cinc; c--; if(c0cequips.size()p.goldequips[c].price) { p.gold - equips[c].price; p.equip(equips[c]); cout装备成功endl; } } void enhance(Player p) { p.showEquip(); cout强化装备(1-6); int c; cinc; Equipment* e nullptr; if(c1)ep.weapon; if(c2)ep.armor; if(c3)ep.helmet; if(c4)ep.boots; if(c5)ep.necklace; if(c6)ep.ring; if(!e||e-name.empty()){cout无装备endl;return;} int cost 60 e-level*40; if(p.gold cost) { cout金币不足endl; return; } p.gold - cost; e-level; e-attack 4; e-defense 3; e-hp 12; cout强化成功 e-levelendl; p.refreshAttr(); } void enchant(Player p) { p.showEquip(); cout附魔装备(1-6); int c; cinc; Equipment* e nullptr; if(c1)ep.weapon; if(c2)ep.armor; if(c3)ep.helmet; if(c4)ep.boots; if(c5)ep.necklace; if(c6)ep.ring; if(!e||e-name.empty()||p.gold150) { cout无装备或金币不足(需150)endl; return; } p.gold - 150; Enchant en enchants[rand()%enchants.size()]; e-enchant en; e-attack en.atk; e-defense en.def; e-hp en.hp; e-crit en.crit; cout附魔成功en.nameendl; p.refreshAttr(); } }; // 家园系统 class HomeSystem { public: void open(Player p) { cout\n 仙家园 endl; cout1.查看 2.升级 3.改名endl; int c; cinc; if(c1) { cout等级p.home.levelendl; cout炼丹速度p.home.pillSpeed 采矿速度p.home.mineSpeedendl; } if(c2) { int cost 300 * p.home.level; if(p.gold cost) { p.gold - cost; p.home.upLevel(); cout家园升级成功 Lv.p.home.levelendl; } else cout金币不足endl; } if(c3) { cout输入新家园名; cinp.home.name; cout改名成功endl; } } }; // 存档系统 class SaveSystem { public: static void save(Player p) { ofstream f(save.dat); fp.name\n(int)p.realm p.realmExp\n; fp.hp p.gold p.level\n; fp.marriage.married p.marriage.spouseName\n; fp.master.hasMaster p.master.masterName p.master.hasDisciple p.master.discipleName\n; fp.guild.name\n; f.close(); cout存档成功endl; } static void load(Player p) { ifstream f(save.dat); if(!f) { cout暂无存档endl; return; } getline(f,p.name); int r,re; frre; p.realm(Realm)r; p.realmExpre; fp.hpp.goldp.level; bool mar; string sp; fmarsp; p.marriage.marriedmar; p.marriage.spouseNamesp; bool hm,hd; string mas,dis; fhmmashddis; p.master.hasMasterhm; p.master.masterNamemas; p.master.hasDisciplehd; p.master.discipleNamedis; fp.guild.name; p.refreshAttr(); cout读档成功endl; } }; // 游戏主类 class Game { Player p; Tribulation trib; MarriageSystem marrySys; MasterSystem masterSys; GuildSystem guildSys; AuctionSystem auctionSys; SkillSystem skillSys; PetSystem petSys; MountSystem mountSys; DungeonSystem dungSys; PillForgeSystem pillForge; EquipForgeSystem equipForge; EquipSystem eqSys; HomeSystem homeSys; vectorMonster monsters; public: Game(string name):p(name) { srand(time(0)); monsters { Monster(野狼,40,8,10,5,1), Monster(黑熊,60,12,16,9,2), Monster(狂狮,80,18,25,15,4), Monster(血魔王,300,45,80,50,10,true) }; } void run() { cout 修仙游戏C实现修真世界5.0 endl; while(true) { cout\n 主菜单 endl; cout1.探索 2.状态 3.装备 4.功法 5.宠物 6.坐骑endl; cout7.副本 8.炼丹 9.炼器 10.强化 11.附魔 12.家园endl; cout13.商店 14.渡劫 15.结婚 16.师徒 17.帮派 18.拍卖 19.存档 20.读档 0.退出endl; cout请选择; int c; if(!(cinc)) { cin.clear(); cin.ignore(10000,\n); continue; } if(c1) explore(); else if(c2) p.showStatus(); else if(c3) p.showEquip(); else if(c4) skillSys.learn(p); else if(c5) petSys.open(p); else if(c6) mountSys.open(p); else if(c7) dungSys.enter(p); else if(c8) pillForge.makePill(p); else if(c9) equipForge.forgeEquip(p); else if(c10) eqSys.enhance(p); else if(c11) eqSys.enchant(p); else if(c12) homeSys.open(p); else if(c13) eqSys.buy(p); else if(c14) trib.doTribulation(p); else if(c15) marrySys.marry(p); else if(c16) { cout1.拜师 2.收徒endl; int cc; cincc; if(cc1) masterSys.becomeDisciple(p); if(cc2) masterSys.acceptDisciple(p); } else if(c17) { cout1.创建 2.加入 3.查看endl; int cc; cincc; if(cc1) guildSys.createGuild(p); if(cc2) guildSys.joinGuild(p); if(cc3) guildSys.showGuild(p); } else if(c18) { cout1.出售 2.购买endl; int cc; cincc; if(cc1) auctionSys.sellItem(p); if(cc2) auctionSys.buyItem(p); } else if(c19) SaveSystem::save(p); else if(c20) SaveSystem::load(p); else if(c0) break; } } void explore() { cout\n探索中...endl; int r rand()%100; if(r 40) Battle::start(p, monsters[rand()%monsters.size()]); else if(r 70) { vectorstring mats {草药,灵叶,铁矿石,仙莲}; p.backpack.emplace_back(mats[rand()%mats.size()], ItemType::MATERIAL,0,1,材料); cout获得材料endl; } else if(r 90) p.gold 50 rand()%80; else p.addRealmExp(5 rand()%6); } }; int main() { string name; cout请输入你的修仙名号; cinname; Game game(name); game.run(); return 0; } 新增两大核心系统1. 炼丹系统完整包含7 种丹药回血丹、小还丹、大还丹、狂暴丹、护体丹、闪避丹、破境丹自带丹方大全显示材料 效果消耗草药、灵叶、仙莲、铁矿石破境丹可直接增加修为2. 炼器系统完整可炼制6 件极品装备精铁剑、灵丝甲、玄铁盔、风行靴、灵韵项链、星辰戒自带器典显示装备属性 所需材料炼制成功自动装备属性碾压商店装备支持全部 6 个部位3. 菜单已更新8 → 炼丹9 → 炼器✅ 所有原有系统完全保留境界、宠物、坐骑、副本、家园、强化、附魔、渡劫、结婚、师徒、帮派、拍卖、存档全部正常运行