summaryrefslogtreecommitdiffstats
path: root/mbbsd/chicken.c
diff options
context:
space:
mode:
authorjack <jack@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2004-05-03 05:58:08 +0800
committerjack <jack@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2004-05-03 05:58:08 +0800
commite443776eb7025c569df22f801965f0ec84798e35 (patch)
treea6200d5ccc57109dfece0b30180da83a9915785c /mbbsd/chicken.c
parent886fd091d3cc9e39e342e13e994fb63acb30c34b (diff)
downloadpttbbs-e443776eb7025c569df22f801965f0ec84798e35.tar
pttbbs-e443776eb7025c569df22f801965f0ec84798e35.tar.gz
pttbbs-e443776eb7025c569df22f801965f0ec84798e35.tar.bz2
pttbbs-e443776eb7025c569df22f801965f0ec84798e35.tar.lz
pttbbs-e443776eb7025c569df22f801965f0ec84798e35.tar.xz
pttbbs-e443776eb7025c569df22f801965f0ec84798e35.tar.zst
pttbbs-e443776eb7025c569df22f801965f0ec84798e35.zip
merge trunk to branches and corrected confliction
git-svn-id: http://opensvn.csie.org/pttbbs/branches/Jaky.i18n@1919 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd/chicken.c')
-rw-r--r--mbbsd/chicken.c83
1 files changed, 32 insertions, 51 deletions
diff --git a/mbbsd/chicken.c b/mbbsd/chicken.c
index eeb5b1f9..2c63f274 100644
--- a/mbbsd/chicken.c
+++ b/mbbsd/chicken.c
@@ -81,25 +81,23 @@ static int
new_chicken()
{
chicken_t *mychicken = &cuser.mychicken;
- char buf[150];
- int price;
+ int price, i;
clear();
move(2, 0);
outs(SHM->i18nstr[cuser.language][867]);
- getdata_str(7, 0, SHM->i18nstr[cuser.language][868], buf, 3, LCECHO, "0");
+ i = getans(SHM->i18nstr[cuser.language][868]);
- buf[0] -= 'a';
- if (buf[0] < 0 || buf[0] > NUM_KINDS - 1)
+ i -= 'a';
+ if (i < 0 || i > NUM_KINDS - 1)
return 0;
- mychicken->type = buf[0];
+ mychicken->type = i;
reload_money();
price = egg_price[(int)mychicken->type];
if (cuser.money < price) {
- prints(SHM->i18nstr[cuser.language][869], price);
- refresh();
+ vmsg(SHM->i18nstr[cuser.language][869], price);
return 0;
}
vice(price, SHM->i18nstr[cuser.language][870]);
@@ -107,10 +105,9 @@ new_chicken()
getdata(8, 0, SHM->i18nstr[cuser.language][871], mychicken->name,
sizeof(mychicken->name), DOECHO);
- snprintf(buf, sizeof(buf),
- SHM->i18nstr[cuser.language][872], cuser.userid,
- mychicken->name, chicken_type[(int)mychicken->type], ctime(&now));
- log_file(CHICKENLOG, buf, 1);
+ log_file(CHICKENLOG, 1, SHM->i18nstr[cuser.language][872],
+ cuser.userid,
+ mychicken->name, chicken_type[(int)mychicken->type], ctime(&now));
mychicken->lastvisit = mychicken->birthday = mychicken->cbirth = now;
mychicken->food = 0;
mychicken->weight = time_change[(int)mychicken->type][WEIGHT] / 3;
@@ -359,12 +356,10 @@ ch_buyitem(int money, char *picture, int *item, int haveticket)
else
demoney(-money * num);
show_file(picture, 5, 14, NO_RELOAD);
+ pressanykey();
} else {
- move(b_lines - 1, 0);
- clrtoeol();
- outs(SHM->i18nstr[cuser.language][903]);
+ vmsg(SHM->i18nstr[cuser.language][903]);
}
- pressanykey();
}
static void
@@ -402,19 +397,16 @@ static void
ch_kill()
{
chicken_t *mychicken = &cuser.mychicken;
- char buf[150], ans[4];
+ int ans;
- snprintf(buf, sizeof(buf), SHM->i18nstr[cuser.language][904],
- chicken_type[(int)mychicken->type]);
- getdata_str(23, 0, buf, ans, sizeof(ans), DOECHO, "N");
- if (ans[0] == 'y') {
+ ans = getans(SHM->i18nstr[cuser.language][904]);
+ if (ans == 'y') {
vice(100, SHM->i18nstr[cuser.language][905]);
more(CHICKEN_PIC "/deadth", YEA);
- snprintf(buf, sizeof(buf),
+ log_file(CHICKENLOG, 1,
SHM->i18nstr[cuser.language][906], cuser.userid, mychicken->name,
chicken_type[(int)mychicken->type], ctime(&now));
- log_file(CHICKENLOG, buf, 1);
mychicken->name[0] = 0;
}
}
@@ -443,8 +435,7 @@ ch_sell()
int money = (age * food_price[(int)mychicken->type] * 3
+ (mychicken->hp_max * 10 + mychicken->weight) /
time_change[(int)mychicken->type][HP_MAX]) * 3 / 2 -
- mychicken->sick;
- char buf[150], ans[4];
+ mychicken->sick, ans;
if (money < 0)
money = 0;
@@ -466,14 +457,12 @@ ch_sell()
pressanykey();
return 0;
}
- snprintf(buf, sizeof(buf), SHM->i18nstr[cuser.language][910], age,
- chicken_type[(int)mychicken->type], money);
- getdata_str(23, 0, buf, ans, sizeof(ans), DOECHO, "N");
- if (ans[0] == 'y') {
- snprintf(buf, sizeof(buf), SHM->i18nstr[cuser.language][911],
- cuser.userid, mychicken->name,
- chicken_type[(int)mychicken->type], money, ctime(&now));
- log_file(CHICKENLOG, buf, 1);
+ ans = getans(SHM->i18nstr[cuser.language][910], age,
+ chicken_type[(int)mychicken->type], money);
+ if (ans == 'y') {
+ log_file(CHICKENLOG, 1, SHM->i18nstr[cuser.language][911],
+ cuser.userid, mychicken->name,
+ chicken_type[(int)mychicken->type], money, ctime(&now));
mychicken->lastvisit = mychicken->name[0] = 0;
passwd_update(usernum, &cuser);
more(CHICKEN_PIC "/sell", YEA);
@@ -610,7 +599,6 @@ deadtype(chicken_t * thechicken)
{
chicken_t *mychicken = &cuser.mychicken;
int i;
- char buf[150];
if (thechicken->hp <= 0) /* hp用盡 */
i = 1;
@@ -627,12 +615,10 @@ deadtype(chicken_t * thechicken)
return 0;
if (thechicken == mychicken) {
- snprintf(buf, sizeof(buf),
- SHM->i18nstr[cuser.language][912],
- cuser.userid, thechicken->name,
- chicken_type[(int)thechicken->type],
- ctime(&now));
- log_file(CHICKENLOG, buf, 1);
+ log_file(CHICKENLOG, 1,
+ SHM->i18nstr[cuser.language][912],
+ cuser.userid, thechicken->name,
+ chicken_type[(int)thechicken->type], ctime(&now));
mychicken->name[0] = 0;
passwd_update(usernum, &cuser);
}
@@ -679,19 +665,16 @@ static void
ch_changename()
{
chicken_t *mychicken = &cuser.mychicken;
- char buf[150], newname[20] = "";
+ char newname[20] = "";
getdata_str(b_lines - 1, 0, SHM->i18nstr[cuser.language][913], newname, 18, DOECHO,
mychicken->name);
if (strlen(newname) >= 3 && strcmp(newname, mychicken->name)) {
- snprintf(buf, sizeof(buf),
- SHM->i18nstr[cuser.language][914],
- cuser.userid, mychicken->name,
- chicken_type[(int)mychicken->type],
- newname, ctime(&now));
strlcpy(mychicken->name, newname, sizeof(mychicken->name));
- log_file(CHICKENLOG, buf, 1);
+ log_file(CHICKENLOG, 1, SHM->i18nstr[cuser.language][914],
+ cuser.userid, mychicken->name,
+ chicken_type[(int)mychicken->type], newname, ctime(&now));
}
}
@@ -880,20 +863,18 @@ chickenpk(int fd)
memcpy(&ouser, &xuser, sizeof(userec_t));
reload_chicken();
if (!ochicken->name[0] || !mychicken->name[0]) {
- outmsg(SHM->i18nstr[cuser.language][925]); /* Ptt:妨止page時把寵物賣掉 */
bell();
- refresh();
+ vmsg(SHM->i18nstr[cuser.language][925]); /* Ptt:妨止page時把寵物賣掉 */
add_io(0, 0);
close(fd);
unlockutmpmode();
- sleep(1);
return 0;
}
show_chicken_data(ochicken, mychicken);
add_io(fd, 3); /* 把fd加到igetch監視 */
while (1) {
r = rand();
- ch = igetkey();
+ ch = igetch();
getuser(mateid);
memcpy(&ouser, &xuser, sizeof(userec_t));
reload_chicken();