作者itoc, 信區: itoc
標題[功能] pal.c 看見隱形名單
時間04/02/07
作者: itoc (風調雨順,國泰民安) 看板: plan
標題: [功能] 看見隱形名單
時間: Thu Jul 10 08:49:28 2003 Updated: 2004/10/02
要先做 "pal.c 麻吉類型" 這篇 patch
看見隱形名單:當我一般隱形時,麻吉還是可以看到我
: maple.p
+ int is_mymate(int userno);
int is_mygood(int userno);
int is_mybad(int userno);
+ int is_omate(UTMP *up);
int is_ogood(UTMP *up);
int is_obad(UTMP *up);
int is_bgood(int bno);
: pal.c:is_mymate() 加在 is_mygood() 前面
int
is_mymate(userno) /* 1: 我設對方為麻吉 */
int userno;
{
return belong_pal(pal_pool, pal_max, userno | MATE_MASK);
}
: pal.c:is_mygood()
- return belong_pal(pal_pool, pal_max, userno);
+ return belong_pal(pal_pool, pal_max, userno) || is_mymate(userno);
: pal.c:is_omate() 加在 is_ogood() 前面
int
is_omate(up) /* 1: 對方設我為麻吉 */
UTMP *up;
{
return belong_pal(up->pal_spool, up->pal_max, cuser.userno | MATE_MASK);
}
: pal.c:is_ogood()
- return belong_pal(up->pal_spool, up->pal_max, cuser.userno);
+ return belong_pal(up->pal_spool, up->pal_max, cuser.userno) || is_omate(up);
: bmw.c:can_see()
int /* 1:可看見 0:不可看見 */
can_see(my, up)
UTMP *my;
UTMP *up;
{
usint mylevel, myufo, urufo;
+ if (my == cutmp) /* 檢查我是不是對方的麻吉 */
+ {
+ if (is_omate(up))
+ return 1;
+ }
+ else /* 檢查對方是不是我的麻吉 */
+ {
+ if (is_mymate(my->userno))
+ return 1;
+ }
: bmw.c:can_override(up)
else
{
/* itoc.020321: 對方若隱形傳我水球,我也可以被動回 */
BMW *bmw;
for (ufo = bmw_locus - 1; ufo >= 0; ufo--)
{
bmw = &bmw_lslot[ufo];
if (bmw->sender == up->userno)
return 1;
}
+ if (is_omate(up))
+ return 1;
}
--
□ 本文章由 itoc 從 itoc.Dorm11.NCTU.edu.tw 發表