Download
Desenvolver
Conta
Download
Desenvolver
Login
Forgot Account/Password
Criar Conta
Linguagem
Ajuda
Linguagem
Ajuda
×
Login
Nome de acesso
Senha
×
Forgot Account/Password
Estado tradução de Português
Category:
Software
People
PersonalForge
Magazine
Wiki
Pesquisa
OSDN
>
Pesquisar Software
>
Games/Entertainment
>
Role-Playing
>
JNetHack
>
Ticket List/Search
>
Tíquete #6137
JNetHack
Fork
source
tool
htdocs
Descrição
Project Summary
Developer Dashboard
Página da Web
Developers
Image Gallery
List of RSS Feeds
Activity
Statistics
Histórico
Downloads
List of Releases
Stats
Código Fonte
Code Repository list
Git
source
tool
htdocs
Subversion
Visualizar Repositório
CVS
Visualizar Repositório
Tíquete
Ticket List
Milestone List
Type List
Lista de componentes
List of frequently used tickets/RSS
Submit New Ticket
Documents
Wiki
FrontPage
Title index
Recent changes
Doc Mgr
List Docs
Communication
list of ML
jnethack-announce
jnethack-cvs
jnethack-devel
jnethack-ticket
News
Tíquete #6137
Ticket List
Submit New Ticket
RSS
死因メッセージその2
:
2005-06-08 01:01
Última Atualização:
2005-07-31 05:29
monitor
ON
OFF
Relator:
so-miya
Dono:
argrath
Tipo:
Bugs
Estado:
Fechado
Componente:
(Nenhum)
Marcos:
(Nenhum)
Prioridade:
5 - Medium
Gravidade:
5 - Medium
Resolução:
Fixed
Arquivo:
1
Details
Responder
死因メッセージ関連で新たに見つけた障害を列挙させていた
だきます。
二刀流で左手にコカトリスの死体を装備して穴に落ちると、
右手に持っているアイテムを
死因に用いようとしているコーディングがあります。
(しかし、実際は死体では二刀流できないのでこの実装は動
作しません)
trap.cの2899行目あたり。
#else
pline("%s%sの死体に触った.", arg,
jtrns_mon(mons[uswapwep->corpsenm].mname));
- Sprintf(kbuf, "%sの死体で",
jtrns_mon(mons[uwep->corpsenm].mname));
+ Sprintf(kbuf, "%sの死体で",
jtrns_mon(mons[uswapwep->corpsenm].mname));
#endif
instapetrify(kbuf);
}
----
ジョウビレックスに病気にされて死ぬと、死因が
「ジョウビレックスによっての毒で死んだ」
になります。
mhitu.cの1037行目あたり。うーん、いい修正方法が浮かばない。
make_sick関数による病死はu.usick_causeの遅延毒死で実行
される。
u.usick_causeには「呪われたユニコーンの角」(apply.c:2051)、
「腐った(死体)を食べ食中毒」(eat.c:1607)、
そして今回の「(病気攻撃をするモンスター)によって」
(mhitu.c:1038)が入りうる。
その後、時間経過でtimeout.c:332にてu.usick_causeの内容
がkillerにコピーされ
done(POISONING)が呼ばれる。
timeout.cではtheをつけるかどうかを判定するためにモンス
ター名かどうかが
判定されているので、モンスターであった場合は死因を
POISONINGから変更して
「~による病気で死んだ」等に変えることもできなくはない
けれど・・・
和英変換を付けないと使えないのでちょっと大げさかな。
簡単に直すとなるとこんな感じでしょうか。
static char jbuf[BUFSZ];
Strcpy(jbuf, jtrns_mon(mdat->mname));
- Strcat(jbuf, "によって");
+ Strcat(jbuf, "の発病");
make_sick(Sick ? Sick/3L + 1L :
(long)rn1(ACURR(A_CON), 20),
jbuf, TRUE, SICK_NONVOMITABLE);
#endif
----
コカトリスの卵を投げつけられて石化したときの死因が「石
化攻撃で」になります。
timeout.c:301のkiller_formatがNO_KILLER_PREFIXになって
います。
Ticket History (3/3 Histories)
2005-06-08 02:05
Updated by:
argrath
Resolução
Update from
Nenhum
to
Fixed
Comentário
Responder
Logged In: YES
user_id=1120
確認しました。
2005-06-10 15:56
Updated by:
argrath
File
1321: bug6137.diff
is attached
Comentário
Responder
Logged In: YES
user_id=1120
とりあえずジョウビレックス関係以外を修正しました。
ジョウビレックス関係は別に登録することにします。
2005-07-31 05:29
Updated by:
argrath
Ticket Close date
is changed to
2005-07-31 05:29
Estado
Update from
Aberto
to
Fechado
Comentário
Responder
Logged In: YES
user_id=1120
修正版(3.4.3-0.7)がリリースされたので閉じます。
Attachment File List (
1
)
Attachment File List
bug6137.diff
(1KB)
パッチ
Editar
Adicionar Comentário
You are not logged in.
I you are not logged in, your comment will be treated as an anonymous post. »
Login
Adicionar Comentário
Pré-visualizar
Submit
だきます。
二刀流で左手にコカトリスの死体を装備して穴に落ちると、
右手に持っているアイテムを
死因に用いようとしているコーディングがあります。
(しかし、実際は死体では二刀流できないのでこの実装は動
作しません)
trap.cの2899行目あたり。
#else
pline("%s%sの死体に触った.", arg,
jtrns_mon(mons[uswapwep->corpsenm].mname));
- Sprintf(kbuf, "%sの死体で",
jtrns_mon(mons[uwep->corpsenm].mname));
+ Sprintf(kbuf, "%sの死体で",
jtrns_mon(mons[uswapwep->corpsenm].mname));
#endif
instapetrify(kbuf);
}
----
ジョウビレックスに病気にされて死ぬと、死因が
「ジョウビレックスによっての毒で死んだ」
になります。
mhitu.cの1037行目あたり。うーん、いい修正方法が浮かばない。
make_sick関数による病死はu.usick_causeの遅延毒死で実行
される。
u.usick_causeには「呪われたユニコーンの角」(apply.c:2051)、
「腐った(死体)を食べ食中毒」(eat.c:1607)、
そして今回の「(病気攻撃をするモンスター)によって」
(mhitu.c:1038)が入りうる。
その後、時間経過でtimeout.c:332にてu.usick_causeの内容
がkillerにコピーされ
done(POISONING)が呼ばれる。
timeout.cではtheをつけるかどうかを判定するためにモンス
ター名かどうかが
判定されているので、モンスターであった場合は死因を
POISONINGから変更して
「~による病気で死んだ」等に変えることもできなくはない
けれど・・・
和英変換を付けないと使えないのでちょっと大げさかな。
簡単に直すとなるとこんな感じでしょうか。
static char jbuf[BUFSZ];
Strcpy(jbuf, jtrns_mon(mdat->mname));
- Strcat(jbuf, "によって");
+ Strcat(jbuf, "の発病");
make_sick(Sick ? Sick/3L + 1L :
(long)rn1(ACURR(A_CON), 20),
jbuf, TRUE, SICK_NONVOMITABLE);
#endif
----
コカトリスの卵を投げつけられて石化したときの死因が「石
化攻撃で」になります。
timeout.c:301のkiller_formatがNO_KILLER_PREFIXになって
います。