]> jfr.im git - irc/gameservirc.git/blobdiff - gameserv/gameserv.cpp
Fixed the monsters<->master correlations... the master's stats for your level
[irc/gameservirc.git] / gameserv / gameserv.cpp
index 1929a2f170fbf303077a435d1d5a3cab11f8959c..d2e37a4f4931f048de5b0cc9154efa6b04a64eb8 100644 (file)
@@ -625,12 +625,15 @@ void do_list(char *u)
 void do_logout(char *u)
 {
     aClient *user;
+    char *name = strtok(NULL, " ");
+
     if (!(user = find(u)))
     {
        notice(s_GameServ, u, "Fatal error. Cannot find aClient. "\
                "Buf: %s LOGOUT", u);
        log("Could not find aClient Buf: %s LOGOUT", 
                u);
+       return;
     }
     else if (isIgnore(user))
     {
@@ -639,18 +642,38 @@ void do_logout(char *u)
        #endif
        return;
     }
-    else if (!is_playing(user))
-    {
-       notice(s_GameServ, u, "You're not logged in!");
-    }
-    else if (is_fighting(user))
+
+    if (name)
     {
-       notice(s_GameServ, u, "You can't logout while fighting!");
+       if (!isAdmin(user))
+       {
+           notice(s_GameServ, u, "You must be a %S admin to use this command!");
+       }
+       else if (!(user = findplayer(name)))
+       {
+           notice(s_GameServ, u, "Couldn't find a player named %s", name);
+       }
+       else
+       {
+           notice(s_GameServ, u, "Logging out %s", user->stats->name);
+           logout(user);
+       }
     }
-    else
+    else if (!name)
     {
-       notice(s_GameServ, u, "You have left the fields. You have lived to kill another day!");
-       logout(user);
+       if (!is_playing(user))
+       {
+           notice(s_GameServ, u, "You're not logged in!");
+       }
+       else if (is_fighting(user))
+       {
+           notice(s_GameServ, u, "You can't logout while fighting!");
+       }
+       else
+       {
+           notice(s_GameServ, u, "You have left the fields. You have lived to kill another day!");
+           logout(user);
+       }
     }
 }
 
@@ -892,104 +915,104 @@ void init_masters()
 
     strcpy(masters[0]->name, "Old Bones");
     strcpy(masters[0]->weapon, "Dull Sword Cane");
-    masters[0]->strength = 25;
+    masters[0]->strength = 30;
     masters[0]->gold = 0;
     masters[0]->exp = 0;
-    masters[0]->maxhp = 30;
-    masters[0]->hp = 30;
+    masters[0]->maxhp = 35;
+    masters[0]->hp = 35;
     strcpy(masters[0]->death, "You have done well my student, but the road is long. Use your new strength with humility and honor as you progress in levels!");
 
     strcpy(masters[1]->name, "Master Chang");
     strcpy(masters[1]->weapon, "Nanchaku");
-    masters[1]->strength = 35;
+    masters[1]->strength = 45;
     masters[1]->gold = 0;
     masters[1]->exp = 0;
-    masters[1]->maxhp = 40;
-    masters[1]->hp = 40;
+    masters[1]->maxhp = 51;
+    masters[1]->hp = 51;
     strcpy(masters[1]->death, "You try to make out what Master Chang is saying, but the only thing you catch is something about a grasshopper.");
 
     strcpy(masters[2]->name, "Chuck Norris");
     strcpy(masters[2]->weapon, "Ranger Kick");
-    masters[2]->strength = 95;
+    masters[2]->strength = 83;
     masters[2]->gold = 0;
     masters[2]->exp = 0;
-    masters[2]->maxhp = 70;
-    masters[2]->hp = 70;
+    masters[2]->maxhp = 100;
+    masters[2]->hp = 100;
     strcpy(masters[2]->death, "Be strong, and keep your goals in site. Drink milk, and don't do drugs. One day you may be fighting next to me as a Texas Ranger YEEHAW!");
 
 
     strcpy(masters[3]->name, "Mr. Miagi");
     strcpy(masters[3]->weapon, "Petrified Bonsai");
-    masters[3]->strength = 130;
+    masters[3]->strength = 159;
     masters[3]->gold = 0;
     masters[3]->exp = 0;
-    masters[3]->maxhp = 120;
-    masters[3]->hp = 120;
+    masters[3]->maxhp = 165;
+    masters[3]->hp = 165;
     strcpy(masters[3]->death, "Skill comes from repeating the correct but seemingly mundane actions. Wax ON, wax OFF!");
 
     strcpy(masters[4]->name, "Jackie Chan");
     strcpy(masters[4]->weapon, "Kung Fu Kick");
-    masters[4]->strength = 156;
+    masters[4]->strength = 260;
     masters[4]->gold = 0;
     masters[4]->exp = 0;
-    masters[4]->maxhp = 200;
-    masters[4]->hp = 200;
+    masters[4]->maxhp = 232;
+    masters[4]->hp = 232;
     strcpy(masters[4]->death, "I like to let people talk who like to talk... it's easier to find out how full of it they really are!");
 
     strcpy(masters[5]->name, "Jet Li");
     strcpy(masters[5]->weapon, "Motorcycle");
-    masters[5]->strength = 180;
+    masters[5]->strength = 325;
     masters[5]->gold = 0;
     masters[5]->exp = 0;
-    masters[5]->maxhp = 400;
-    masters[5]->hp = 400;
+    masters[5]->maxhp = 504;
+    masters[5]->hp = 504;
     strcpy(masters[5]->death, "Failure is a fuel for excuses. It's the doing the do, that makes the making.");
 
 
     strcpy(masters[6]->name, "Muhammad Ali");
     strcpy(masters[6]->weapon, "Quick Jab");
-    masters[6]->strength = 200;
+    masters[6]->strength = 380;
     masters[6]->gold = 0;
     masters[6]->exp = 0;
-    masters[6]->maxhp = 600;
-    masters[6]->hp = 600;
+    masters[6]->maxhp = 1078;
+    masters[6]->hp = 1078;
     strcpy(masters[6]->death, "It's just a job. Grass grows, birds fly, waves pound the sand. I beat people up.");
 
     strcpy(masters[7]->name, "Li Mu Bai");
     strcpy(masters[7]->weapon, "Green Destiny");
-    masters[7]->strength = 225;
+    masters[7]->strength = 462;
     masters[7]->gold = 0;
     masters[7]->exp = 0;
-    masters[7]->maxhp = 800;
-    masters[7]->hp = 800;
+    masters[7]->maxhp = 2207;
+    masters[7]->hp = 2207;
     strcpy(masters[7]->death, "No growth without resistance.  No action without reaction.  No desire without restraint.");
 
 
     strcpy(masters[8]->name, "Jimmy Wang Yu");
     strcpy(masters[8]->weapon, "Flying Guillotine");
-    masters[8]->strength = 290;
+    masters[8]->strength = 511;
     masters[8]->gold = 0;
     masters[8]->exp = 0;
-    masters[8]->maxhp = 1200;
-    masters[8]->hp = 1200;
+    masters[8]->maxhp = 2780;
+    masters[8]->hp = 2780;
     strcpy(masters[8]->death, "You have beaten the one armed boxer. Proceed with caution!");
 
     strcpy(masters[9]->name, "Wong Fei Hung");
     strcpy(masters[9]->weapon, "Drunken Boxing");
-    masters[9]->strength = 385;
+    masters[9]->strength = 618;
     masters[9]->gold = 0;
     masters[9]->exp = 0;
-    masters[9]->maxhp = 1800;
-    masters[9]->hp = 1800;
+    masters[9]->maxhp = 3046;
+    masters[9]->hp = 3046;
     strcpy(masters[9]->death, "Hiccup! Monkey drinks master's wine!");
 
     strcpy(masters[10]->name, "Bruce Lee");
     strcpy(masters[10]->weapon, "Fists of fury");
-    masters[10]->strength = 600;
+    masters[10]->strength = 725;
     masters[10]->gold = 0;
     masters[10]->exp = 0;
-    masters[10]->maxhp = 2500;
-    masters[10]->hp = 2500;
+    masters[10]->maxhp = 3988;
+    masters[10]->hp = 3988;
     strcpy(masters[10]->death, "You must learn to concentrate. It is like a finger pointing away to the moon... DONT concentrate on the finger, or you will miss all the heavenly glory.");
 }
 
@@ -2326,6 +2349,13 @@ void do_store(char *u)
            notice(s_GameServ, u, "        \ 2STORE BUY {ARMOR | WEAPON} \1fNUMBER\1f\ 2");
        }
     }
+    else
+    {
+       notice(s_GameServ, u, "SYNTAX: STORE LIST {ARMOR | WEAPONS}");
+       notice(s_GameServ, u, "        \ 2STORE SELL {ARMOR | WEAPON}\ 2");
+       notice(s_GameServ, u, "        \ 2STORE BUY {ARMOR | WEAPON} \1fNUMBER\1f\ 2");
+       return;
+    }
 }
 void do_inventory(char *u)
 {
@@ -2675,6 +2705,11 @@ void do_master(char *u)
        #endif
        return;
     }
+    else if (!is_playing(user))
+    {
+       notice(s_GameServ, u, "You must be playing to see your master!");
+       return;
+    }
     else if (is_fighting(user))
     {
        notice(s_GameServ, u, "You're in the middle of a fight! Pay attention!");
@@ -2685,13 +2720,9 @@ void do_master(char *u)
        notice(s_GameServ, u, "You're dead. Wait until tomorrow to see your master!");
        return;
     }
-    else if (!is_playing(user))
-    {
-       notice(s_GameServ, u, "You must be playing to see your master!");
-       return;
-    }
 
     updateTS(user->stats);
+
     char *cmd = strtok(NULL, " ");
     Player *p = user->stats;
     long int need = 0;
@@ -3012,7 +3043,7 @@ void timeOutEvent(Player *p)
     }
     else if (!player_fight(user))
     {
-      if (isAlive(user) && user->stats->gold > 0)
+      if (isAlive(user->stats) && user->stats->gold > 0)
       {
        // Place fun stuff here :)
        int randnum = 1 + rand() % 100; // 1-100