トップ «前の日記(2013/06/20) 最新 次の日記(2013/06/22)» 編集

SikabaneWorksが関係するコンテンツ(主に*band系ローグライク)の開発近況・補足から全く個人的な雑記まで。

[WEB:屍の見える丘公園]| [RSS]

Angband | Badiashimshe | C# | CRAUZEL | D'angband/小説草稿 | D'angband/開発 | DarkSouls | Demon'sSouls | DungeonCrawl | ElvenUteruses | Haskell | Hengband | J9シリーズ | LEGO | LineDrawing | MISC | MTG | Mac | Math | Moria | R-18 | Roguelike | Rough | RoughSketch | Ruby | SDL | UNIX | VMware | WarHammer | Zangband | アタシラヂョウヲウ | イラスト | ガジェット | ゲーム | ゲーム紹介 | ゲーム製作技術 | ゲーム論 | スケッチ | ツクール | テクノロジー | ニコニコ動画 | ファルコム | ファンタジー | マリオ | ヴィーヤウトゥムノ | 別記事追加予定 | 変愚蛮怒 | 変愚蛮怒/スポイラー | 変愚蛮怒/元ネタ探訪 | 変愚蛮怒/攻略 | 変愚蛮怒/開発 | 宗教 | 情報 | 政治 | 文字コード | 日ペ昔話 | 東方 | 東方ワンドロ | 東方外法漢女 | 歴史 | 漫画製作 | 版権絵 | 画像処理 | 翻訳 | 自然言語 | 艦隊これくしょん | 落書き | 言語解析 | 読書 | 超人ロック | 追記予定 | 通信 | 鉄獄旅慕情 | 阿片窟 | 馬鹿馬鹿蛮怒/開発 | 魔法少女まどか☆マギカ | 魚類版深夜の真剣お絵描き60分一本勝負


2013/06/21

[ヴィーヤウトゥムノ] ジュリアンの猟鷹/Hunting hawk of Julian (Umber 'B')

=== Num:151  Lev:8  Rar:2  Spd:+10  Hp:8d8  Ac:25  Exp:22
それは恐れる事なしに狩る事を訓練された鷹だ。
それは通常地下 8 階で出現し、素早く動いている。この自然界のモンスターを倒
すことは 50 レベルのキャラクタにとって 約3.38 ポイントの経験となる。それは
AC25 の防御力と 8d8 の体力がある。それは経験を積むと、鷲に進化する。それ
は恐怖を感じない。それは侵入者を幾分注意深く見ており、 300 フィート先から
侵入者に気付くことがある。それは 1d3 のダメージでひっかいて攻撃し、 1d4
のダメージでひっかいて攻撃し、 1d5 のダメージで噛んで攻撃する。

鷹らしく書くための微細な要素が分からんけど、どうせジュリアンがそっこら中の影から交配して造った種だろうから、多少異形性あってもいいよね。(無責任)

0

Hunahyanda

辺土SATSUGAI流開祖『フナヒヤンダ』
アンバー近郊にあるアーデンの森で
ジュリアン王子殿下が飼われておられる狩猟用の鷹だ。

Vataroh

地獄の畜産業者『山口ヴァ太郎』
アンバーの影からありとあらゆる動植物を取り寄せては
品種改良を繰り返しておられるとか…
私にとっては憧れて止まぬ夢のような光景ですなあ…

Hunahyanda

辺土SATSUGAI流開祖『フナヒヤンダ』
まさかお前みたいに人間やエルフまで家畜には…
いや、やりかねんよなあの面々なら。
というかこのエルフの下男らしい奴もひょっとしてなあ。

Vataroh

地獄の畜産業者『山口ヴァ太郎』
なお、ワタリガラスから進化するもよう。

Hunahyanda

辺土SATSUGAI流開祖『フナヒヤンダ』
…まあ、その辺の血も混じってるということにしておくか。

[ヴィーヤウトゥムノ] [U] 地味な脇役『ルイージ』/Luigi (L.Green 'p')

=== Num:966  Lev:31  Rar:4  Spd:+0  Hp:800  Ac:80  Exp:2500
断じてマリオの類似品ではない!(本人主張)
彼は通常地下 31 階で出現し、普通の速さで動いている。この善良な人間を倒す
ことは 50 レベルのキャラクタにとって 約1490.38 ポイントの経験となる。彼は
魔法を使うことができ、ファイア・ボール、目くらまし、混乱、麻痺、加速の呪
文を唱えることがある(確率:1/4)。彼は AC80 の防御力と 800 の体力がある。彼
はダンジョンを照らし、ドアを開け、アイテムを拾うことができる。彼は混乱し
ないし、眠らされない。彼は侵入者を幾分注意深く見ており、 200 フィート先か
ら侵入者に気付くことがある。彼は 4 個までの上質なアイテムを持っていること
がある。彼は 3d7 のダメージで殴って攻撃し、 3d7 のダメージで殴って攻撃し、
3d7 のダメージで殴って攻撃する。

5

Annatar

メルドールの神王『アンナタール』
コメントは差し控えさせて頂きます。

Romunqualy

鬼畜大佐『ロムンクァリィ』
色んな意味でコメントしようがないわ。
ま、兄貴のコピーだとか2Pだとかうんぬんとかいうネタは、
本人も進んでいじられて楽しんでるみたいよね。
後個人的には兄貴より彼のが好きよ。

[変愚蛮怒/開発]パッチを解読してみる・性格:てんねん

他の要素と比べると実装が楽な分類かもしれない。が、やはり特殊な特性次第では十分面倒臭い。

スコア機能のオフ/設定ファイルの除去

そういえば他のパッチでも本来できればやっておいて欲しいことではあった。パッチにちゃんと記述しておく人間の鑑。

 diff -r -c Hengband/lib/pref/pref-opt.prf Hengband.tennen/lib/pref/pref-opt.prf
 *** Hengband/lib/pref/pref-opt.prf	2003-12-17 04:41:47.000000000 +0900
 --- Hengband.tennen/lib/pref/pref-opt.prf	2004-10-10 11:04:42.000000000 +0900
 ***************
 *** 76,82 ****
   Y:empty_levels
   X:bound_walls_perm
   Y:last_words
 ! Y:send_score
   X:allow_debug_opts

   ##### Disturbance #####
 --- 76,82 ----
   Y:empty_levels
   X:bound_walls_perm
   Y:last_words
 ! #Y:send_score
   X:allow_debug_opts

   ##### Disturbance #####

てんねんの解説記述

コメントで仕様をしっかり残しているのもポイント高し。

diff -r -c Hengband/src/birth.c Hengband.tennen/src/birth.c
*** Hengband/src/birth.c	2004-08-11 23:49:28.000000000 +0900
--- Hengband.tennen/src/birth.c	2004-10-10 21:13:33.000000000 +0900
***************
*** 1909,1914 ****
--- 1909,1927 ----

   "いかさまは、初心者の練習用の性格です。あらゆる能力が高くなっています。この性格を使えば勝利者になることは容易ですが、勝利しても全く自慢になりません。",

 + "てんねんは、若干ずれた感覚の持ち主で、場の雰囲気を読めません。決して精神を侵されることはありませんが、ちょっと賢いとは言えません。この性格は女性しか選ぶことができません。",
 +
 + /* 性格:天然の仕様
 + ・腕力+0 知力+0 賢さ-2 器用-1 耐久+0 魅力+1
 + ・解除-5 魔道+5 魔防+4 隠密+1 探索-2 知覚+8 打撃-3 射撃-3 HD+0
 + ・女性専用
 + ・白いオーラを持っている
 + ・脳の生体コンピュータ化、精神薄弱、精神錯乱、躁鬱質にならない。
 + ・階の雰囲気を感じる事ができない
 + ・簡易鑑定を時々間違える(1/13)
 + ・精神攻撃と脳攻撃を受け付けない (shimitei さんご指摘ありがとう)
 + */
 +
   #else

   "\"Ordinary\" is a personality with no special skills or talents, with unmodified stats and skills.",
 ***************
 *** 1934,1940 ****

  "A \"Patient\" person does things carefully.  Patient people have high constitution, and high resilience, but poor abilities in most other skills.  Also it directly influences your hit-points.",

 ! "\"munchkin\" is a personality for beginners.  It raises all your stats and skills.  With this personality, you can win the game easily, but gain little honor in doing so."
   #endif
   };

 --- 1947,1956 ----

   "A \"Patient\" person does things carefully.  Patient people have high constitution, and high resilience, but poor abilities in most other skills.  Also it directly influences your hit-points.",

 ! "\"munchkin\" is a personality for beginners.  It raises all your stats and skills.  With this personality, you can win the game easily, but gain little honor in doing so.",
 !
 ! "\"Tennen\" is very characteristic and people cannot understand her mind. Her mind is never polluted, but she is not wise. Only females can choose this personality.",
 !
   #endif
   };

常に白いオーラを失わない処理1


ラッキーマンと同じ

diff -r -c Hengband/src/bldg.c Hengband.tennen/src/bldg.c
*** Hengband/src/bldg.c	2004-07-26 02:11:30.000000000 +0900
--- Hengband.tennen/src/bldg.c	2004-10-10 12:32:34.000000000 +0900
***************
*** 4778,4784 ****
  	case BACT_LOSE_MUTATION:
  		if (p_ptr->muta1 || p_ptr->muta2 ||
  		    (p_ptr->muta3 & ~MUT3_GOOD_LUCK) ||
! 		    (p_ptr->pseikaku != SEIKAKU_LUCKY &&
  		     (p_ptr->muta3 & MUT3_GOOD_LUCK)))
  		{
  			while(!lose_mutation(0));
--- 4778,4784 ----
  	case BACT_LOSE_MUTATION:
  		if (p_ptr->muta1 || p_ptr->muta2 ||
  		    (p_ptr->muta3 & ~MUT3_GOOD_LUCK) ||
! 		    ((p_ptr->pseikaku != SEIKAKU_LUCKY || p_ptr->pseikaku != SEIKAKU_TENNEN)&&
  		     (p_ptr->muta3 & MUT3_GOOD_LUCK)))
  		{
  			while(!lose_mutation(0));

define定義の追加

diff -r -c Hengband/src/defines.h Hengband.tennen/src/defines.h
*** Hengband/src/defines.h	2004-08-07 12:03:58.000000000 +0900
--- Hengband.tennen/src/defines.h	2004-10-10 11:11:35.000000000 +0900
***************
*** 197,203 ****
   */
  #define MAX_CLASS            27

! #define MAX_SEIKAKU          12

  /* The number of "patrons" available (for Chaos Warriors) */
  #define MAX_PATRON          16
--- 197,203 ----
   */
  #define MAX_CLASS            27

! #define MAX_SEIKAKU          13

  /* The number of "patrons" available (for Chaos Warriors) */
  #define MAX_PATRON          16
***************
*** 917,922 ****
--- 917,923 ----
  #define SEIKAKU_LUCKY	 9
  #define SEIKAKU_GAMAN	 10
  #define SEIKAKU_MUNCHKIN 11
+ #define SEIKAKU_TENNEN 12

  /*** Screen Locations ***/

簡易鑑定を見誤る処理

黒いオーラと同じ

diff -r -c Hengband/src/dungeon.c Hengband.tennen/src/dungeon.c
*** Hengband/src/dungeon.c	2004-08-11 22:56:05.000000000 +0900
--- Hengband.tennen/src/dungeon.c	2004-10-10 12:05:01.000000000 +0900
***************
*** 109,116 ****
  	/* Skip non-feelings */
  	if (!feel) return;

! 	/* Bad luck */
! 	if ((p_ptr->muta3 & MUT3_BAD_LUCK) && !randint0(13))
  	{
  		switch (feel)
  		{
--- 109,116 ----
  	/* Skip non-feelings */
  	if (!feel) return;

! 	/* Bad luck and Tennen*/
! 	if (((p_ptr->muta3 & MUT3_BAD_LUCK) || (p_ptr->pseikaku == SEIKAKU_TENNEN)) && !randint0(13))
  	{
  		switch (feel)
  		{
***************

階の雰囲気を判定処理のキャンセル

これは地味に厳しい気はする。

*** 3617,3622 ****
--- 3617,3625 ----
  	/* No feeling in the arena */
  	if (p_ptr->inside_battle) return;

+ 	/* Tennen girl cannot fell a mood */
+ 	if (p_ptr->pseikaku == SEIKAKU_TENNEN) return;
+
  	/* Extract delay time */
  	delay = MAX(10, 150 - p_ptr->skill_fos) * (150 - dun_level) * TURNS_PER_TICK / 100;

精神攻撃、脳攻撃無効処理

全くダメージが0になるのか、たまげたなあ。

diff -r -c Hengband/src/mspells1.c Hengband.tennen/src/mspells1.c
*** Hengband/src/mspells1.c	2004-07-29 17:31:30.000000000 +0900
--- Hengband.tennen/src/mspells1.c	2004-10-10 21:06:37.000000000 +0900
***************
*** 2588,2594 ****

  			}

! 			dam = damroll(7, 7);
  			breath(y, x, m_idx, GF_MIND_BLAST, dam, 0, FALSE, MS_MIND_BLAST, learnable);
  			break;
  		}
--- 2588,2606 ----

  			}

! 			if (p_ptr->pseikaku == SEIKAKU_TENNEN)
! 				{
! #ifdef JP
! 					msg_format("しかし、よく理解できなかった!");
! #else
! 					msg_format("But you don't understand it");
! #endif
! 					dam = 0;
! 				}
! 			else
! 				{
! 					dam = damroll(7, 7);
! 				}
  			breath(y, x, m_idx, GF_MIND_BLAST, dam, 0, FALSE, MS_MIND_BLAST, learnable);
  			break;
  		}
***************
*** 2617,2623 ****

  			}

! 			dam = damroll(12, 12);
  			breath(y, x, m_idx, GF_BRAIN_SMASH, dam, 0, FALSE, MS_BRAIN_SMASH, learnable);
  			break;
  		}
--- 2629,2647 ----

  			}

! 			if (p_ptr->pseikaku == SEIKAKU_TENNEN)
! 				{
! #ifdef JP
! 					msg_format("しかし、よく理解できなかった!");
! #else
! 					msg_format("But you don't understand it");
! #endif
! 					dam = 0;
! 				}
! 			else
! 				{
! 					dam = damroll(12, 12);
! 				}
  			breath(y, x, m_idx, GF_BRAIN_SMASH, dam, 0, FALSE, MS_BRAIN_SMASH, learnable);
  			break;
  		}

特定の変異を受けない

幻覚、加速/減速、生体コンピュータ、脳の萎縮、黒いオーラは受け付けず、白いオーラは常時発動。

diff -r -c Hengband/src/mutation.c Hengband.tennen/src/mutation.c
*** Hengband/src/mutation.c	2004-07-31 01:54:53.000000000 +0900
--- Hengband.tennen/src/mutation.c	2004-10-10 11:44:25.000000000 +0900
***************
*** 388,393 ****
--- 388,394 ----

  			break;
  		case 79:
+ 			if (p_ptr->pseikaku == SEIKAKU_TENNEN) break;
  			muta_class = &(p_ptr->muta2);
  			muta_which = MUT2_HALLU;
  #ifdef JP
***************
*** 458,463 ****
--- 459,465 ----

  			break;
  		case 90: case 91:
+ 			if (p_ptr->pseikaku == SEIKAKU_TENNEN) break;
  			muta_class = &(p_ptr->muta2);
  			muta_which = MUT2_SPEED_FLUX;
  #ifdef JP
***************
*** 692,697 ****
--- 694,700 ----

  			break;
  		case 126: case 127: case 128:
+ 			if (p_ptr->pseikaku == SEIKAKU_TENNEN) break;
  			muta_class = &(p_ptr->muta3);
  			muta_which = MUT3_HYPER_INT;
  #ifdef JP
***************
*** 702,707 ****
--- 705,711 ----

  			break;
  		case 129: case 130: case 131:
+ 			if (p_ptr->pseikaku == SEIKAKU_TENNEN) break;
  			muta_class = &(p_ptr->muta3);
  			muta_which = MUT3_MORONIC;
  #ifdef JP
***************
*** 952,958 ****

  			break;
  		case 188:
! 			if (p_ptr->pseikaku == SEIKAKU_LUCKY) break;
  			muta_class = &(p_ptr->muta3);
  			muta_which = MUT3_BAD_LUCK;
  #ifdef JP
--- 956,962 ----

  			break;
  		case 188:
! 			if (p_ptr->pseikaku == SEIKAKU_LUCKY || p_ptr->pseikaku == SEIKAKU_TENNEN) break;
  			muta_class = &(p_ptr->muta3);
  			muta_which = MUT3_BAD_LUCK;
  #ifdef JP
***************
*** 2289,2295 ****

  			break;
  		case 193:
! 			if (p_ptr->pseikaku == SEIKAKU_LUCKY) break;
  			muta_class = &(p_ptr->muta3);
  			muta_which = MUT3_GOOD_LUCK;
  #ifdef JP
--- 2293,2299 ----

  			break;
  		case 193:
! 			if (p_ptr->pseikaku == SEIKAKU_LUCKY || p_ptr->pseikaku == SEIKAKU_TENNEN) break;
  			muta_class = &(p_ptr->muta3);
  			muta_which = MUT3_GOOD_LUCK;
  #ifdef JP
***************

自然回復量の調整

白いオーラを常に発している場合は、その分の変異回復量負荷を減らす。

*** 3280,3286 ****
  	 * only 5% decrease per additional mutation
  	 */

! 	if (p_ptr->pseikaku == SEIKAKU_LUCKY) count--;
  	if (p_ptr->prace == RACE_BEASTMAN)
  	{
  		count -= 10;
--- 3284,3290 ----
  	 * only 5% decrease per additional mutation
  	 */

! 	if (p_ptr->pseikaku == SEIKAKU_LUCKY || p_ptr->pseikaku == SEIKAKU_TENNEN) count--;
  	if (p_ptr->prace == RACE_BEASTMAN)
  	{
  		count -= 10;
diff -r -c Hengband/src/tables.c Hengband.tennen/src/tables.c
*** Hengband/src/tables.c	2004-07-04 16:13:05.000000000 +0900
--- Hengband.tennen/src/tables.c	2004-10-10 11:59:17.000000000 +0900
***************

てんねんのステータステーブル

*** 3837,3842 ****
--- 3837,3852 ----
  		 20, 40, 30, 10, 40, 40,  80, 80,
  		 15, 1, 0
  	},
+
+ 	{
+ #ifdef JP
+ 		"てんねん/テスト",
+ #endif
+ 		"Tennen",
+ 		{ 0, 0, -2, -1, 0, 1},
+ 		 -5, -5, 4, 1, -2, 8, -3, -3,
+ 		 0, 1, 1
+ 	},
  };

改行の形跡

特に問題はない

diff -r -c Hengband/src/xtra1.c Hengband.tennen/src/xtra1.c
*** Hengband/src/xtra1.c	2004-07-11 20:53:22.000000000 +0900
--- Hengband.tennen/src/xtra1.c	2004-10-10 11:36:27.000000000 +0900
***************
*** 1,4 ****
-
  /* File: misc.c */

  /*
--- 1,3 ----
***************

プレイヤーステータス更新時の常時変異付与

*** 3625,3631 ****
  	if ((p_ptr->pseikaku == SEIKAKU_GAMAN) || (p_ptr->pseikaku == SEIKAKU_CHIKARA)) p_ptr->to_m_chance++;

  	/* Lucky man */
! 	if (p_ptr->pseikaku == SEIKAKU_LUCKY) p_ptr->muta3 |= MUT3_GOOD_LUCK;

  	if (p_ptr->pseikaku == SEIKAKU_MUNCHKIN)
  	{
--- 3624,3630 ----
  	if ((p_ptr->pseikaku == SEIKAKU_GAMAN) || (p_ptr->pseikaku == SEIKAKU_CHIKARA)) p_ptr->to_m_chance++;

  	/* Lucky man */
! 	if (p_ptr->pseikaku == SEIKAKU_LUCKY || p_ptr->pseikaku == SEIKAKU_TENNEN) p_ptr->muta3 |= MUT3_GOOD_LUCK;

  	if (p_ptr->pseikaku == SEIKAKU_MUNCHKIN)
  	{

プリプロセッサによるスコア転送機能無効化

diff -r -c Hengband/src/z-config.h Hengband.tennen/src/z-config.h
*** Hengband/src/z-config.h	2004-07-21 22:51:17.000000000 +0900
--- Hengband.tennen/src/z-config.h	2004-10-10 11:02:49.000000000 +0900
***************
*** 603,606 ****
--- 603,608 ----
  #define WORLD_SCORE
  #endif

+ #undef WORLD_SCORE
+
  #endif /* HAVE_CONFIG_H */