summaryrefslogtreecommitdiffstats
path: root/mbbsd/mbbsd.c
diff options
context:
space:
mode:
authorscw <scw@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2004-05-24 08:31:48 +0800
committerscw <scw@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2004-05-24 08:31:48 +0800
commit0d1688520003011abbcb9c37074f2c2dce88f72a (patch)
tree2c02e8a6fdcef4191ef2ae45c10fb6ce63bf2172 /mbbsd/mbbsd.c
parent919bd1cabc73f19279bd94f8bbae1b26bee84e87 (diff)
downloadpttbbs-0d1688520003011abbcb9c37074f2c2dce88f72a.tar
pttbbs-0d1688520003011abbcb9c37074f2c2dce88f72a.tar.gz
pttbbs-0d1688520003011abbcb9c37074f2c2dce88f72a.tar.bz2
pttbbs-0d1688520003011abbcb9c37074f2c2dce88f72a.tar.lz
pttbbs-0d1688520003011abbcb9c37074f2c2dce88f72a.tar.xz
pttbbs-0d1688520003011abbcb9c37074f2c2dce88f72a.tar.zst
pttbbs-0d1688520003011abbcb9c37074f2c2dce88f72a.zip
Merge from scw.angel.
*NOTE* Before running this revision, please read PttCurrent board at telnet://ptt.cc or http://scwg.wiki.ptt.cc/-Angel git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@2014 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd/mbbsd.c')
-rw-r--r--mbbsd/mbbsd.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/mbbsd/mbbsd.c b/mbbsd/mbbsd.c
index 47b9fd4a..529f0931 100644
--- a/mbbsd/mbbsd.c
+++ b/mbbsd/mbbsd.c
@@ -241,6 +241,12 @@ void
show_call_in(int save, int which)
{
char buf[200];
+#ifdef PLAY_ANGEL
+ if (currutmp->msgs[which].msgmode == MSGMODE_TOANGEL)
+ snprintf(buf, sizeof(buf), "\033[1;37;46m¡¹%s\033[37;45m %s \033[m",
+ currutmp->msgs[which].userid, currutmp->msgs[which].last_call_in);
+ else
+#endif
snprintf(buf, sizeof(buf), "\033[1;33;46m¡¹%s\033[37;45m %s \033[m",
currutmp->msgs[which].userid, currutmp->msgs[which].last_call_in);
move(b_lines, 0);
@@ -284,7 +290,12 @@ add_history(msgque_t * msg)
add_history_water(&water[0], msg);
if (WATERMODE(WATER_NEW) || WATERMODE(WATER_OFO)) {
for (i = 0; i < 5 && swater[i]; i++)
- if (swater[i]->pid == msg->pid)
+ if (swater[i]->pid == msg->pid
+#ifdef PLAY_ANGEL
+ && swater[i]->msg[0].msgmode == msg->msgmode
+ /* When throwing waterball to angel directly */
+#endif
+ )
break;
if (i == 5) {
waterinit = 1;
@@ -766,6 +777,11 @@ setup_utmp(int mode)
#endif
if (enter_uflag & CLOAK_FLAG)
uinfo.invisible = YEA;
+
+ if (REJECT_QUESTION)
+ uinfo.angel = 1;
+ uinfo.angel |= ANGEL_STATUS() << 1;
+
getnewutmpent(&uinfo);
SHM->UTMPneedsort = 1;
if (!(cuser.numlogins % 20) && cuser.userlevel & PERM_BM)
@@ -982,7 +998,7 @@ do_aloha(char *hello)
userinfo_t *uentp;
if ((uentp = (userinfo_t *) search_ulist_userid(userid)) &&
isvisible(uentp, currutmp)) {
- my_write(uentp->pid, genbuf, uentp->userid, 2, NULL);
+ my_write(uentp->pid, genbuf, uentp->userid, WATERBALL_ALOHA, NULL);
}
}
fclose(fp);