diff options
-rw-r--r-- | mbbsd/chicken.c | 14 | ||||
-rw-r--r-- | mbbsd/register.c | 20 |
2 files changed, 24 insertions, 10 deletions
diff --git a/mbbsd/chicken.c b/mbbsd/chicken.c index fd51d6d0..4de2bb85 100644 --- a/mbbsd/chicken.c +++ b/mbbsd/chicken.c @@ -200,16 +200,18 @@ new_chicken(void) mychicken.type = i; - reload_money(); price = egg_price[(int)mychicken.type]; + reload_money(); if (cuser.money < price) { vmsgf("錢不夠買蛋蛋,蛋蛋要 %d 元", price); return 0; } - vice(price, "寵物蛋"); + while (strlen(mychicken.name) < 3) + { getdata(8, 0, "幫牠取個好名字:", mychicken.name, sizeof(mychicken.name), DOECHO); + } mychicken.lastvisit = mychicken.birthday = mychicken.cbirth = now; mychicken.food = 0; @@ -228,6 +230,14 @@ new_chicken(void) mychicken.mm = 0; mychicken.mm_max = 0; + reload_money(); + if (cuser.money < price) + { + vmsg("錢不夠了。"); + return 0; + } + vice(price, "寵物蛋"); + // flush it setuserfile(fn, FN_CHICKEN); fd = open(fn, O_WRONLY|O_CREAT, 0666); diff --git a/mbbsd/register.c b/mbbsd/register.c index ec79f1c6..31a2b7e9 100644 --- a/mbbsd/register.c +++ b/mbbsd/register.c @@ -263,13 +263,16 @@ check_and_expire_account(int uid, const userec_t * urec) snprintf(genbuf, sizeof(genbuf), "#%d %-12s %15.15s %d %d %d", uid, urec->userid, ctime4(&(urec->lastlogin)) + 4, urec->numlogins, urec->numposts, val); - if (val > -1 * 60 * 24 * 365) { - log_usies("CLEAN", genbuf); - kill_user(uid, urec->userid); - } else { - val = 0; - log_usies("DATED", genbuf); - } + + // 2008/03/18: ??? 這邊原來的 code 到底目的為何? + // 原 code 從 rev1 開始, 一年內 CLEAN+清, + // 一年以上寫 "DATED", 真是猜不透啊 + // 推測原來的人可能想寫 "一年以上刪,一年內傳回 0" + // 這是由於找不到帳號時會 for-loop 跑 check_and_expire_account, + // 其它時候則是 new account 直接跑。 + log_usies("DATED", genbuf); + log_usies("CLEAN", genbuf); + kill_user(uid, urec->userid); } return val; } @@ -548,7 +551,8 @@ new_register(void) if (bad_user_id(passbuf)) outs("無法接受這個代號,請使用英文字母,並且不要包含空格\n"); else if ((id = getuser(passbuf, &xuser)) && - (minute = check_and_expire_account(id, &xuser)) >= 0) { + (minute = check_and_expire_account(id, &xuser)) > 0) + { if (minute == 999999) // XXX magic number. It should be greater than MAX_USERS at least. outs("此代號已經有人使用 是不死之身"); else { |