+void do_dragon(char *u)
+{
+ aClient *user;
+
+ if (!(user = find(u)))
+ {
+ notice(s_GameServ, u, "Fatal error. Contact a(n) %S admin. buf: %s", strtok(NULL, ""));
+ return;
+ }
+ else if (isIgnore(user))
+ {
+ #ifdef DEBUGMODE
+ log("Ignoring %s.", user->getNick());
+ #endif
+ return;
+ }
+ else if (!is_playing(user))
+ {
+ notice(s_GameServ, u, "You must be playing to fight the dragon!");
+ return;
+ }
+ else if (is_fighting(user))
+ {
+ notice(s_GameServ, u, "You are already in a fight. How will you fight the almighty dragon!?");
+ return;
+ }
+ else if (!isAlive(user->stats))
+ {
+ notice(s_GameServ, u, "You're dead. Wait until tomorrow to see your master!");
+ return;
+ }
+ else if (user->stats->level < REALLEVELS)
+ {
+ notice(s_GameServ, u, "You fool! Only those strong enough "\
+ "to vanquish any foe should DARE fight the dragon!");
+ notice(s_GameServ, u, "To put it in terms you can understand: "\
+ "You are too weak. You must be Level %d!", REALLEVELS);
+ return;
+ }
+
+ updateTS(user->stats);
+
+ Player *p = user->stats;
+ p->fight = new Monster(&boss);
+ notice(s_GameServ, u, "You approach the dragon's lair cautiously.");
+ notice(s_GameServ, u, "The stench of sulfer fills the air as a "\
+ "deep, red fog rolls in. The air is filled with the "\
+ "heated mist of deadly fire from beyond the cave "\
+ "entrance.");
+ notice(s_GameServ, u, "You adjust your %s, tighten your grip on "\
+ "your %s, and venture into the hot, dark cave. "\
+ "You are surprised at the angle of descent as you climb "\
+ "lower and lower, deeper into the dragon's den.", armors[p->level - 1], weapons[p->level - 1]);
+ notice(s_GameServ, u, "You come to the end of the cave to find "\
+ "a tooth. It is a large tooth... bigger than your torso."\
+ " Suddenly the darkness lifts from the gleam of an eye "\
+ " staring into your soul! The eye is large... HUGE!");
+ notice(s_GameServ, u, "Just then you notice the eye begin to "\
+ "glare orange! The tooth is moving... but it is still too "\
+ "dark for you to make out.... THE DRAGON! You see it!");
+ display_monster(u);
+}
+