#include <bits/stdc++.h>
#include <windows.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
#define getch() _getch()
using namespace std;
string name,place="村庄";
int maxhealth=20,health=20;
int basicmagic=10,magic=10,maxmagic=basicmagic;
int basicattack=2,attack=basicattack,attack2=basicattack;
int defense=0;
int money=0,experience=0,level=1;
int basicspeed=2,speed=basicspeed;
int basic_critical_rate=2,critical_rate=2;
int xp_orb=0;
int weapon1=0,weapon2=0,tool1=0,tool2=0,attackdis1=2,attackdis2=8;
int armor1=0,armor2=0,armor3=0,armor4=0;
string weapon1name[50]={"空手",
"木剑","石剑","金剑","铁剑","钻石剑","下界合金剑","流浪者之利剑","远古之剑","源古剑","寒冰剑",
"寒霜剑","沙尘剑","沙暴剑","熔火剑"};
int weapon1attack[50]={0,
4,5,4,6,7,8,7,9,0,9,
0,9,0,8};
string weapon2name[50]= {"无","护盾","弓","","狙击者·弓","","沙暴弓","","熔火弓"};
int weapon2attack[50]= {0 ,0 ,4 ,0 ,6 ,0 ,8 ,0 ,6};
int weapon2attackdis[50]={0 ,0 ,8 ,0 ,10 ,0 ,9 ,0 ,8};
int arrow[50]={0,0};
string arrowname[50]={"","箭"};
string tool1name[50]={"无",
"木斧","石斧","金斧","铁斧","钻石斧","下界合金斧","流浪者之重斧","远古之斧","源古斧","寒冰斧",
"寒霜斧","沙尘斧","沙暴斧","熔火斧"};
int tool1speed[50]={12,
20,25,60,40,46,58,42,60,0,60,
0,60,0,70};
string tool2name[50]={"无",
"木稿","石稿","金稿","铁稿","钻石稿","下界合金稿","流浪者之钝稿","远古之稿","源古稿","寒冰稿",
"寒霜稿","沙尘斧","沙暴斧","熔火斧"};
int tool2speed[50]={0,
30,36,70,48,56,65,36,68,0,68,
0,68,0,80};
string armor1name[50]={"无",
"皮革头盔","锁链头盔","金头盔","铁头盔","钻石头盔","下界合金头盔","流浪者之旅帽","远古头盔","源古头盔","寒冰头盔",
"寒霜头盔","沙尘头盔","沙暴头盔","熔火头盔"};
string armor2name[50]={"无",
"皮革胸甲","锁链胸甲","金胸甲","铁胸甲","钻石胸甲","下界合金胸甲","流浪者之外甲","远古胸甲","源古胸甲","寒冰胸甲",
"寒霜胸甲","沙尘胸甲","沙暴胸甲","熔火胸甲"};
string armor3name[50]={"无",
"皮革护腿","锁链护腿","金护腿","铁护腿","钻石护腿","下界合金护腿","流浪者之护腿","远古护腿","源古护腿","寒冰护腿",
"寒霜护腿","沙尘护腿","沙暴护腿","熔火护腿"};
string armor4name[50]={"无",
"皮革靴子","锁链靴子","金靴子","铁靴子","钻石靴子","下界合金靴子","流浪者之护履","远古靴子","源古靴子","寒冰靴子",
"寒霜靴子","沙尘靴子","沙暴靴子","熔火靴子"};
int armor1defense[50]={0,
2,3,2,4,4,5,4,6,0,6,
0,6,0,7};
int armor2defense[50]={0,
3,4,4,5,7,8,6,8,0,8,
0,8,0,9};
int armor3defense[50]={0,
3,4,3,5,6,7,5,8,0,8,
0,8,0,8};
int armor4defense[50]={0,
1,2,2,3,3,4,3,6,0,6,
0,6,0,6};
int credit=50;
bool nether=false,ender=false,farland=false;
bool jungle_temple=false,desert_temple=false,woodland_mansion=false,stronghold=false,nether_fortress=false,bastion_remnants=false,end_city=false;
int time_last[10]={},time_now;
int hard,hard_max[10]={0,1,1,1,1,1,1,1};
bool wide=false;
bool hide_tips=false;
int hide_level=0;
int auto_save=0;
bool vis=false;
bool dead=false,defend=false,blessing=false;
bool help=false;
bool crafttable=false,furnace=false,smithtable=false,crafttable2=false;
bool undeadattack=false;
int attacklevel=0;
int diamondapple=0;
int magicup=1;
int badguy=0,weaponcheck=0,blesscold=0;
int task1=0;
string version="1.12.6",ver="1.12.6";
int choose;
char c_choose;
string str_choose;
int saving=0,reading=0;
bool cheat=false;
long long bag[10001]={};
string itemname[1000]={"",
"橡木","丛林木","针叶木","绯红菌柄","橡木木板","从林木木板","针叶木木板","绯红木板","工作台","木棍",
"木剑","木斧","木稿","圆石","石剑","石斧","石稿","熔炉","煤炭","铁矿石",
"铁锭","铁剑","铁斧","铁镐","铁头盔","铁胸甲","铁护腿","铁靴子","护盾","弓",
"金矿石","金锭","金剑","金斧","金稿","苹果","金苹果","线","金头盔","金胸甲",
"金护腿","金靴子","青金石","钻石","钻石剑","钻石斧","钻石镐","钻石头盔","钻石胸甲","钻石护腿",
"钻石靴子","钻石块","钻石苹果","锻造台","远古残骸","下界合金碎片","下界合金锭","下界合金剑","下界合金斧","下界合金稿",
"下界合金头盔","下界合金胸甲","下界合金护腿","下界合金靴子","黑曜石","重击技能书","三连击技能书","穿云箭技能书","反弹技能书","疯狂技能书",
"魔力护盾技能书","力量技能书","魔力精通技能书","闪避技能书","连击技能书","健康技能书", "空气斩技能书","冲刺技能书","治疗技能书","冥想技能书",
"脆弱化技能书","以攻为守技能书","伤害吸收技能书","防守姿态技能书","战斗姿态技能书","冲锋姿态技能书","透察技能书","铁皮技能书","节能技能书","吸血技能书",
"生死约技能书","最后一搏技能书","减速术技能书","疾跑技能书","愤怒技能书","魔力源泉技能书","冰冻技能书","嘲讽技能书","虚弱技能书","禁锢技能书",
"淬魔技能书","创造技能书","破坏技能书","创世技能书","流浪者之利剑","流浪者之重斧","流浪者之钝稿","流浪者之旅帽 ","流浪者之外甲","流浪者之护腿",
"流浪者之护履","狙击者·弓", "皮革头盔","皮革胸甲","皮革护腿","皮革靴子","锁链头盔","锁链胸甲","锁链护腿","锁链靴子",
"末影珍珠","烈焰棒","烈焰粉","末影之眼","金粒","下界石英","中级工作台","远古精华","远古锭","远古之剑",
"远古之斧","远古之稿","远古头盔","远古胸甲","远古护腿","远古靴子","源古锭","源古剑","源古斧","源古稿",
"源古头盔","源古胸甲","源古护腿","源古靴子","寒冰锭","寒冰剑","寒冰斧","寒冰稿","寒冰头盔","寒冰胸甲",
"寒冰护腿","寒冰靴子","寒霜锭","寒霜剑","寒霜斧","寒霜稿","寒霜头盔","寒霜胸甲","寒霜护腿","寒霜靴子",
"寒冰精华","沙尘精华","沙尘锭","沙尘剑","沙尘斧","沙尘稿","沙尘头盔","沙尘胸甲","沙尘护腿","沙尘靴子",
"沙暴锭","沙暴剑","沙暴弓","沙暴斧","沙暴稿","沙暴头盔","沙暴胸甲","沙暴护腿","沙暴靴子","熔火精华",
"熔火锭","熔火之剑","熔火弓","熔火斧","熔火稿","熔火头盔","熔火胸甲","熔火护腿","熔火靴子","凋零骷髅头",
"","","","","","","","","","",
"","","","","","","","","","",
};
int itemtype[1000]={0,
0,0,0,0,0, 0,0,0,0,0,
1,3,4,0,1, 3,4,0,0,0,
0,1,3,4,5, 6,7,8,2,2,
0,0,1,3,4, 0,0,0,5,6,
7,8,0,0,1, 3,4,5,6,7,
8,0,0,0,0, 0,0,1,3,4,
5,6,7,8,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,1, 3,4,5,6,7,
8,2,5,6,7, 8,5,6,7,8,
0,0,0,0,0, 0,0,0,0,1,
3,4,5,6,7, 8,0,1,3,4,
5,6,7,8,0, 1,3,4,5,6,
7,8,0,1,3, 4,5,6,7,8,
0,0,0,1,3, 4,5,6,7,8,
0,1,2,3,4, 5,6,7,8,0,
0,1,2,3,4, 5,6,7,8,0,
};
int itemlevel[1000]={0,
0,0,0,0,0, 0,0,0,0,0,
1,1,1,0,2, 2,2,0,0,0,
0,4,4,4,4, 4,4,4,1,2,
0,0,3,3,3, 0,0,0,3,3,
3,3,0,0,5, 5,5,5,5,5,
5,0,0,0,0, 0,0,6,6,6,
6,6,6,6,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,7, 7,7,7,7,7,
7,4,1,1,1, 1,2,2,2,2,
0,0,0,0,0, 0,0,0,0,8,
8,8,8,8,8, 8,0,9,9,9,
9,9,9,9,0, 10,10,10,10,10,
10,10,0,11,11, 11,11,11,11,11,
0,0,0,12,12, 12,12,12,12,12,
0,13,7,13,13, 13,13,13,13,0,
0,14,8,14,14, 14,14,14,14,0,
};
int item_sell_num[1000]={0,
32,32,32,32,128, 128,128,128,0,0,
0,0,0,64,0, 0,0,0,16,16,
12,2,2,2,1, 1,1,1,0,0,
16,12,2,2,2, 8,1,4,1,1,
1,1,16,2,1, 2,2,2,1,2,
1,2,1,0,1, 1,1,1,1,1,
1,1,1,1,2, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1,
1,1,2,2,2, 2,2,2,2,2,
4,2,4,2,64, 16,0,1,1,1,
1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1,
};
int item_sell_price[1000]={0,
1,1,1,1,1, 1,1,1,0,0,
0,0,0,1,0, 0,0,0,1,3,
3,1,1,1,1, 2,2,1,0,0,
4,5,1,2,2, 2,3,1,2,3,
3,2,3,1,1, 3,3,5,4,7,
2,9,12,0,1, 1,5,6,6,6,
7,8,8,7,1, 5,5,5,5,5,
5,5,5,5,5, 5,5,5,5,5,
5,5,5,5,5, 5,5,5,5,5,
5,5,5,5,5, 5,5,5,5,5,
5,5,5,5,5, 3,4,3,4,4,
3,6,1,1,1, 1,1,1,1,1,
1,1,1,1,3, 2,0,1,4,8,
12,12,20,32,28, 16,0,0,0,0,
0,0,0,0,4, 8,12,12,20,32,
28,16,4,0,0, 0,0,0,0,0,
1,1,4,8,12, 12,20,32,28,16,
0,0,0,0,0, 0,0,0,0,2,
8,16,24,24,24, 40,64,56,32,10,
};
string posionname[1000]={"",
"治疗药水","魔力药水","治疗药水II","魔力药水II","治疗药水III","魔力药水III","治疗药水IV","魔力药水IV","速度药水","力量药水",
"速度药水II","力量药水II","速度药水III","力量药水III","","", "","","","",
"","","","",
};
struct item{
string itemname;
int type;
int level;
int sell_num;
int sell_price;
}item[10000];
int enemyskill[100]={};
int enemyskillcold[100]={};
int skill[100]={0,
1,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0};
int skillmax[100]={0,
1,3,3,3,3,2,3,2,5,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,3,0,0,0,0,0,0,0};
int skillcold[100]={0,
0,2,2,3,2,3,1,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,6,0,0,0,0,0,0,0,
4,6,0,1,0,0,0,0};
int skillcoldnow[100]={};
int skillmagic[100]={0,
5,6,6,7,6,6,8,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,15,0,0,0,0,0,0,0};
string skillname[100]={"",
"侦察","重击","三连击","穿云箭","反弹","疯狂","魔力护盾","力量","魔力精通","闪避",
"连击","健康", "空气斩","冲刺","治疗","冥想术","脆弱化","以攻为守","伤害吸收","防守姿态",
"战斗姿态","冲锋姿态","透察","铁皮","节能", "吸血","生死约","最后一搏","减速术","疾跑",
"愤怒","魔力源泉", "冰冻","嘲讽","虚弱","禁锢","淬魔","创造","破坏","创世",
"减速箭","巨力重拳","狭小场地10","火球","凋零","黄沙","远程抗性",
};
bool skilltake[100]={0,1};
int skilltakemax=3,skilltakenow=1;
struct skill{
string skillname;
char rarity;
bool skilltake;
int level_now;
int level_max;
int cold[10];
int cold_now;
int magic[10];
int num[10],levelup[10][10][3],xp_orb[10],level[10];
}sk[300];
struct task{
int type;
string target_name;
int target_num;
int item_num;
int item[10][3];
int reward_num;
int reward[10][3];
int money;
int exp;
int credit;
bool done;
bool ac;
};
task tasks[100];
task player_task[100];
int player_task_cnt;
void color(string s,int front_color,int back_color){
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|back_color*16|FOREGROUND_INTENSITY|front_color);
cout<<s;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|7);
return;
}
inline void sc(int x){
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|x);
return;
}
string tips[300]={"",
"要致富,先撸树!","Creeper? aww man",
"So we back in the mine","你知道吗,作者是0303!",
"附魔师可以为你增加魔力,却不能附魔","一刀999,打怪爆神装!",
"cout<<tips[7];","你知道吗?这是一款用C++写的游戏",
"你的近战攻击距离很短♂","tips功能是1.11.4版本加入的哦!",
"在商店里可以购买技能书","附魔师可以压缩你的经验——但是收费。",
"有弓没有箭?去村庄商店看看吧。","做坏事是会有报应的。",
"打字不要打一半,尤其是","作弊是一种可耻的行为!",
"战斗时如果选择了不能使用的选项会浪费一回合。","tips:tips:tips:tips:tip",
"你知道吗?tips很多都是废话","你知道游戏里有多少条tips吗?",
"你知道攻击伤害浮动的比例是多少吗?","你在摸鱼吗?",
"本游戏仅在HFOJ上发布,转载请标明作者","cxh是个蒟蒻",
"看tips干嘛","有一些矿石需要高级的稿子才能挖掘。",
"有没有一把稿子能挖各种矿洞里的矿呢?","绿宝石就是拿来花的!",
"【这条tips已被删除】", "不是所有的地方都能砍树",
"在战斗使用技能,给敌人致命一击!","钻石苹果...钻石块...",
"既然懒得挖矿,干脆去洞穴探险吧!","今天你写作业了吗?",
"你羊了吗?","该给你写点什么tips好呢...(思考)",
"return 0;","如果你是新手,不妨看看新手教程。",
"有人能帮我写剩下的内容吗(","今夕是何年?",
"Whatever you choose is your choise.","Trust yourself.",
"(smile).","WHAT DID YOU DO WHAT ARE YOU DOING WHAT WILL YOU DO",
"Create the world by yourself.","meit doog a evah.",
"Nothing serious","Just do it.",
"SUS","love or be loved",
"治疗药水会根据你的生命上限回复血量。","治疗药水的回复量是有上限的",
"流浪商人收购一些东西,如果你有,不妨卖掉它们。","你的攻击伤害并不是固定的。",
"你知道吗?其实面对难缠的敌人,你可以逃跑。","你移动的距离不能大于你的速度!",
"并非遇见所有敌人都可以逃跑。","逃跑有概率失败。",
"你可以在背包查看物品的信息。","挖矿可以获得经验。",
"附魔师对于技能有着独特的了解。","Welcome to 1.12(.6)!",
"新版本,新tips!","传说在遥远的丛林里,隐藏着一座远古的神庙...",
"技能可不是你一个人的特殊能力!","你知道本游戏第一个S级技能怎么获得吗?",
"为什么没有苦力怕呢?","对于大部分BOSS来说,一般都会拥有技能。",
"打怪除了绿宝石,还可能有装备和材料!","I love you!",
"Never gonna give you up!","你知道tips功能加入来自哪里吗?",
"Never gonna let you down~","tips绝对不会骗人!give u up~",
"你说得对,但是MINECRAFT是由Mojang开发的一款沙盒游戏","石头有什么用?",
"流浪商人收购石头?真是不可理喻。","每个版本都会添加新的tips!",
"抽奖有风险。","如果你的运气好,不妨试试村庄里的抽奖机!",
"记得保存哦!","长时间使用电子产品对眼睛不好!",
"6","完了,编不出tips了",
"Wow~ You can really dance~","现在是什么版本?",
"强大的敌人一般有更好的掉落物","你见过末影人吗?",
"会不会有地方需要探险才能发现呢?","废弃的地狱传送门可能遍布在世界的各处...",
"绿宝石珍贵吗?不珍贵。","每个玩家都自带一个技能!",
"死亡并不可怕...","实际上,绝大多数情况下死亡不会掉落东西",
"流浪商人会出售一些独特的物品...","平原有一位旅行家,但似乎他被困在那了...",
"有时候,副手武器能帮你大忙。","弓不仅可以通过打怪获得,还能自己制造!",
"多去其他地方逛逛,总有惊喜。","哼,哼,啊啊啊啊啊啊",
"bdsm","存档文件可以保存到别处使用",
"Bark","我对【】说话!",
"升级可以在商店里出售更多东西。","技能的获得方式有很多种!",
"在村庄里有一座旅馆,去休息可以恢复生命","RP++",
"不要修改你的存档文件!","猪灵有时候不会攻击你。why?",
"你在期待什么?","新的版本,新的bug!(划",
"在此对所有支持本游戏的玩家表示感谢!","如有bug请反馈。",
"地狱的深处藏有坚固的矿石...","村庄里曾有一位恶霸肆意妄为...",
"真的有人会看这些吗?","如果有人能帮我写游戏——哪怕是tips也好!",
"树上有苹果,拿下来!","钻石苹果是一种神奇的物品,能增加你的生命。",
"你知道吗,我不知道","zhi yin ni tai mei",
"商店会收购物品,但不收购垃圾(","战斗时你每回合都会回复魔力!",
"升级可以增加可出售的物品数量!","有时怪物会掉落技能书。",
"一般来说,越强的怪掉落物越好!...虽然也可能没有","A Super Tip has spawned somewhere!",
"商店里总会有一本技能书。","升级技能有时需要压缩经验球!",
"别忘了保存!","转眼间一年就过去了...",
"研究表明这项研究没什么意义","上次更新是什么时候?",
"升级可以...总之很有用!","商店可以出售东西!",
"雪地有一个冰封的洞窟...但你得找人带你去。","据说有一本强大的技能书,能将敌人冰封...",
"Orz","stO",
"Happy New Year!","bilibili 关注 弱小无助小萌新(大雾",
"查看小说可以白嫖一颗绿宝石,一般人我不告诉他","沙漠里有一个尘封的神殿......",
"正在播放 : Minecraft - C418","正在播放 : Sweden - C418",
"正在播放 : Aria Math - C418","正在播放 : Moog City - C418",
"正在播放 : Living Mice - C418","正在播放 : Axolotl - C418",
"装备全套装备时,会有额外的加成!","地狱里有一个巨大的血红色要塞...",
"不需要的技能可以被降级。","新版本什么时候才更新?",
"check http://hfoj.net/blog/85/63a2785dac95767ac35f4240#1671592029628 !","你的工作台或许该升级了。",
"/gamemode 1 @s","在设置打开自动保存以防丢失存档!",
"你在期待什么?","依照惯例,版本更新至少会多更新10条tips",
};
void HideCursor(){
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_CURSOR_INFO CursorInfo;
GetConsoleCursorInfo(handle, &CursorInfo);
CursorInfo.bVisible = false;
SetConsoleCursorInfo(handle, &CursorInfo);
}
void gotoxy(int x,int y){
COORD pos;
pos.X=x;
pos.Y=y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
}
void destroy(int time,int speed){
time*=2;
time/=3;
for(int i=0;i<100;i++){
system("cls");
cout<<"进度:已完成 "<<i<<" %"<<endl;
Sleep(time/speed/100);
}
system("cls");
cout<<"进度:已完成 "<<100<<" %"<<endl;
Sleep(500);
system("cls");
return;
}
void say(string word,int time){
for(int i=0;i<=word.length();i++){
cout<<word[i];
Sleep(time);
}
return;
}
int rnd(int l,int r){
return rand()%(r-l+1)+l;
}
int levelup(int xp){
if(xp<level*100){
experience=xp;
return 0;
}
else{
xp-=level*100;
level++;
return 1+levelup(xp);
}
}
struct craft{
int num1,amount1;
int num2,amount2;
int num3,amount3;
int num4,amount4;
int condition1,condition2;
bool con(){
switch(condition1){
case 0:
return true;
break;
case 1:
if(crafttable) return true;
else return false;
break;
case 2:
if(furnace) return true;
else return false;
break;
case 3:
if(smithtable) return true;
else return false;
break;
case 4:
if(crafttable2) return true;
else return false;
break;
}
return 0;
}
bool con2(){
switch(condition2){
case 0:
return true;
break;
case 1:
if(crafttable) return true;
else return false;
break;
case 2:
if(furnace) return true;
else return false;
break;
case 3:
if(smithtable) return true;
else return false;
break;
case 4:
if(crafttable2) return true;
else return false;
break;
}
return 0;
}
}craft[10000];
void add_craft(int c_num,int c_num1,int c_amount1,int c_num2,int c_amount2,int c_num3,int c_amount3,int c_num4,int c_amount4,int c_condition1,int c_condition2){
craft[c_num].num1=c_num1;
craft[c_num].num2=c_num2;
craft[c_num].num3=c_num3;
craft[c_num].num4=c_num4;
craft[c_num].amount1=c_amount1;
craft[c_num].amount2=c_amount2;
craft[c_num].amount3=c_amount3;
craft[c_num].amount4=c_amount4;
craft[c_num].condition1=c_condition1;
craft[c_num].condition2=c_condition2;
return;
}
void recipe_reset(){
int asswecan=1;
add_craft(asswecan++,5,4, 1,1, 0,0, 0,0, 0,0);
add_craft(asswecan++,6,4,2,1,0,0,0,0,0,0);
add_craft(asswecan++,7,4,3,1,0,0,0,0,0,0);
add_craft(asswecan++,8,4,4,1,0,0,0,0,0,0);
add_craft(asswecan++,9,1,5,4,0,0,0,0,0,0);
add_craft(asswecan++,9,1,6,4,0,0,0,0,0,0);
add_craft(asswecan++,9,1,7,4,0,0,0,0,0,0);
add_craft(asswecan++,9,1,8,4,0,0,0,0,0,0);
add_craft(asswecan++,10,4,5,2,0,0,0,0,0,0);
add_craft(asswecan++,10,4,6,2,0,0,0,0,0,0);
add_craft(asswecan++,10,4,7,2,0,0,0,0,0,0);
add_craft(asswecan++,10,4,8,2,0,0,0,0,0,0);
add_craft(asswecan++,11,1,5,2,10,1,0,0,1,0);
add_craft(asswecan++,11,1,6,2,10,1,0,0,1,0);
add_craft(asswecan++,11,1,7,2,10,1,0,0,1,0);
add_craft(asswecan++,11,1,8,2,10,1,0,0,1,0);
add_craft(asswecan++,12,1,5,3,10,2,0,0,1,0);
add_craft(asswecan++,12,1,6,3,10,2,0,0,1,0);
add_craft(asswecan++,12,1,7,3,10,2,0,0,1,0);
add_craft(asswecan++,12,1,8,3,10,2,0,0,1,0);
add_craft(asswecan++,13,1,5,3,10,2,0,0,1,0);
add_craft(asswecan++,13,1,6,3,10,2,0,0,1,0);
add_craft(asswecan++,13,1,7,3,10,2,0,0,1,0);
add_craft(asswecan++,13,1,8,3,10,2,0,0,1,0);
add_craft(asswecan++,15,1,14,2,10,1,0,0,1,0);
add_craft(asswecan++,16,1,14,3,10,2,0,0,1,0);
add_craft(asswecan++,17,1,14,3,10,2,0,0,1,0);
add_craft(asswecan++,18,1,14,8,0,0,0,0,1,0);
add_craft(asswecan++,21,1,19,1,20,1,0,0,2,0);
add_craft(asswecan++,22,1,21,2,10,1,0,0,1,0);
add_craft(asswecan++,23,1,21,3,10,2,0,0,1,0);
add_craft(asswecan++,24,1,21,3,10,2,0,0,1,0);
add_craft(asswecan++,25,1,21,5,0,0,0,0,1,0);
add_craft(asswecan++,26,1,21,8,0,0,0,0,1,0);
add_craft(asswecan++,27,1,21,7,0,0,0,0,1,0);
add_craft(asswecan++,28,1,21,4,0,0,0,0,1,0);
add_craft(asswecan++,29,1,21,1,5,6,0,0,1,0);
add_craft(asswecan++,29,1,21,1,6,6,0,0,1,0);
add_craft(asswecan++,29,1,21,1,7,6,0,0,1,0);
add_craft(asswecan++,29,1,21,1,8,6,0,0,1,0);
add_craft(asswecan++,30,1,38,3,10,3,0,0,1,0);
add_craft(asswecan++,32,1,19,1,31,1,0,0,2,0);
add_craft(asswecan++,32,1,125,9,0,0,0,0,1,0);
add_craft(asswecan++,33,1,32,2,10,1,0,0,1,0);
add_craft(asswecan++,34,1,32,3,10,2,0,0,1,0);
add_craft(asswecan++,35,1,32,3,10,2,0,0,1,0);
add_craft(asswecan++,37,1,36,1,32,8,0,0,1,0);
add_craft(asswecan++,39,1,32,5,0,0,0,0,1,0);
add_craft(asswecan++,40,1,32,8,0,0,0,0,1,0);
add_craft(asswecan++,41,1,32,7,0,0,0,0,1,0);
add_craft(asswecan++,42,1,32,4,0,0,0,0,1,0);
add_craft(asswecan++,44,9,52,1,0,0,0,0,0,0);
add_craft(asswecan++,52,1,44,9,0,0,0,0,1,0);
add_craft(asswecan++,45,1,44,2,10,1,0,0,1,0);
add_craft(asswecan++,46,1,44,3,10,2,0,0,1,0);
add_craft(asswecan++,47,1,44,3,10,2,0,0,1,0);
add_craft(asswecan++,48,1,44,5,0,0,0,0,1,0);
add_craft(asswecan++,49,1,44,8,0,0,0,0,1,0);
add_craft(asswecan++,50,1,44,7,0,0,0,0,1,0);
add_craft(asswecan++,51,1,44,4,0,0,0,0,1,0);
add_craft(asswecan++,53,1,52,2,37,1,0,0,1,0);
add_craft(asswecan++,54,1,5,4,21,2,0,0,1,0);
add_craft(asswecan++,54,1,6,4,21,2,0,0,1,0);
add_craft(asswecan++,54,1,7,4,21,2,0,0,1,0);
add_craft(asswecan++,54,1,8,4,21,2,0,0,1,0);
add_craft(asswecan++,56,1,19,1,55,1,0,0,2,0);
add_craft(asswecan++,57,1,56,4,32,4,0,0,1,0);
add_craft(asswecan++,58,1,45,1,57,1,0,0,3,0);
add_craft(asswecan++,59,1,46,1,57,1,0,0,3,0);
add_craft(asswecan++,60,1,47,1,57,1,0,0,3,0);
add_craft(asswecan++,61,1,48,1,57,1,0,0,3,0);
add_craft(asswecan++,62,1,49,1,57,1,0,0,3,0);
add_craft(asswecan++,63,1,50,1,57,1,0,0,3,0);
add_craft(asswecan++,64,1,51,1,57,1,0,0,3,0);
add_craft(asswecan++,127,1,9,1,21,4,44,4,1,0);
add_craft(asswecan++,129,1,128,3,21,2,32,2,4,0);
add_craft(asswecan++,130,1,129,2,10,1,0,0,4,0);
add_craft(asswecan++,131,1,129,3,10,2,0,0,4,0);
add_craft(asswecan++,132,1,129,3,10,2,0,0,4,0);
add_craft(asswecan++,133,1,129,5,0,0,0,0,4,0);
add_craft(asswecan++,134,1,129,8,0,0,0,0,4,0);
add_craft(asswecan++,135,1,129,7,0,0,0,0,4,0);
add_craft(asswecan++,136,1,129,4,0,0,0,0,4,0);
add_craft(asswecan++,145,1,161,3,21,2,32,2,4,0);
add_craft(asswecan++,146,1,145,2,10,1,0,0,4,0);
add_craft(asswecan++,147,1,145,3,10,2,0,0,4,0);
add_craft(asswecan++,148,1,145,3,10,2,0,0,4,0);
add_craft(asswecan++,149,1,145,5,0,0,0,0,4,0);
add_craft(asswecan++,150,1,145,8,0,0,0,0,4,0);
add_craft(asswecan++,151,1,145,7,0,0,0,0,4,0);
add_craft(asswecan++,152,1,145,4,0,0,0,0,4,0);
add_craft(asswecan++,163,1,162,3,21,2,32,2,4,0);
add_craft(asswecan++,164,1,163,2,10,1,0,0,4,0);
add_craft(asswecan++,165,1,163,3,10,2,0,0,4,0);
add_craft(asswecan++,166,1,163,3,10,2,0,0,4,0);
add_craft(asswecan++,167,1,163,5,0,0,0,0,4,0);
add_craft(asswecan++,168,1,163,8,0,0,0,0,4,0);
add_craft(asswecan++,169,1,163,7,0,0,0,0,4,0);
add_craft(asswecan++,170,1,163,4,0,0,0,0,4,0);
add_craft(asswecan++,123,2,122,1,0,0,0,0,4,0);
add_craft(asswecan++,181,1,180,3,32,2,123,3,4,0);
add_craft(asswecan++,182,1,181,2,10,1,0,0,4,0);
add_craft(asswecan++,183,1,181,3,10,3,0,0,1,0);
add_craft(asswecan++,184,1,181,3,10,2,0,0,4,0);
add_craft(asswecan++,185,1,181,3,10,2,0,0,4,0);
add_craft(asswecan++,186,1,181,5,0,0,0,0,4,0);
add_craft(asswecan++,187,1,181,8,0,0,0,0,4,0);
add_craft(asswecan++,188,1,181,7,0,0,0,0,4,0);
add_craft(asswecan++,189,1,181,4,0,0,0,0,4,0);
return;
}
void create(){
SetConsoleTitle("--合成--");
while(1){
system("cls");
cout<<"以下是你可以合成的物品列表。"<<endl;
cout<<"输入合成编号以合成。"<<endl<<endl;
for(int i=1;i<=500;i++){
if(craft[i].num1!=0&&craft[i].con()&&craft[i].con2()){
if(bag[craft[i].num2]>=craft[i].amount2&&bag[craft[i].num3]>=craft[i].amount3&&bag[craft[i].num4]>=craft[i].amount4){
cout<<"编号"<<i<<": ";
switch(craft[i].condition1){
case 2:
cout<<"熔炼 ";
break;
case 3:
cout<<"锻造 ";
break;
default:
cout<<"合成 ";
break;
}
cout<<item[craft[i].num1].itemname<<"x"<<craft[i].amount1<<" 需要 ";
cout<<item[craft[i].num2].itemname<<"x"<<craft[i].amount2<<" ";
if(craft[i].amount3>0) cout<<","<<item[craft[i].num3].itemname<<"x"<<craft[i].amount3<<" ";
if(craft[i].amount4>0) cout<<","<<item[craft[i].num4].itemname<<"x"<<craft[i].amount4<<" ";
cout<<endl;
if(wide) cout<<endl;
}
}
}
cout<<endl<<"输入 0 返回"<<endl;
cin>>choose;
int i=choose;
if(choose==0) return;
else{
if(craft[i].num1!=0&&craft[i].con()&&craft[i].con2()){
if(bag[craft[i].num2]>=craft[i].amount2&&bag[craft[i].num3]>=craft[i].amount3&&bag[craft[i].num4]>=craft[i].amount4){
if(bag[craft[i].num2]>=2*craft[i].amount2&&bag[craft[i].num3]>=2*craft[i].amount3&&bag[craft[i].num4]>=2*craft[i].amount4){
cout<<"你要";
switch(craft[i].condition1){
case 2:
cout<<"熔炼";
break;
case 3:
cout<<"锻造";
break;
default:
cout<<"合成";
break;
}
cout<<"多少次?"<<endl;
cin>>choose;
if(bag[craft[i].num2]<choose*craft[i].amount2||bag[craft[i].num3]<choose*craft[i].amount3||bag[craft[i].num4]<choose*craft[i].amount4){
cout<<"材料不足!"<<endl;
getch();
}else{
cout<<item[craft[i].num1].itemname<<" 合成成功!"<<"( 共计 "<<craft[i].amount1*choose<<" 个 )"<<endl;
bag[craft[i].num1]+=choose*craft[i].amount1;
bag[craft[i].num2]-=choose*craft[i].amount2;
bag[craft[i].num3]-=choose*craft[i].amount3;
bag[craft[i].num4]-=choose*craft[i].amount4;
getch();
}
}else{
cout<<item[craft[i].num1].itemname<<" 合成成功!"<<endl;
bag[craft[i].num1]+=craft[i].amount1;
bag[craft[i].num2]-=craft[i].amount2;
bag[craft[i].num3]-=craft[i].amount3;
bag[craft[i].num4]-=craft[i].amount4;
getch();
}
}else{
cout<<"请勿乱输!"<<endl;
}
}else{
cout<<"请勿乱输!"<<endl;
getch();
}
}
}
return;
}
void reset(){
attack=basicattack+weapon1attack[weapon1];
attack2=basicattack+weapon2attack[weapon2];
attackdis2=weapon2attackdis[weapon2];
defense=armor1defense[armor1]+armor2defense[armor2]+armor3defense[armor3]+armor4defense[armor4];
maxmagic=basicmagic;
magic=min(basicmagic,magic);
speed=basicspeed;
critical_rate=basic_critical_rate;
for(int i=1;i<=100;i++) enemyskill[i]=0;
if(skill[8]>0&&sk[8].skilltake==1){
attack+=skill[8];
}
if(skill[9]>0&&sk[9].skilltake==1){
maxmagic+=2+skill[9];
}
if(armor1==4&&armor2==4&&armor3==4&&armor4==4){
defense+=2;
}
if(armor1==5&&armor2==5&&armor3==5&&armor4==5){
defense+=3;
}
if(armor1==6&&armor2==6&&armor3==6&&armor4==6){
defense+=4;
}
if(armor1==7&&armor2==7&&armor3==7&&armor4==7){
attack+=1;
}
if(armor1==8&&armor2==8&&armor3==8&&armor4==8){
defense+=6;
}
if(armor1==10&&armor2==10&&armor3==10&&armor4==10){
maxmagic+=5;
}
if(armor1==12&&armor2==12&&armor3==12&&armor4==12){
critical_rate+=15;
}
if(armor1==14&&armor2==14&&armor3==14&&armor4==14){
skill[44]=1;
sk[44].skilltake=true;
}else skill[44]=0,sk[44].skilltake=false;
return;
}
struct drp{
int drop_num;
int rand1,rand2;
int drop_amount1,drop_amount2;
}d[114514];
void add_drop(int num,int drop_num,int rand1,int rand2,int drop_amount1,int drop_amount2){
d[num].drop_num=drop_num;
d[num].rand1=rand1;
d[num].rand2=rand2;
d[num].drop_amount1=drop_amount1;
d[num].drop_amount2=drop_amount2;
return;
}
void drop_clear(){
for(int i=1;i<=114;i++){
d[i].drop_num=0;
d[i].drop_amount1=0;
d[i].drop_amount2=0;
d[i].rand1=0;
d[i].rand2=0;
}
return;
}
void drop(string name){
if(!dead) return;
drop_clear();
if(name=="铁傀儡"){
add_drop(1,21,1,1,2,2);
}
if(name=="僵尸"){
add_drop(1,22,10,1,1,0);
add_drop(2,15,5,1,1,0);
add_drop(3,113,20,1,1,0);
add_drop(4,114,20,1,1,0);
add_drop(5,115,20,1,1,0);
add_drop(6,116,20,1,1,0);
add_drop(7,117,40,1,1,0);
add_drop(8,118,40,1,1,0);
add_drop(9,119,40,1,1,0);
add_drop(10,120,40,1,1,0);
}
if(name=="骷髅"){
choose=1+rand()%3;
cout<<"获得 "<<choose<<" 个箭!"<<endl;
arrow[1]+=choose;
getch();
add_drop(1,30,20,1,1,0);
add_drop(2,113,20,1,1,0);
add_drop(3,114,20,1,1,0);
add_drop(4,115,20,1,1,0);
add_drop(5,116,20,1,1,0);
add_drop(6,117,40,1,1,0);
add_drop(7,118,40,1,1,0);
add_drop(8,119,40,1,1,0);
add_drop(9,120,40,1,1,0);
}
if(name=="流浪者"){
choose=1+rand()%3;
cout<<"获得 "<<choose<<" 个箭!"<<endl;
arrow[1]+=choose;
getch();
add_drop(1,30,16,1,1,0);
add_drop(2,117,24,1,1,0);
add_drop(3,118,24,1,1,0);
add_drop(4,119,24,1,1,0);
add_drop(5,120,24,1,1,0);
add_drop(6,108,36,1,1,0);
add_drop(7,109,36,1,1,0);
add_drop(8,110,36,1,1,0);
add_drop(9,111,36,1,1,0);
add_drop(10,161,2,1,1,0);
}
if(name=="强壮僵尸"){
add_drop(1,22,8,1,1,0);
add_drop(2,15,4,1,1,0);
add_drop(3,113,16,1,1,0);
add_drop(4,114,16,1,1,0);
add_drop(5,115,16,1,1,0);
add_drop(6,116,16,1,1,0);
add_drop(7,117,32,1,1,0);
add_drop(8,118,32,1,1,0);
add_drop(9,119,32,1,1,0);
add_drop(10,120,32,1,1,0);
add_drop(11,66,10,1,1,0);
add_drop(12,72,33,1,1,0);
}
if(name=="狙击骷髅"){
choose=2+rand()%3;
cout<<"获得 "<<choose<<" 个箭!"<<endl;
arrow[1]+=choose;
getch();
add_drop(1,112,3,1,1,0);
add_drop(2,30,2,1,1,0);
add_drop(3,117,16,1,1,0);
add_drop(4,118,16,1,1,0);
add_drop(5,119,16,1,1,0);
add_drop(6,120,16,1,1,0);
add_drop(7,68,5,1,1,0);
}
if(name=="尸壳"){
add_drop(1,22,9,1,1,0);
add_drop(2,15,4,1,1,0);
add_drop(3,113,18,1,1,0);
add_drop(4,114,18,1,1,0);
add_drop(5,115,18,1,1,0);
add_drop(6,116,18,1,1,0);
add_drop(7,117,36,1,1,0);
add_drop(8,118,36,1,1,0);
add_drop(9,119,36,1,1,0);
add_drop(10,120,36,1,1,0);
add_drop(10,162,4,1,1,0);
}
if(name=="蜘蛛"){
add_drop(1,38,1,1,1,0);
add_drop(2,74,100,1,1,0);
}
if(name=="雪怪"){
add_drop(1,22,2,1,1,0);
add_drop(2,45,4,1,1,0);
add_drop(3,25,16,1,1,0);
add_drop(4,26,16,1,1,0);
add_drop(5,27,16,1,1,0);
add_drop(6,28,16,1,1,0);
add_drop(7,48,20,1,1,0);
add_drop(8,49,20,1,1,0);
add_drop(9,50,20,1,1,0);
add_drop(10,51,20,1,1,0);
add_drop(11,97,32,1,1,0);
add_drop(12,161,1,1,1,1);
}
if(name=="末影人"){
add_drop(1,121,2,1,1,0);
add_drop(2,74,50,1,1,0);
}
if(name=="僵尸猪人"){
choose=1+rand()%3;
cout<<"获得 "<<choose<<" 个金粒!"<<endl;
bag[125]+=choose;
getch();
add_drop(1,33,8,1,1,0);
add_drop(2,39,20,1,1,0);
add_drop(3,40,20,1,1,0);
add_drop(4,41,20,1,1,0);
add_drop(5,42,20,1,1,0);
}
if(name=="猪灵"){
choose=1+rand()%3;
cout<<"获得 "<<choose<<" 个金粒!"<<endl;
bag[125]+=choose;
getch();
add_drop(1,33,8,1,1,0);
add_drop(2,39,20,1,1,0);
add_drop(3,40,20,1,1,0);
add_drop(4,41,20,1,1,0);
add_drop(5,42,20,1,1,0);
}