X-Git-Url: https://jfr.im/git/irc/gameservirc.git/blobdiff_plain/089cdf5d5881c3249575744a94c8fdc0e92cda10..c7bceafda9c7c1045b398d8454a0a2ed0fbd9170:/gameserv/c_forest.cpp diff --git a/gameserv/c_forest.cpp b/gameserv/c_forest.cpp index e737607..762d1e7 100644 --- a/gameserv/c_forest.cpp +++ b/gameserv/c_forest.cpp @@ -73,7 +73,7 @@ void do_forest(char *u) if (eventnum >= 12) { p->fight = new Monster(levels[p->level - 1].randomMonster()); - notice(s_GameServ, u, "You have found %s!", p->fight->name); + notice(s_GameServ, u, "You have found %s!", p->fight->name.c_str()); if (p->fight->hp < p->fight->maxhp) p->fight->hp = p->fight->maxhp; @@ -81,36 +81,37 @@ void do_forest(char *u) p->master = NULL; // Just to make sure display_monster(u); } + /* else if (eventnum < 12 && eventnum >= 10) // 2% for finding potions { notice(s_GameServ, u, "Fortune smiles upon thee!"); - eventnum = 1 + rand() % 4000; - if (eventnum < 1000) + eventnum = 1 + rand() % 4; + switch(eventnum) { - notice(s_GameServ, u, + case 1: + notice(s_GameServ, u, "You have found an HP Potion!"); - p->inventory.incHP(); - } - else if (eventnum < 2000) - { - notice(s_GameServ, u, + p->inventory.incHP(); + break; + case 2: + notice(s_GameServ, u, "You have found a Strength Potion!"); - p->inventory.incStrength(); - } - else if (eventnum < 3000) - { - notice(s_GameServ, u, + p->inventory.incStrength(); + break; + case 3: + notice(s_GameServ, u, "You have found a Defense Potion!"); - p->inventory.incDefense(); - } - else - { - notice(s_GameServ, u, + p->inventory.incDefense(); + break; + case 4: + notice(s_GameServ, u, "You have found a Healing Potion!"); - p->inventory.incHealing(); + p->inventory.incHealing(); + break; } } + */ else if (eventnum < 10 && eventnum >= 5) // 5% for the fountain { if (p->hp < p->maxhp) @@ -150,13 +151,13 @@ void do_forest(char *u) } else if (eventnum < 3) { - newstats = (rand() % 1000) * (p->level + (rand() % 10)); + newstats = levels[p->level - 1].getStrength().random(); notice(s_GameServ, u, "A SACK WITH %ld GOLD!", newstats); p->gold += newstats; } else { - newstats = (rand() % 100) * (p->level + rand() % 10); + newstats = levels[p->level - 1].getExp().random(); notice(s_GameServ, u, "Time seems to stand still for a moment."); notice(s_GameServ, u, " %ld EXTRA EXPERIENCE POINTS", newstats); p->exp += newstats; @@ -178,23 +179,9 @@ Monster *getNewMonster(Monster *m) Monster *newguy; newguy = new Monster; - - if (m->name) - { - newguy->name = new char[strlen(m->name)]; - strcpy(newguy->name, m->name); - } - if (m->weapon) - { - newguy->weapon = new char[strlen(m->weapon)]; - strcpy(newguy->weapon, m->weapon); - } - if (m->death) - { - newguy->death = new char[strlen(m->death)]; - strcpy(newguy->death, m->death); - } - + newguy->name = m->name; + newguy->weapon = m->weapon; + newguy->death = m->death; newguy->strength = m->strength; newguy->gold = m->gold; newguy->exp = m->exp;