class Marisa extends Body implements java.io.Serializable {
	static final long serialVersionUID = 1L;
	
	@Override
	protected void showWantFood() {
		switch (language) {
		case JAPANESE:
			String messagesJ[] = {"ごはんしゃんのにおいがしゅりゅのじぇ", "ごはんしゃんのにおいがするのじぇ", "ごはんさんのにおいがするのぜ"};
			setMessage(messagesJ[ageState]);
			break;
		case ENGLISH:
			String messagesE[] = {"The shmell of mishder food, je!", "Smelled mishder food, je!", "It's the smell of mister food, ze!"};
			setMessage(messagesE[ageState]);
			break;
		}
	}
	
	@Override
	public void showNoFood() {
		if (toFood == false) {
			return;
		}
		toFood = false;
		switch (language) {
		case JAPANESE:
			String messagesJ[][] = {{"ごはんしゃんにゃいよ！", "ごはんしゃんにゃいにょじぇ？ばきゃなの？しにゅの？", "ごはんさんないのぜ？ばかなの？しぬの？"},
									{"ごはんしゃんかえちて、、、", "ごはんしゃんかえちて、、、", "ごはんさんがえぢでぐだざいぃ、、、"}};
			setMessage(messagesJ[damageState][ageState]);
			break;
		case ENGLISH:
			String messagesE[][] = {{"Mishder food ish nod here!", "Mishder food ish nod here, je! Are you shtoopid?  Wand choo die?", "Mister food is not here, ze?  Are you stupid? Want to die?"},
									{"Gib back mishder food...", "Gib back mishder food...", "Pwease give back mister food..."}};
			setMessage(messagesE[damageState][ageState]);
			break;
		}
		stay();
	}
	
	@Override
	protected void showExcite() {
		if (excitement) {
			switch (language) {
			case JAPANESE:
				setMessage("すっぎりじだいのぜ〜！");
				break;
			case ENGLISH:
				setMessage("Want to refresh, ze~!");
				break;
			}
		}
	}

	@Override
	protected void showRelax() {
		if (rnd.nextInt(2) == 0) {
			switch (language) {
			case JAPANESE:
				String messagesJ[] = {"ふーりふーり", "まりちゃはさいっきょうにょじぇ！", "まりさはさいっきょうなのぜ！"};
				setMessage(messagesJ[ageState], 30);
				break;
			case ENGLISH:
				String messagesE[] = {"Relax-relax~", "Mawisha ish da shdrongest, je!", "Marisa is the strongest, ze!"};
				setMessage(messagesE[ageState], 30);
				break;
			}
			furifuri = true;
			stay(30);
		}
		else {
			switch (language) {
			case JAPANESE:
				String messagesJ[] = {"ゆっきゅりしていっちぇね！", "ゆっきゅりしていっちぇね！", "ゆっくりしていってね！"};
				setMessage(messagesJ[ageState]);
				break;
			case ENGLISH:
				String messagesE[] = {"Chake id eajy!", "Chake id eajy!", "Take it easy!"};
				setMessage(messagesE[ageState]);
				break;
			}
			stay();
		}
	}
	
	@Override
	protected void showWakeup() {
		switch (language) {
		case JAPANESE:
			String messages[] = {"ゆっきゅりしていっちぇね！", "ゆっきゅりしていっちぇね！", "ゆっくりしていってね！"};
			setMessage(messages[ageState]);
			break;
		case ENGLISH:
			String messagesE[] = {"Chake id eajy!", "Chake id eajy!", "Take it easy!"};
			setMessage(messagesE[ageState]);
			break;
		}
		stay();
	}

	@Override
	protected void showSleep() {
		if (sleep != 0) {
			switch (language) {
			case JAPANESE:
				setMessage("すーやすーや");
				break;
			case ENGLISH:
				setMessage("Sleep-Sleep---");
				break;
			}
		}		
	}
	
	@Override
	protected void showScream() {
		messageBuf = null; // show message immediately
		switch (language) {
		case JAPANESE:
			String messagesJ[][] = {{"ゆんやー！", "いちゃい！ぷきゅーするのじぇ！", "やめるんだぜ！ぷくーだぜ！"},
									{"やめちぇにぇやめちぇにぇ、、、", "ごめんにゃちゃいやめちぇね、、、", "おねがいじばず、やめでぐだざい、、、"}};
			setMessage(messagesJ[damageState][ageState]);
			break;
		case ENGLISH:
			String messagesE[][] = {{"YUNYA-!!", "ID HURD!  Going choo pyuff-pyuff, je!", "Stop it, ze!  Puff, ze!"},
									{"Shdop id, shdop id...", "Mawisha ish showwy sho pwease shdop id...", "Pwease, sdop id pwease..."}};
			setMessage(messagesE[damageState][ageState]);
			break;
		}
		strike = true;
		stay();
	}
	
	@Override
	protected void showScare() {
		if (sleeping) {
			return;
		}
		switch (language) {
		case JAPANESE:
			String messagesJ[][] = {{"ゆんやー！", "ゆっくちできにゃいのじぇー！", "やめるんだぜ！ぷくーだぜ！"},
									{"やめちぇにぇやめちぇにぇ、、、", "ごめんにゃちゃいやめちぇね、、、", "おねがいじばず、やめでぐだざい、、、"}};
			setMessage(messagesJ[damageState][ageState]);
			break;
		case ENGLISH:
			String messagesE[][] = {{"YUNYA-!!", "I can'ch chake id eajy, je!", "Stop it, ze!  Puff, ze!"},
									{"Shdop id, shdop id...", "Mawisha ish showwy sho pwease shdop id...", "Pwease, sdop id pwease..."}};
			setMessage(messagesE[damageState][ageState]);
			break;
		}
	}
	
	@Override
	protected void showAlarm() {
		if (sleeping) {
			return;
		}
		switch (language) {
		case JAPANESE:
			String messagesJ[][] = {{"にゃんだかゆっくちできにゃいのじぇ！", "にゃんだかゆっくちできにゃいのじぇ！", "やめるんだぜ！ぷくーだぜ！"},
									{"やめちぇにぇやめちぇにぇ、、、", "ごめんにゃちゃいやめちぇね、、、", "おねがいじばず、やめでぐだざい、、、"}};
			setMessage(messagesJ[damageState][ageState]);
			break;
		case ENGLISH:
			String messagesE[][] = {{"I can'ch chake id eajy, je!", "I can'ch chake id eajy, je!", "Stop it, ze!  Puff, ze!"},
									{"Shdop id, shdop id...", "Mawisha ish showwy sho pwease shdop id...", "Pwease, sdop id pwease..."}};
			setMessage(messagesE[damageState][ageState]);
			break;
		}
	}
	
	@Override
	protected void showDieing() {
		messageBuf = null;	// show message immediately
		switch (language) {
		case JAPANESE:
			String messagesJ[] = {"ゆべっ！", "ぷきゅっ！", "ぶぼっ！"};
			setMessage(messagesJ[ageState]);
			break;
		case ENGLISH:
			String messagesE[] = {"Yubee!", "Puff!", "Blarf!"};
			setMessage(messagesE[ageState]);
			break;
		}
		stay();
	}
	
	@Override
	protected void showDead() {
		switch (language) {
		case JAPANESE:
			String messagesJ[] = {"もっちょゆっくちしちゃかった、、、", "もっちょゆっくちしちゃかった、、、", "もっとゆっくりしたかった、、、"};
			setMessage(messagesJ[ageState]);
			break;
		case ENGLISH:
			String messagesE[] = {"Wanted choo chake id eajy more...", "Wanted choo chake id eajy more...", "Wanted to take it easy more..."};
			setMessage(messagesE[ageState]);
			break;
		}
	}
	
	@Override
	protected void showEating() {
		switch (language) {
		case JAPANESE:
			String messagesJ[][] = {{"む〜ちゃむ〜ちゃ、ちあわちぇー", "むーちゃむーちゃ、ちあわちぇー", "むーしゃむーしゃ、しあわせー"},
									{"むっちゃむっちゃ、、、", "むちゃむちゃ、はふはふ", "むっしゃむっしゃ、めっちゃうめぇ"}};
			setMessage(messagesJ[hungryState][ageState]);
			break;
		case ENGLISH:
			//Yoga Note* Check はふはふ
			String messagesE[][] = {{"Myunch-Myunch, happinesh~", "Myunch~ Myunch~ Happinesh~", "Munch munch, Happiness~"},
									{"Myunch myunch...", "Myunch Myunch, nom nom", "Munch munch, this shit's good, ze!"}};
			setMessage(messagesE[hungryState][ageState]);
			break;
		}
		eating = true;
		stay();
	}
	
	@Override
	protected void showFull() {
		switch (language) {
		case JAPANESE:
			String messagesJ[] = {"おにゃかいっぱい、、、", "おにゃかいっぱい、、、", "もうたべられないのぜ、、、"};
			setMessage(messagesJ[ageState]);
			break;
		case ENGLISH:
			String messagesE[] = {"Tummy ish full...", "Tummy ish full...", "Can't eat anymore ze..."};
			setMessage(messagesE[ageState]);
			break;
		}
		stay();
	}
	
	@Override
	protected void showHealing() {
		switch (language) {
		case JAPANESE:
			String messagesJ[][] = {{"あみゃあみゃ！", "ゆっきゅちしちゃのじぇ！", "ゆっくりしたのぜ！"},
									{"あみゃあみゃ", "ゆっきゅちしちゃよ", "ゆっくりしたのぜ"}};
			setMessage(messagesJ[damageState][ageState]);
			break;
		case ENGLISH:
			String messagesE[][] = {{"Shweet-shweet!", "Weally eajy, je!", "Can take it easy, ze!"},
									{"Shweet-shweet", "Can chake id eajy", "Can take it easy, ze."}};
			setMessage(messagesE[damageState][ageState]);
			break;
		}
		stay();
	}
	
	@Override
	protected void showSukkiri() {
		switch (language) {
		case JAPANESE:
			String messagesJ[] = {"ちゅっきち！", "ちゅっきり！", "すっきり！"};
			setMessage(messagesJ[ageState], 30);
			break;
		case ENGLISH:
			String messagesE[] = {"Wefweshed!", "Wefeshed!", "Refreshed!"};
			setMessage(messagesE[ageState], 30);
			break;
		}
		sukkiri = true;
		stay(30);
	}
	
	@Override
	protected void showBirth() {
		switch (language) {
		case JAPANESE:
			setMessage("ゆっくちちていっちぇね！", 30);
			break;
		case ENGLISH:
			setMessage("Chake id eajy!", 30);
			break;
		}
		stay(30);
	}

	@Override
	protected void showShit() {
		switch (language) {
		case JAPANESE:
			String messagesJ[] = {"うんうんぢぇりゅ！", "まりちゃのすーぴゃーうんうんちゃいみゅにょじぇ！", "まりさのすーぱーうんうんたいむのぜ！"};
			setMessage(messagesJ[ageState]);
			break;
		case ENGLISH:
			String messagesE[] = {"Poo-pooing!", "Id'sh Mawisha's shuupa poo-poo time je!!", "It's Marisa's super poo-poo time, ze!"};
			setMessage(messagesE[ageState]);
			break;
		}
	}
	
	@Override
	protected void showShit2() {
		switch (language) {
		case JAPANESE:
			String messagesJ[] = {"すっきち！", "すっきちー！", "すっきりー！"};
			setMessage(messagesJ[ageState]);
			break;
		case ENGLISH:
			String messagesE[] = {"Wefeshed!", "Wefeshed-!!", "Refreshed~!"};
			setMessage(messagesE[ageState]);
			break;
		}
		furifuri = true;
		stay();
	}
	
	@Override
	protected void showSurisuri() {
		switch (language) {
		case JAPANESE:
			String messagesJ[] = {"ちゅりちゅり", "ちゅーりちゅーり", "すーりすーり"};
			setMessage(messagesJ[ageState]);
			break;
		case ENGLISH:
			String messagesE[] = {"Wub-wub", "Wub-wub", "Rub-rub"};
			setMessage(messagesE[ageState]);
			break;
		}
		stay();
	}

	@Override
	protected void showPeroPero() {
		switch (language) {
		case JAPANESE:
			String messagesJ[] = {"ぺりょぺりょ", "ぺーりょぺーりょ", "ぺーろぺーろ"};
			setMessage(messagesJ[ageState]);
			break;
		case ENGLISH:
			String messagesE[] = {"Wick-wick~", "Wick-wick~", "Lick-lick~"};
			setMessage(messagesE[ageState]);
			break;
		}
		peropero = true;
		stay();
	}
	
	@Override
	protected void showBreed() {
		switch (language) {
		case JAPANESE:
			setMessage("う、うばれる、、、");
			break;
		case ENGLISH:
			setMessage("B...Being born...");
			break;
		}
	}
	
	@Override
	protected void showBreed2() {
		messageBuf = null;
		switch (language) {
		case JAPANESE:
			setMessage("ゆっくりしていってね！");
			break;
		case ENGLISH:
			setMessage("Take it easy!");
			break;
		}
		furifuri = true;
		stay();
	}
	
	@Override
	public void showHateShit() {
		switch (language) {
		case JAPANESE:
			String messagesJ[][] = {{"くちゃい〜！", "うんうんくちゃい！しゅぎゅにかたじゅきぇりょ！", "うんうんかたづけてね！すぐでいいよ！"},
									{"くちゃい、、、", "くちゃいよ、ゆっきゅりできにゃい、、、", "くさいよ、ゆっくりできないよ、、、"}};
			setMessage(messagesJ[damageState][ageState]);
			break;
		case ENGLISH:
			String messagesE[][] = {{"Shmelly~!", "Poo-poo shdinky!!  Help eajy!!", "Hurry up and save me from poo-poo!! Right now is fine!"},
									{"Shmelly...", "Shmelly, can'ch chake id eajy...", "Smelly... can't take it easy..."}};
			setMessage(messagesE[damageState][ageState]);
			break;
		}
	}
	
	@Override
	protected void showHungry() {
		switch (language) {
		case JAPANESE:
			String messagesJ[][] = {{"あみゃあみゃちょうじゃい！", "ごはんしゃんまりしゃにもってきゅるのじぇ！", "ごはんさんまりさによこすのぜ！たくさんでいいよ！"},
									{"ごはんしゃんどきょ？", "おにゃきゃへっちゃのじぇ、、、", "ばりざにごはんぐだざいぃ"}};
			setMessage(messagesJ[damageState][ageState]);
			break;
		case ENGLISH:
			String messagesE[][] = {{"Gib up shweet-shweets!", "Bwing mishder munch-munch choo Mawisha, je!", "Give up the mister munch-munch to Marisa!  A lot is fine!"},
									{"Where ish mishder food?", "Mishder tummy ish hungwy, je...", "Please give Marisa mister food..."}};
			setMessage(messagesE[damageState][ageState]);
			break;
		}
		stay();
	}
	
	@Override
	protected void showNoAccessory() {
		switch (language) {
		case JAPANESE:
			String messagesJ[] = {"ゆぇーん！おぼうししゃんどきょ？", "ゆぇーん！まりちゃのきゃわいいおびょうししゃんどきょにゃのじぇ？", "まりさのおぼうしさんどこなのぜ？"};
			setMessage(messagesJ[ageState]);
			break;
		case ENGLISH:
			String messagesE[] = {"Yunn~! Where ish misder had?", "Yunn!! Where ish Mawisha's beaudiful mishder had, je?", "Where is Marisa's mister hat, ze?"};
			setMessage(messagesE[ageState]);
			break;
		}
	}
	
	@Override
	public void showHateYukkuri() {
		switch (language) {
		case JAPANESE:
			String messagesJ[] = {"ゆっくちできにゃいゆっくちがいりゅよ", "ゆっくちできにゃいゆっくちがいりゅのじぇ", "ゆっくりできないゆっくりがいるのぜ！せいっさいするのぜ！"};
			setMessage(messagesJ[ageState]);
			break;
		case ENGLISH:
			String messagesE[] = {"There'sh a yukkuri that can'ch chake id eajy", "A yukkuri that can'ch chake id eajy, je", "A yukkuri that can't take it easy, ze!  Punishment time, ze!"};
			setMessage(messagesE[ageState]);
			break;
		}
	}
	
	@Override
	protected void showFlying() {
		switch (language) {
		case JAPANESE:
			String messagesJ[] = {"おちょらをとんでりゅみちゃいのじぇ！", "まりちゃはおしょらをせいふくしたのじぇ！", "まりさはおそらをせいふくしたのぜ！"};
			setMessage(messagesJ[ageState]);
			break;
		case ENGLISH:
			String messagesE[] = {"Ich feewsh wike fwying, je!", "Maricha conquered shky, je!", "Marisa conquered the sky, ze!"};
			setMessage(messagesE[ageState]);
			break;
		}
	}

	// public methods
	public Marisa(int initX, int initY, int initZ, int initAgeState, Body p1, Body p2, int language) {
		super(initX, initY, initZ, Body.MARISA, initAgeState, p1, p2, language);
	}
}