import java.io.*; import java.util.*; public class Enemy extends Character{ private Random r = new Random(); //THIS IS MY MAKESHIFT DICTIONARY. ALL INDEXES MATCH. //MAPS CAN'T STORE INTS AND DOUBLES private String monsterPortrait; private String[] monsterNames = { "Centuar", "Cerberus", "Cyclops", "Demon", "Dragon", "Dust Bunny", "Fairy", "Faun", "Gargoyle", "Ghost", "Giant", "Medusa", "Minotaur", "Troll", "Vampire"}; private String[] monsterPics = { " ^\n /_\\{)\n |---) > _\n \\ /|(___( ~\n V_|)---\\\\_\n \\ \\", " /\\_/\\____,\n ,___/\\_/\\ \\ ~ /\n \\ ~ \\ ) XXX\n XXX / /\\_/\\___,\n \\o-o/-o-o/ ~ /\n ) / \\ XXX\n _| / \\ \\_/\n ,-/ _ \\_/ \\\n / ( /____,__| )\n ( |_ ( ) \\) _|\n _/ _) \\ \\__/ (_\n (,-(,(,(,/ \\,),),)", " _......._\n .-'.'.'.'.'.'.`-.\n .'.'.'.'.'.'.'.'.'.`. \n /.'.' '.\\\n |.' _.--...--._ |\n \\ `._.-.....-._.' /\n | _..- .-. -.._ |\n .-.' `. ((@)) .' '.-.\n ( ^ \\ `--. .-' / ^ )\n \\ / . . \\ /\n / .' '. .- \\\n ( _.\\ \\ (_`-._.-'_) /._\\)\n `-' \\ ' .--. / `-'\n | / /|_| `-._.'\\ |\n | | |_| | /-.._\n _..-\\ `.--.______.' |\n \\ ..... |\n `. .' `. /\n \\ .'\n `-..___..-`", " (_(\n ('')\n _ '\\ )>,_ .-->\n _>--w/((_ >,_.'\n ///\n '`' ", " _ __,----'~~~~~~~~~`-----.__\n . . `//====- ____,-'~`\n -. \\_|// . /||\\\\ `~~~~`---.___./\n ______-==. _-~o `\\/ ||| \\\\ _,'`\n __,--' ,=='||\\=_ ;_,_,/ _-'|- |`\\ \\\\ ,'\n _-' ,=' | \\\\`. '',/~7 /- / || `\\. /\n .' ,' | \\\\ \\_ ' / /- / || \\ /\n / _____ / | \\\\.`-_/ /|- _/ ,|| \\ /\n,-' `-|--'~~`--_ \\ `==-/ `| \\'--===-' _/`\n ' `-| /| )-'\\~' _,--''\n '-~^\\_/ | | `\\_ ,^ /\\\n / \\ \\__ \\/~ `\\__\n _,-' _/'\\ ,-'~____-'`-/ ``===\\\n ((->/' \\|||' `. `\\. , _||\n \\_ `\\ `~---|__i__i__\\--~'_/\n __-^-_ `) \\-.______________,-~'\n ///,-'~`__--^- |-------~~~~^'\n ///,--~`-\\", " .`:;ij;f,;,\n .`;sk568G6itz,-',\n .\\a\\x68888888886r/,-'\n -._sV888P^98^'^9888k,-_'\n `.-\\Q889' ' `888/,-',\n .-_J88f 188KJ-_.\n ,-;388| o o |888[=-\n _'.>88l j88E:._'\n _'Z3886._ ,J.__.488R=;.\n .'/288888888888888S^._'\n ''j^7Z988888885R^L`-.\n ,'./jQV9TYVR\\[\\`'.\n '|'|! |'|`. '\n ./ l | \\\n .'_ _.\\ j, `._,.\n (_)_)._) (_.__,._)", " {\\ /}\n >`.()'< \n {@ /|\\/@}\n `/'|`~'\n \\\\\n //\n '' ", " ,~,\n 'J'\n ===`===,\n \\/\\_V)\n | (\n |##)-.\n |/|/ '-~~\n / /\n W W", " _/ /U\\ \\_\n /' | {`,'} | `\\\n /' `\\__/\\=/\\__/' `\\\n / | /' |W|W| `\\ | \\\n / | | ,/ /I\\ \\, | | \\\n | \\ \\__ I `__/ / |\n | ,-\\-( )~-~( )-/-, |\n \\ / `\\ \\~/ /' \\ /\n ________\\|______| |_| |______|/______\n | \\ ``` ''' / |", " ___\n _/ @@\\\n ( \\ O/__\n \\ \\__)\n / \\\n / _\\\n `'''''``\n", " __ (m)\n __('')/ |\n ( ( ) /\n / | | \n \\( ( ) )\n /_| |_\\ ", " .--,\n ( (` ,--.\n ,--. ) )\\ `) ).--,\n `) )/ /) ) ( (( (`\n / /( (. '-.) )) )\n ,-.( ( / / /,--,\n `) \\ ` ==. .== ( (`\n ( (_) ~6~ ~6~ _) )\n \\_ ( )( )_/\n ,-,\\ \\ ^^ /\\ ,-.\n ( (_/ /\\ __, /\\ \\_) )\n '._.' _\\ /__/ /_ '._.'\n .--` \\ ` / `--.\n '----' \n", " .:\\:/:.\n .:\\:\\:/:/:.\n :.:\\:\\:/:/:.:\n :=.' - - '.=:\n '=(\\ 9 9 /)='\n ( (_) )\n /`-vvv-'\\\n / \\\n / /|,,,,,|\\ \\\n /_// /^\\ \\\\_\\\n WW( ( ) )WW\n __\\,,\\ /,,/__\n (______Y______)", " __.......__\n .-:::::::::::::-.\n .:::''':::::::''':::.\n .:::' `:::' `:::.\n .'\\ ::' ^^^ `:' ^^^ ':: /`.\n : \\ :: _.__ __._ :: / ;\n : \\`: .' ___\\ /___ `. :'/ ;\n : /\\ (_|_)\\ /(_|_) /\\ ;\n : / .\\ __.' ) ( `.__ /. \\ ;\n : \\ ( { } ) / ;\n : `-( . ^'^ . )-' ;\n `. \\ .'<`-._.-'>'. / .'\n `. \\ \\;`.';/ / .'\n `._ `-._ _.-' _.'\n .'`-.__ .'`-._.-'`. __.-'`.\n .' `. .' `.\n .' `-. .-' `." }; private int[][] monsterStats = { //{initStr,initDex,initIntell,level*Str,level*Dex,level*Intell} {16,10,4,3,2,1}, {10,16,3,2,3,1}, {18,8,1,3,2,1}, {11,13,12,3,2,2}, {20,12,20,5,5,5}, {7,18,10,1,3,2}, {8,11,25,1,2,4}, {9,14,16,1,2,2}, {10,13,5,3,2,1}, {4,14,24,1,2,3}, {30,10,0,3,2,0}, {9,12,12,1,3,3}, {25,8,0,2,4,0}, {10,10,10,2,3,2}}; private double[][] monsterStats2 = { //{accuracy,crit,armor,evasion} {.85,.05,.05,.02}, {.9,.05,0,.04}, {.8,0,.05,0}, {.8,0,.05,.03}, {.85,.05,.1,0}, {.8,.02,0,.20}, {.8,0,0,.20}, {1,0,0,.15}, {.7,0,.4,.05}, {.75,0,0,.66}, {.5,0,0,0}, {1,.1,.05,.1}, {.65,0,0,.1}, {.95,.05,.05,.08}}; public Enemy(String n, Hero h){ level=h.getLevel(); int index = Arrays.asList(monsterNames).indexOf(n); str=monsterStats[index][0]+((level-1)*monsterStats[index][3]); dex=monsterStats[index][1]+((level-1)*monsterStats[index][4]); intell=monsterStats[index][2]+((level-1)*monsterStats[index][5]); monsterPortrait=monsterPics[index]; maxHP=str*4; hP=maxHP; maxMP=intell*2; mP=maxMP; maxAP=10; aP=maxAP; minDamage=dex/4; maxDamage=dex/2; inventory= new ArrayList<Items>(); name = n; ability = new ArrayList<Abilities>(); spells = new ArrayList<Spells>(); accuracy = monsterStats2[index][0]; crit = monsterStats2[index][1]; armor = monsterStats2[index][2]; evasion = monsterStats2[index][3]; exp = 10+(5*(level-1)); } public String getPortrait(){ return monsterPortrait; } }