約 2,126,243 件
https://w.atwiki.jp/wokeberron/pages/31.html
Magic Item Compendium P217-218 IDENTIFYING ITEMS When PCs find magic items as treasure, they need to determine what the items do. The following methods are available to identify magic items. Skill Checks Certain skills allow a character to accurately identify an item. Knowledge (arcana) A character can attempt a DC 30 Knowledge (arcana) check to determine if she remembers reading of an item at one point during her studies. A successful result might give a hint to the item s function or reveal every detail about it. This method is most appropriate for legendary items or items that have a traditional shape associated with their function. Search You might allow close study of an item to provide some information. A command word could be etched in tiny letters on the inside of a ring, or a feathered design might hint that an item allows its wearer to fly. In such a case, a successful DC 15 Search check should reveal the clue. Spellcraft A character using the detect magic spell can attempt a Spellcraft check to determine the school of magic associated with the item s powers. If the character exceeds the DC for this check by 10 or more, the character magically divines the item s functions, its means of activation, and the number of charges remaining. A character can also use Spellcraft to identify potions. The DC is 25, the check takes 1 minute, and she cannot retry if she fails. Use Magic Device If a character succeeds on a Use Magic Device check to activate a magic item and exceeds the DC by 5 or more, the character magically divines the item s functions, its means of activation, and the number of charges remaining. Bardic, Knowledge While not quite as useful as the skills discussed above, a successful bardic knowledge check might reveal the backgrounds, functions, and means of activating legendary or otherwise well-known items, if the item is standard equipment for a well-known faction or person, the DC is 20. If the item is uncommon or ancient, but many items like it are in circulation, the DC is 25. If the item is known only in legend, the DC is 30 or higher. A successful result should reveal something of the item s history and give at least a hint about the item s function. Spells Spells are the most reliable way to identify items. Detect Magic Obviously, the easiest way for characters to discern whether an object is magic is to use detect magic. When focused on an item, a character can attempt a Spellcraft check to determine the school (or schools) of the highest-level spell (or spells) involved in the item s creation, as well as the strength of the item s aura (based on its caster level). Also, a character making such a check can divine the function of an item by succeeding by 10 or more. When a character uses detect magic on a magic item, the information you provide often serves as a clue to a smart player for identifying the item. See the detect magic spell description, PH 219, for details. Identify The identify spell determines the functions, means of activation, and number of charges remaining for any item of less than artifact power. It takes an hour to cast and has an expensive material component, but it s also the surest way to identify most magic items. See the identify spell description, PH 243, for details. Analyze Dweomer This spell functions like identify, but the casting time is shorter, there s a focus rather than an expensive material component, and the caster can determine the properties of several items with one casting of the spell. This spell is the swiftest and surest way to identify many magic items. See the analyze dweomer spell description, PH 197, for details. Hired Help The PCs might want to consult bards, sages, or high-level spellcasters to identify items through the means outlined above. Such NPCs might also know some details or rumors about an item s history. They always want something in return for this information. The prices for spellcasting services are noted on page 129 of the Player s Handbook and described in more detail on page 130. If an NPC can identify the item without using spells, the character might ask for an amount of gp equivalent to the typical spell cost. Of course, an NPC might instead demand some service or trade instead of money. DM Explanation It might be simpler to tell the players what an item is. This approach is particularly useful when the item provides a bonus you must track on actions the PC is already taking. If you have a PC using an unidentified +2 short sword, for example, use this option when it becomes a burden for you to keep mentally adding +2 to all the character s attack rolls and damage rolls with that unidentified (to him) item. Trial and Error The last refuge of desperate characters with an unidentified magic item, this process is often comical, but it can become an annoying waste of time. The trial-and-error process usually entails a PC attempting to use the item. A character hoping that the cloak he s just found is actually wings of flying might say, "I put the cloak on and jump up and down, flapping my arms." Previous D D supplements, including the Dungeon Masters Guide, have advised rewarding clever characters who pursue this line of inquiry. As long as you and the players find trial and error to be a fun method of learning about magic items, that s still fine advice. If, however, your players turn it into a tedious checklist of tests ("Now I try to breathe underwater. Now I try to walk up the wall. Now I think about turning invisible. No luck? Maybe it only works for dwarves; Tordek, now you try it."), it s time to step in and move the game along. It s perfectly reasonable to rule that until a character has determined a magic item s powers, command word, or other secrets in one of the manners noted above, no amount of crazy experimentation will help. アイテム識別 PC達が略奪したマジックアイテムを使う際にはその機能を研究する必要がある。 以下の方法は、マジックアイテムを識別するために利用できる。 技能チェック: 特定の技能によって、正確にアイテムを特定することができる。 知識(神秘学): あなたがニートしている間にそのアイテムについて(Wikipediaで)読んだことを憶えているかどうかを、知識(神秘学)DC30で試みることがでる。 成功した場合、アイテムの機能のヒント、またはあらゆる詳細を知ることができるかもしれない。 この方法は、伝説的なアイテムや機能と関連した伝統的な形を持つアイテムを識別するのに最適です♪ 捜索: アイテムを詳細に検討することにより若干の情報を得ることができるかもしれません。 必死すぎワロス。 コマンドワードがリングの内側に小さい文字で彫り込まれているのを見つけることができる。しかしながらこの試みは危険が伴う。FOREVER LOVE モンテ×コーデルなどの見てはいけないものを ― 不幸にも ― 見てしまった場合にはSANチェックを行う必要がある。 あるいは、羽毛のデザインはアイテムによってその着用者が飛ぶことができるとほのめかすイーツ。 このような場合DC15の捜索判定に成功することにより明らかにできる。 呪文学: ディテクトマジックを使っているキャラクターは、呪文学判定を用いアイテムに宿る魔法の系統を明らかにすることができる。 もしこの判定のDCを10以上上回るなら、アイテムの機能、起動方法、残っているチャージ数を魔法のように知ることができる。 ポーションを識別する際にも呪文学を用いることができる。 DCは25で、判定には1分間かかる。失敗した際に再挑戦することはできない。 魔法装置使用: マジックアイテムを起動する魔法装置使用の判定に5以上上回って成功したならば、アイテムの機能、起動方法、残っているチャージ数を魔法のように知ることができる。 バードの知識: 上記で論じられた技能ほどバードの知識は有用ではないが、判定に成功した場合、伝説などでよく知られるアイテムの背景、機能、起動方法を明らかにするかもしれない。 有名な組織、人物のもので標準的な装備ならばDC20。 まれであったり非常に古いがよく流通しているアイテムの場合はDC25。 伝説の中でのみ語られるアイテムならばDC30以上。 さらに慣用句を合成しすぎるアメリカ人に俺がプッツンせずにすむかどうかを決定するセーブDCは40である。 バードの知識判定のに成功した場合、アイテムの歴史や少なくとも機能の手がかりを明らかにしなければならない。 プレハンと同じこと書いておけばいいのになぜ持って回った言い方をするのかと小一時間。 呪文: 各呪文の解説やら上記の呪文学と同じ内容が書いてある。略 ディテクトマジック: アイデンティファイ: アナライズオヴドゥエオマー: 助けを借りる: PC達は上記の方法でアイテムを識別するためにバードや賢人や高レベルのキャスターに相談するかもしれません。 そいつらは何らかの対価を要求してくるよ!って書いてあった。当たり前田のクラッカー。終わる。 DMへの提言 アイテムの効果言ってもいいんじゃね? 未鑑定のアイテムぶん回してる時にいちいち心の中でボーナス計算するのめんどいっしょ?w 試行錯誤 滑稽で面白いが腹立たしい時間の浪費になることがある。 DMもプレイヤーも楽しめるなら可。 システマチックに鑑定して行こうとするならやめとけ。ってことが書いてあったよ、終われ。 要約 知識(神秘学)DC30でそのアイテムについて学んだことがある 捜索DC15でそのアイテムにコマンドワードが書いてあれば見つけられたり、イラストが描かれていたら機能を想像できる。 ディテクトマジックの呪文学でDCを10上回れば、アイテムの機能を予想し、起動手段、チャージ数までわかる 魔法装置使用でも起動に必要なDCを5上回れば同様なことがわかる バードの知識ではわからない 僕が途中で飽きているのは確定的に明らか
https://w.atwiki.jp/hmiku/pages/48526.html
【検索用 Identity 登録タグ I VOCALOID picco 初音ミク 曲】 + 目次 目次 曲紹介 歌詞 コメント 作詞:picco 作曲:picco 編曲:picco 唄:初音ミク 曲紹介 ─何度も泣いたって世界は変わらない─ Artwork ヘレミア アルバム『NX FUTURE HOUSE』、『光芒パラノイア』収録楽曲。 歌詞 (YouTubeの概要欄より転載) 眩しい街の明かり 真夜中 路地を歩く すれ違う人影は 何を思うの もう期待通りにできない 気づいて欲しくないけど いつもかわいくなんてできない 自分らしく生きろなんて 無責任な呪文みたいだ 何度も泣いたって世界は変わらない でも どっかに光があると信じているよ Identity 普通が正義なんて 誰が決めつけたのか? みんなと違うことは おかしくないよ ねえ嘘ついて生きたって 誰も見抜けないでしょう あたしのこと何も見えてないの 気づいてなんて思ってないし 騙し騙される平行線 何度も笑ったって世界は変わらない でも どっかに光があると信じているよ Identity コメント 名前 コメント
https://w.atwiki.jp/ptm_bn0201/pages/188.html
Biography-My Bloody Valentine Discography-My Bloody Valentine
https://w.atwiki.jp/kimo-sisters/pages/1116.html
384 Identical ◆sGQmFtcYh2 sage 2010/07/10(土) 17 02 22 ID HekTK1+H 「とりあえず俺んち来るか?」 これ以上この店にいると多大な迷惑をかけてしまう予感がした。 「えぇ、もちろん」 「やったー!兄ちゃんの部屋だー!」 喜ぶ二人。それに対して、 「え!?・・・こ、ここからだとウチの部屋の方が近いから、そっちにしない?」 いい顔をしない二奈。 その発言に姉さんの目がスッと細くなった。 「ダメよ。優二の部屋に行くわ。もちろん、二奈ちゃんも一緒にね」 何か確信めいた雰囲気で姉さんはそう告げた。 俺には何を意図しての発言だったのかさっぱり分らなかった。が、二奈の方は分かったのだろう。 急に顔が青ざめた。 「兄ちゃんのおっ部屋~♪兄ちゃんのおっ部屋~♪」 相も変わらずマイペースな三華。 「・・・でもやっぱこういうのっていいよな。兄弟全員が揃うなんて」 なんだかんだあっても俺はこの時間が大好きだった。 店を出た俺たちは、ここから歩いて30分ほど離れたアパートにたどり着いた。 木造二階建てのそこは見るからにずさんな外壁を有しており、いかにも家賃が格安そうな臭いを醸し出していた。 そんなところに俺は住んでいる。 いきなり子供二人が県外の大学で一人暮らしを始めたのだ。親だって何かと大変だろうからな―――と言うのは建前で、本当は母さんと二奈の野郎が勝手にここに決めたのだ。 ちなみに二奈のアパートは新築の3階建て。オートロック付き。理不尽すぎる。 「ね、ねぇ、やっぱりこんなオンボロアパートよりウチの部屋に来ない?そっちの方が広いし・・・」 この期に及んでまだ言い渋る。 そんなに俺の部屋が嫌なのか?いっつも入り浸ってるくせに。 「せっかく来たのに入らないでどうするのよ、ねぇ三華?」 「うん!アタシも兄ちゃんの部屋に入りたい!」 絶妙のコンビネーション。 二人は意気揚々と俺の部屋に向かって直進して行った。 「ほら、二奈も行こうぜ」 「・・・なんであんたはそんなに余裕なのよ!」 「?」 意味が分からん。自分の部屋に行くのに慌てる奴がいるのか? 「だいたい姉さんも三華も来るなら来るって前もって言いなさいよ・・・!」 「三華なら電話で店に来るって言ってきたぞ?」 「それいつの話よ!?ウチは聞いてないんだけど!?」 「いや、だってそれ聞いたの今日のバイト中だったし」 「そんなの前もって言った内に入らないじゃない!」 二奈の表情にだんだんと怒りが浮き上がってきた。 このままにして置くと、せっかくの姉さん達の楽しそうな気分を害してしまうかもしれない。 それだけは避けたかった。 「ったく、今度またお前の大好きな店奢ってやるから機嫌直せよ」 こうなったときの対処法。 俺がこう言えば二奈は必ずと言っていいほど首を縦に振る。 「・・・分かったよ・・・でも約束だからね!」 やっぱりこいつには花よりも団子だな。 なんとか漱石さん数人で事が済んだ。 漱石さん数人・・・か・・・ 385 Identical ◆sGQmFtcYh2 sage 2010/07/10(土) 17 03 52 ID HekTK1+H 「・・・随分と綺麗に片付いているのね」 入るなり早々と姉さんが呟いた。 そのまま居間に向かうと思われた足取りは、大きく右に転回し、洗面所に向かった。 どうやら抜き打ちチェックが始まったらしい。 そして早速何かを見つけた。 「これは・・・なにかしら?」 姉さんの指さす方向には2本の歯ブラシがあった。 「何って、ただの歯ブラシだろ?」 それがどうしたって言うんだ? 「なぜ2本あるの?」 「あぁ、片方は二奈のだな」 その瞬間、姉さんの眉がピクっと吊り上がった。反対に二奈のそれは垂れさがっている。 「どうして二奈ちゃんの歯ブラシがここにあるの?」 「え?そ、それは二奈がよく泊りに来るからであって・・・」 なぜだか分からないが、急に姉さんを恐いと感じてしまった。何か変なことを訊かれたわけでもないのに。 と、その時居間の方から大きな声がした。 「あーーーーーーーーーーーーーーーー!!」 なんだ!?泥棒か!? 慌ててそこに向かうと、三華が口をパクパクさせながらある一点を凝視していた。 「何か見つけたの、三華!?」 姉さんもものすごい勢いでやって来た。 「なっ・・・!」 そして絶句。持っていたカバンを落としたことにも気付かないで。 でも俺には二人が驚いている理由が分からなかった。 二人の見つめる先にあるのは俺のベッドだ。何の変哲もない普通のベッドがあるだけ。 「や、やばっ!?」 最後にやってきた二奈も俺のベッドを見て目を見開いた。 「あ、あの~・・・俺のベッドに何か問題でもありましたかね・・・?」 何度確認しても普通にベッドがあるだけだ。まぁ枕が二つあることは少しおかしいかもしれないが。 でもたかがそれくらいでここまで驚いているわけではないだろう。 「・・・・・・・・・私が理解できるまできちんと説明してもらえる?」 「そ、その前に落ち着こうよ・・・ね?」 「姉ちゃんばっかりズルイ!」 「お、おい暴れんな!隣の人に怒られる!」 「そ、それは優二がどうしてもって言うからであって・・・」 「何が!?俺なんか言ったか!?」 暴れ回る三華を抑えつけながら、なぜか怒っている気がする姉さんを宥めつつも、二奈から詳しい事情を訊く、という芸当を俺はする羽目になった。 「優二がさびしいから、ウチと一緒に寝たいって・・・」 二奈の証言は事実無根のデタラメだった。 どうして嘘をつく?はっきり言えばいいじゃないか。 「・・・本当なの、優二?」 「いや、二奈の言ったことは嘘で、本当な二奈の部屋の暖房が壊れたらしく、寒くて眠れないと言いやがったんで一緒に寝てるんだ」 確か二奈が泊りに来た初日にそう言っていた。 男女が同じベッドで眠ること自体は問題かもしれないが、俺と二奈は兄妹、ましてや双子なんだから別にどうってことないだろう。 「・・・ふ~ん・・・二奈ちゃん、そんなこと言ったんだ~・・・」 どうやら姉さんは理解してくれたようだ。それに三華の方もピタリと動きを止めていることから、こっちも分ってくれたのかな? 386 Identical ◆sGQmFtcYh2 sage 2010/07/10(土) 17 04 56 ID HekTK1+H 「ところでこの後どうする?もう時間も遅いし、寝るしかないんだけど」 さすがに今から遊びに行くのは無理だ。肉体的にも精神的にも疲労困憊。 「アタシはもう眠いよー」 三華はそう告げると、この部屋でたった一つしかないベッドにもぐりこんだ。 「な、何やってるのよ三華!」 「ちょっと!そこはウチのベッドなんだから勝手に入らないでよ!」 姉さんはともかく、二奈の発言には反論させてもらう。 「そのベッドは俺のであって、お前のじゃない―――」 「あんたは黙ってなさい!」 「・・・はい」 怒られてしまった。自分のベッドを自分のだと主張したら怒られてしまった。 「早く出なさいよ!」 「嫌だ!姉ちゃんはいっつも兄ちゃんと一緒に寝てたんだろ!?だったらいいじゃないか!」 「ぐっ・・・!」 「私はまだ一緒に寝てないわ!だからどきなさい!」 「何で一葉姉ちゃんも怒るわけ!?もしかして一葉姉ちゃんも兄ちゃんのベッドで寝たいわけ!?」 「そ、そんな事あるわけないでしょ!」 「だった文句言うなよ!」 「ぐっ・・・!」 す、すごい。あの姉さんと二奈が言い負けてるなんて・・・ 今後のためにも今の三華を見習う事にしよう。 「エヘヘ・・・兄ちゃんの布団あったか~い♪」 「いや、今朝から誰もそのベッドに入ってないから暖かいわけないだろう?それよりもシーツとか洗ってないから臭くないか?」 「全然臭くないよ!むしろ超いい匂い!」 「そ、そっか。それは良かったな///」 兄を傷つけまいとしての三華の心遣いだと分かってはいるが、そうストレートに言われると照れてしまった。 その様子が気に障ったのだろうか。二奈がキレた。 「実の妹にいい匂いとか言われて何顔を赤く染めてんのよ!最っ低!変態!!」 その言葉に僕もキレた。 二奈に近寄り、その髪を手ですくう。 「・・・あ~・・・いつも寝ているときにも思っていたけど、やっぱり二奈の髪は凄くいい匂いがするな。俺、この匂い大好きだよ」 恥ずかしがり屋の二奈の事だ。きっとこいつも照れて顔を赤くするに違いない。 その時に「お前も変態じゃねーか!」って言ってやる。 「・・・へ?今ウチの髪がいい匂いって・・・え?えぇぇぇぇぇぇぇぇぇぇええええええええええええええええええええ!!!!///////」 「そら見たことか!お前も顔を赤くしてるじゃ―――」 呼吸が止まった。 二奈の後ろにいる姉さんと目があった瞬間、呼吸が停止した。 姉さんは無表情で首を傾けた。その目はまるで「何言ってるのかしら、この子は?」と云っている。 「・・・・・・ごめんなさいね?今優二の言ったことがうまく聞き取れなかったから、もう一度言ってくれる?」 「か・・・髪・・・髪が・・・」 「うん?髪がどうしたって?」 「か・・・神様助けて下さい・・・」 もう悪いことはしません。これからはお賽銭も奮発して500円玉を入れます。だからどうか・・・ 必死の御祈りが通じたのか、突然携帯が鳴った。親友の拓朗からだった。 「もしもしっっ!!」 「・・・なんかめっちゃテンション高いな?誰かと遊んでんのか?」 遊びだと!?お前はこの状況を遊びだと言うのか!? 「あ、遊んでなんかねーよ!」 「?・・・なら今暇か?」 「暇じゃないけど、今すぐに家から出たい気分だな!」 早く・・・一刻も早く・・・ 「はぁ?ま、いっか」 そして拓朗は俺の脳を覚醒させる魔法をかけた。 「実は今コンパしてんだけど、友達が一人帰っちゃってさ・・・お前、今から来れね?」 387 Identical ◆sGQmFtcYh2 sage 2010/07/10(土) 17 05 29 ID HekTK1+H コンパ。 その言葉を聞いた瞬間、声が勝手に出た。 「行く。絶対に行く。どこ?場所はどこ?」 「な、なんだ、えらい乗り気だな・・・場所はいつも飲み会で使う居酒屋だ」 「分かった。今すぐ行く」 そうして電話を切る。 彼女いる歴が存在しない俺にとって、まさにコンパは生きる糧だ。最後の希望だ。 だからなんとしても参加しなければいけない。 どんな手を使ったとしても。 「・・・今のは誰かしら?」 「親友の拓朗からだよ。なんか急に熱がでたらしくて、誰かに看病してもらいたいんだってさ。だからこれから向かわないと」 姉さんの方はこれでごまかせるはずだ。いつの間にか眠っている三華のほうも問題ない。 でも二奈の方はこれだけでは納得しないだろう。 「拓朗君が風邪?それならなんで優二に電話なんかするの?」 二奈は拓朗の事を知っている。 そしてアイツがいつも言っている口癖も。 「俺、もし風邪で寝込むことがあったら・・・絶対二奈ちゃんに看病してもらうんだ・・・」 だからだろう。二奈は疑いの目を向けてくる。 「アイツが毎日言ってることは冗談なんだから気にすんなよ」 一応、これが俺の用意していた答えだ。これで納得してもらえると信じてる。 「ふ~ん・・・ならウチも一緒に行くよ」 「え、えぇぇ!?」 予想外だった。 「そ、それはやめといた方がいいんじゃないかな~?」 「どうして?」 「どうしてって・・・ほ、ほら男って自分の弱ってる姿を女の子に見られたくない生き物なわけであって・・・」 マズい。完全に浮気について言い訳をしている旦那みたくなっている。 「・・・な~んか怪しいな~・・・」 ジ・エンドかもしれない。 そうあきらめかけたとき、意外なところから救いの手が差し伸べられた。 「あんまりしつこいと嫌われるわよ。女は黙って身を引くものでしょ?」 それはさっきまでの自分の事を棚に上げた姉さんの発言だった。 「早く行ってあげなさい、優二。親友は大事にするのよ」 何かものすっごく裏がありそうだったが・・・コンパに行けるんだ。罠でも構いはしない。 「じゃあ行ってくるよ!」 それから全速力で居酒屋に向かった。 388 Identical ◆sGQmFtcYh2 sage 2010/07/10(土) 17 06 30 ID HekTK1+H 「おお~来た来た!」 俺が居酒屋に着いた時、すでにコンパは後半戦に差し掛かっていた。 とりあえず空いている場所に腰を下ろすと、途端に拓朗が絡んできた。 「ほら!コイツがさっき言っていた山川優二だ!すげー女顔してるだろ?」 「本当だー!超イケメン!」 「顔キレーだね!羨ましいくらい」 「ありがと」 どうやら俺が来るまでに拓朗が色々と話していたようだ。 「それにしても・・・よく奥さんがOK出したな」 拓朗の言う奥さんとはきっと二奈の事だろう。 アイツはコンパとか友達の紹介とか、そういった類のもの全般が嫌いなのだ。 当然、俺がそれに便乗する事も。 「えぇ!?優二君、奥さんがいるの!?」 「超ショック~」 「いや、そんなのいないから。コイツの嘘だから」 やめてくれ拓朗。俺はこのコンパに初彼女を賭けてきてるんだからな。 でも何となく女性陣の喰いつきは悪くないみたいだ。 今回こそはいけるのか? 「奥さんみたいなもんだろ?同棲してるし学校もバイト先も何から何まで一緒なんて」 「え?・・・同棲?」 「それにバイト先まで一緒・・・?」 しかし拓朗の一言で、さっきまで喰いつきの良かった女の子たちが若干引いてしまった。 確実に俺に彼女がいると思われているだろう。 「誤解しないでくれ!確かに半同棲していて学校もバイト先も同じ女の子はいるけど、ただの妹だから!」 なぜに俺はここでも追い詰められてしまうんだ? その時、女の子の一人がある単語を発した。 「優二君って・・・シスコンなの?」 「シスコン?えっと・・・何処までいけばシスコンなの?」 俺はよく友達からシスコンと言われる。でも自分ではシスコンのつもりはなかった。 一体俺の何処がシスコンなのか知りたい。 「どこまでって・・・え~と・・・同棲してる時点でシスコンだと思うけど・・・」 なんてこった。そんなレベルからもうシスコンと言われるのか。 なら二奈と同じベッドで一緒に寝ている俺は、シスコンの中でもかなり上のレベルに達しているのか? 拓朗がポンッと肩に手を乗せてくる。 「ほら、これで分かっただろ?お前は重度のシスコンなんだ。そろそろ・・・妹離れを真剣に考えるべきなんじゃないか?」 「そのほうがいいね。優二君のためにも妹さんのためにも」 今はコンパの真っ最中だというのに、なぜか俺の人生相談が始まった。 「じゃあ具体的に何をすればいいんだ?」 「そんなもん決まってるだろ!彼女だよ、彼女!」 「そうだね、それが一番だね」 「優二君、顔はいいんだからすぐにできるでしょ?」 女の子達の言葉が奥歯に引っかかる。 二人とも彼女を作れば?と言う割には、誰一人俺と付き合ってもいいとは言ってくれなかった。 それに・・・顔『は』って何?『は』ってどういう意味? 389 Identical ◆sGQmFtcYh2 sage 2010/07/10(土) 17 07 24 ID HekTK1+H 「と、とにかく飲もうぜ!」 今まで会話に全く参加できていなかった最後の男性が、そう切り出した。 あの人の事を俺は知らない。多分向こうも俺の事を知らない。 「そうだ!今から王様ゲームでもしね?」 拓朗は例の男の意見を全く無視して、定番だが提案するには勇気のいるゲームの名を挙げた。 このゲームは基本的に男性陣の票は簡単に集まる。しかしだからと言って多数決で決める事はできない。 要は女性陣の票次第という事だ。 「「おもしろそー」」 即決だった。 「やべー!超ウケるー!!」 王様ゲームもだいぶ盛り上がっていく中、俺は一つの事が気になっていた。 それは俺から最も遠い席に座っている女の子。おしとやかそうな雰囲気を漂わせている黒髪美人。 そんな視線に女の子の一人が気付いた。 「あれ~優二君、さっきから伴子(ともこ)の事ばっか見てるけど・・・一目惚れでもしたのかな~?」 「なっ・・・!?」 「ちょ、ちょっとやめてよ葵ちゃん!ゆ、優二君が私にみ、見惚れるなんて・・・あ、あるわけないじゃない!」 伴子さんはそう否定した。 でも実際は葵さんの正解だった。俺は見惚れていた。 顔だけじゃなく、仕草や振る舞い、その他もろもろ全てがストライクゾーンだった。 「ふ~ん、それなら次の王様の命令を言うね?1番と3番は鼻の頭をくっつけたまま10秒間見つめ合う事!」 「「え~~~~~~っ!!」」 どんな細工をしたのかは不明だが、俺が1番、伴子さんが3番だった。 「早く早く~♪」 いや、さすがにまずいだろ!俺は構わないけど伴子さんの方は――― 「わ、分かりました!///」 「きゃ~!」 伴子さんが僕の目の前までやって来る。 「ゆ、優二さんがよければ・・・その・・・」 「こ、こっちこそ!ふ、不束者ですが、どうぞよろしくお願いしまっす!」 まるで付き合いたてのカップルのような初々しさで、俺たちはゆっくりと鼻を近づけていった。 異様なまでの動悸。噴き出る汗が止まらない。そして――― トンッ・・・ 鼻頭と鼻頭がぶつかった。 甘い匂いが鼻孔をくすぐる。その匂いで脳がぼうっとしてしまう。 伴子さんの目って大きくて、黒くて、何だか吸い込まれそうな引力が・・・ 「・・・ふ、二人とも?もう10秒たったからいいよ?」 周りの声が耳に入って来たことは分かった。 でも動けない。 この目を見ていると動くことができない。 もしかすると伴子さんも俺と同じ感覚を味わっているのかもしれない。 彼女の方もまた、動くことはなかった。 そのまま見つめ合い続ける二人。 誰もが口をはさめる空気ではなかった。 『彼女たち』を除いては。 「あーーーーーーーー!!何やってんだよーーー!!」 突然体が後ろの方に引っ張られた。 何かと思い後ろを振り返る。 そこには家で寝ていたはずの三華の姿があった。 戻る 目次へ 次へ
https://w.atwiki.jp/mizcremorne/pages/147.html
llGetAgentInfo integer llGetAgentInfo(key id) エージェントの情報を入手する。 腕利きのエージェントを調査する場合は報復を覚悟したりしなくても良い。 ここで言うエージェントというのは要するにアバターのことである。 この関数で調べることができるのは、主にアバターの動作である。 戻り値はビットフィールドになっているので以下の定数と 演算を行って判定する。 定数 説明 実際の値 AGENT_FLYING 飛行中もしくは落下中 1 AGENT_ATTACHMENTS アタッチメントを装備している 2 AGENT_SCRIPTED スクリプト入りのアタッチメントを装備している 4 AGENT_MOUSELOOK マウスルック状態 8 AGENT_SITTING 地面もしくはオブジェクトの上に座っている 16 AGENT_ON_OBJECT 地面ではなく何かオブジェクトの上に座っている 32 AGENT_AWAY AWAY状態 64 AGENT_WALKING 歩行中 128 AGENT_IN_AIR 飛行中ではなくジャンプ中 256 AGENT_TYPING チャット入力中 512 AGENT_CROUCHING しゃがんでいる 1024 AGENT_BUSY BUSY状態 2048 AGENT_ALWAYS_RUN 常に走る状態になっている 4096 以下の例はアタッチメントを一切装備していない可哀想なアバターに葉っぱを与える。 default { touch_start(integer detected){ integer ai = llGetAgentInfo(llDetectedKey(0)); if (!(ai AGENT_ATTACHMENTS)){ llGiveInventory(llDetectedKey(0), "happa"); } } } なお、この関数はSIM内にいるアバターに対してでなければ使えない。 名前 コメント
https://w.atwiki.jp/mi_ic2/pages/134.html
TileEntityCrop 私はこのコードについて真に驚くべき解説ができるが、ここに記すには@Wikiの制限容量が少なすぎる。 バージョン: industrialcraft-2-2.2.828-experimental package ic2.core.crop; import ic2.api.crops.BaseSeed; import ic2.api.crops.CropCard; import ic2.api.crops.Crops; import ic2.api.crops.ICropTile; import ic2.api.network.INetworkDataProvider; import ic2.api.network.INetworkUpdateListener; import ic2.core.IC2; import ic2.core.Ic2Items; import ic2.core.block.machine.tileentity.TileEntityCropmatron; import ic2.core.item.ItemCropSeed; import ic2.core.network.NetworkManager; import ic2.core.util.StackUtil; import ic2.core.util.Util; import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Set; import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ChunkCoordinates; import net.minecraft.util.StatCollector; import net.minecraft.world.EnumSkyBlock; import net.minecraft.world.World; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; public class TileEntityCrop extends TileEntity implements INetworkDataProvider, INetworkUpdateListener, ICropTile { public byte humidity = -1; public byte nutrients = -1; public byte airQuality = -1; private static final boolean debug = false; private CropCard crop = null; public int size = 0; public int statGrowth = 0; public int statGain = 0; public int statResistance = 0; public int scanLevel = 0; public NBTTagCompound customData = new NBTTagCompound(); public int nutrientStorage = 0; public int waterStorage = 0; public int exStorage = 0; public int growthPoints = 0; public boolean upgraded = false; public char ticker; public boolean dirty; public static int tickRate = 256; public int weedlevel; public int Infestedlevel; public TileEntityCrop() { this.ticker = (char)IC2.random.nextInt(tickRate); this.dirty = true; this.weedlevel = 0; this.Infestedlevel = 0; } public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); if (nbt.hasKey( cropOwner ) nbt.hasKey( cropName )) { this.crop = Crops.instance.getCropCard(nbt.getString( cropOwner ), nbt.getString( cropName )); } else if (nbt.hasKey( cropid )) { this.crop = IC2Crops.getCropFromId(nbt.getShort( cropid )); } this.size = nbt.getByte( size ); this.statGrowth = nbt.getByte( statGrowth ); this.statGain = nbt.getByte( statGain ); this.statResistance = nbt.getByte( statResistance ); if (nbt.hasKey( data0 )) { for(int x = 0; x 16; ++x) { this.customData.setShort( legacy + x, nbt.getShort( data + x)); } } else if (nbt.hasKey( customData )) { this.customData = nbt.getCompoundTag( customData ); } this.growthPoints = nbt.getInteger( growthPoints ); this.nutrientStorage = nbt.getInteger( nutrientStorage ); this.waterStorage = nbt.getInteger( waterStorage ); this.exStorage = nbt.getInteger( exStorage ); this.upgraded = nbt.getBoolean( upgraded ); this.scanLevel = nbt.getByte( scanLevel ); this.weedlevel = nbt.getInteger( weedlevel ); this.Infestedlevel = nbt.getInteger( Infestedlevel ); } public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); if (this.crop != null) { nbt.setString( cropOwner , this.crop.owner()); nbt.setString( cropName , this.crop.name()); } nbt.setByte( size , (byte)this.size); nbt.setByte( statGrowth , (byte)this.statGrowth); nbt.setByte( statGain , (byte)this.statGain); nbt.setByte( statResistance , (byte)this.statResistance); nbt.setTag( customData , this.customData); nbt.setInteger( growthPoints , this.growthPoints); nbt.setInteger( nutrientStorage , this.nutrientStorage); nbt.setInteger( waterStorage , this.waterStorage); nbt.setInteger( exStorage , this.exStorage); nbt.setBoolean( upgraded , this.upgraded); nbt.setByte( scanLevel , (byte)this.scanLevel); nbt.setInteger( weedlevel , this.weedlevel); nbt.setInteger( Infestedlevel , this.Infestedlevel); } public void updateEntity() { super.updateEntity(); ++this.ticker; if (this.ticker % tickRate == 0) { this.tick();// 256MinecraftTickに1回呼ばれる } if (this.dirty) {// 更新が必要なら更新する this.dirty = false; this.worldObj.markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord); this.worldObj.updateLightByType(EnumSkyBlock.Block, this.xCoord, this.yCoord, this.zCoord); if (IC2.platform.isSimulating()) { Iterator var1 = this.getNetworkedFields().iterator(); while(var1.hasNext()) { String field = (String)var1.next(); ((NetworkManager)IC2.network.get()).updateTileEntityField(this, field); } } } } public List getNetworkedFields() { List ret = new ArrayList(4); ret.add( crop ); ret.add( size ); ret.add( upgraded ); ret.add( customData ); ret.add( weedlevel ); ret.add( Infestedlevel ); return ret; } public void tick() { if (IC2.platform.isSimulating()) { if (this.ticker % (tickRate 2) == 0) {// 1024Minecraftに1度、位相そのまま this.humidity = this.updateHumidity(); } if ((this.ticker + tickRate) % (tickRate 2) == 0) {// 1024Minecraftに1度、上の256tick前 this.nutrients = this.updateNutrients(); } if ((this.ticker + tickRate * 2) % (tickRate 2) == 0) {// 1024Minecraftに1度、上の256tick前 this.airQuality = this.updateAirQuality(); } if (this.crop == null) { if (!this.upgraded || !this.attemptCrossing()) {// upgradedなら何もしない、upgradedでないなら交配試行して成功したらスルー、交配失敗だと内部を実行 if (IC2.random.nextInt(100) != 0 || this.hasEx()) { if (this.exStorage 0 IC2.random.nextInt(10) == 0) { --this.exStorage; } return; } this.reset(); this.crop = IC2Crops.weed; this.size = 1; } assert this.crop != null; } this.crop.tick(this); if (this.crop.canGrow(this)) { this.growthPoints += this.calcGrowthRate(); if (this.crop == null) { return; } if (this.growthPoints = this.crop.growthDuration(this)) { this.growthPoints = 0; ++this.size; this.dirty = true; } } if (this.nutrientStorage 0) { --this.nutrientStorage; } if (this.waterStorage 0) { --this.waterStorage; } if (this.crop.isWeed(this) IC2.random.nextInt(50) - this.statGrowth = 2) { this.generateWeed(); } } } public void generateWeed() { int x = this.xCoord; int y = this.yCoord; int z = this.zCoord; switch(IC2.random.nextInt(4)) { case 0 ++x;// breakが足りない case 1 --x;// breakが足りない case 2 ++z;// breakが足りない case 3 --z; } if (this.worldObj.getTileEntity(x, y, z) instanceof TileEntityCrop) { TileEntityCrop teCrop = (TileEntityCrop)this.worldObj.getTileEntity(x, y, z); CropCard neighborCrop = teCrop.getCrop(); if (neighborCrop == null || !neighborCrop.isWeed(teCrop) IC2.random.nextInt(32) = teCrop.statResistance !teCrop.hasEx()) { int newGrowth = Math.max(this.statGrowth, teCrop.statGrowth); if (newGrowth 31 IC2.random.nextBoolean()) { ++newGrowth; } teCrop.reset(); teCrop.crop = IC2Crops.weed; teCrop.size = 1; teCrop.statGrowth = (byte)newGrowth; } } else if (this.worldObj.isAirBlock(x, y, z)) { Block block = this.worldObj.getBlock(x, y - 1, z); if (block == Blocks.dirt || block == Blocks.grass || block == Blocks.farmland) { this.worldObj.setBlock(x, y - 1, z, Blocks.grass, 0, 7); this.worldObj.setBlock(x, y, z, Blocks.tallgrass, 1, 7); } } } public boolean hasEx() { if (this.exStorage 0) { this.exStorage -= 5; return true; } else { return false; } } public boolean attemptCrossing() { if (IC2.random.nextInt(3) != 0) {// 確率で無条件失敗 return false; } else { List cropTes = new ArrayList(4);// 交配参加可能植物を列挙 this.askCropJoinCross(this.xCoord - 1, this.yCoord, this.zCoord, cropTes); this.askCropJoinCross(this.xCoord + 1, this.yCoord, this.zCoord, cropTes); this.askCropJoinCross(this.xCoord, this.yCoord, this.zCoord - 1, cropTes); this.askCropJoinCross(this.xCoord, this.yCoord, this.zCoord + 1, cropTes); if (cropTes.size() 2) {// 参加可能が2個未満で失敗 return false; } else { CropCard[] crops = (CropCard[])Crops.instance.getCrops().toArray(new CropCard[0]);// 全植物を列挙 if (crops.length == 0) {// 植物がないときは失敗 return false; } else { int[] ratios = new int[crops.length];// ここまでの累積交配比重 int total = 0; int search;// 全植物の交配比重の合計を計算 for(search = 0; search ratios.length; ++search) { CropCard crop = crops[search]; TileEntityCrop te; if (crop.canGrow(this)) { for(Iterator var7 = cropTes.iterator(); var7.hasNext(); total += this.calculateRatioFor(crop, te.getCrop())) { te = (TileEntityCrop)var7.next(); } } ratios[search] = total; } search = IC2.random.nextInt(total);// 累積交配比重に準じた乱数 int min = 0; int max = ratios.length - 1; int count; while(min max) {// minをsearchに対応したcropsのインデックスにする count = (min + max) / 2; int value = ratios[count]; if (search value) { max = count; } else { min = count + 1; } } assert min == max; assert min = 0 min ratios.length; assert ratios[min] search; assert min == 0 || ratios[min - 1] = search; this.upgraded = false; this.crop = crops[min]; this.dirty = true; this.size = 1; this.statGrowth = 0; this.statResistance = 0; this.statGain = 0; TileEntityCrop te;// 交配参加した作物の合計計算 for(Iterator var13 = cropTes.iterator(); var13.hasNext(); this.statGain += te.statGain) { te = (TileEntityCrop)var13.next(); this.statGrowth += te.statGrowth; this.statResistance += te.statResistance; } count = cropTes.size(); this.statGrowth /= count; this.statResistance /= count; this.statGain /= count;// ここまででGGRが交配参加した作物の平均になっている this.statGrowth += IC2.random.nextInt(1 + 2 * count) - count;// -count~count this.statGain += IC2.random.nextInt(1 + 2 * count) - count; this.statResistance += IC2.random.nextInt(1 + 2 * count) - count; this.statGrowth = Util.limit(this.statGrowth, 0, 31); this.statGain = Util.limit(this.statGain, 0, 31); this.statResistance = Util.limit(this.statResistance, 0, 31); return true; } } } } public int calculateRatioFor(CropCard newCrop, CropCard oldCrop) { if (newCrop == oldCrop) {// 同一植物だと500 return 500; } else { int value = 0;// 交配比重、初期値0 int diff;// statが完全に同一の時+10、statが1ずれるごとに-1のペナルティ int delta; for(diff = 0; diff 5; ++diff) { delta = Math.abs(newCrop.stat(diff) - oldCrop.stat(diff)); value += -delta + 2; } String[] var12 = newCrop.attributes();// 属性が大文字小文字無視で一致するごとに+5 delta = var12.length; for(int var6 = 0; var6 delta; ++var6) { String attributeNew = var12[var6]; String[] var8 = oldCrop.attributes(); int var9 = var8.length; for(int var10 = 0; var10 var9; ++var10) { String attributeOld = var8[var10]; if (attributeNew.equalsIgnoreCase(attributeOld)) { value += 5; } } } diff = newCrop.tier() - oldCrop.tier();// Tier増分が正の場合2倍ペナルティ、負の場合1倍ペナルティ if (diff 1) { value -= 2 * diff; } if (diff -3) { value -= -diff; } return Math.max(value, 0); } } public void askCropJoinCross(int x, int y, int z, List crops) { TileEntity te = this.worldObj.getTileEntity(x, y, z); if (te instanceof TileEntityCrop) {// ブロックが支柱で、 TileEntityCrop sideCrop = (TileEntityCrop)te; CropCard neighborCrop = sideCrop.getCrop(); if (neighborCrop != null) {// 植物が存在し、 if (neighborCrop.canGrow(this) neighborCrop.canCross(sideCrop)) {// その植物種が交配後の位置で成長可能であり、交配前の位置で交配可能である場合、 int base = 4;// 初期値4 if (sideCrop.statGrowth = 16) {// Gr16で1のボーナス ++base; } if (sideCrop.statGrowth = 30) {// Gr30で1のボーナス ++base; } if (sideCrop.statResistance = 28) {// Re28以降1ずつペナルティ base += 27 - sideCrop.statResistance; } if (base = IC2.random.nextInt(20)) {// (base + 1) / 20が交配参加確率。 crops.add(sideCrop); } } } } } public boolean leftClick(EntityPlayer player) { if (this.crop == null) { if (this.upgraded) { this.upgraded = false; this.dirty = true; if (IC2.platform.isSimulating()) { StackUtil.dropAsEntity(this.worldObj, this.xCoord, this.yCoord, this.zCoord, new ItemStack(Ic2Items.crop.getItem())); } return true; } else { return false; } } else { return this.crop.leftclick(this, player); } } public boolean pick(boolean manual) { if (this.crop == null) { return false; } else { boolean bonus = this.harvest(false); float firstchance = this.crop.dropSeedChance(this); int drop; for(drop = 0; drop this.statResistance; ++drop) { firstchance *= 1.1F; } drop = 0; int x; if (bonus) { if (IC2.random.nextFloat() = (firstchance + 1.0F) * 0.8F) { ++drop; } float chance = this.crop.dropSeedChance(this) + (float)this.statGrowth / 100.0F; if (!manual) { chance *= 0.8F; } for(x = 23; x this.statGain; ++x) { chance *= 0.95F; } if (IC2.random.nextFloat() = chance) { ++drop; } } else if (IC2.random.nextFloat() = firstchance * 1.5F) { ++drop; } ItemStack[] re = new ItemStack[drop]; for(x = 0; x drop; ++x) { re[x] = this.crop.getSeeds(this); } this.reset(); if (IC2.platform.isSimulating() re.length 0) { for(x = 0; x re.length; ++x) { if (re[x].getItem() != Ic2Items.cropSeed.getItem()) { re[x].stackTagCompound = null; } StackUtil.dropAsEntity(this.worldObj, this.xCoord, this.yCoord, this.zCoord, re[x]); } } return true; } } public boolean rightClick(EntityPlayer player) { ItemStack current = player.getCurrentEquippedItem(); boolean creative = player.capabilities.isCreativeMode; if (current != null) { if (this.crop == null) { if (current.getItem() == Ic2Items.crop.getItem() !this.upgraded) { if (!creative) { --current.stackSize; if (current.stackSize = 0) { player.inventory.mainInventory[player.inventory.currentItem] = null; } } this.upgraded = true; this.dirty = true; return true; } if (this.applyBaseSeed(player)) { return true; } } if (current.getItem() == Items.water_bucket || current.getItem() == Ic2Items.waterCell.getItem()) { if (this.waterStorage 10) { this.waterStorage = 10; return true; } return current.getItem() == Items.water_bucket; } if (current.getItem() == Items.wheat_seeds) { if (this.nutrientStorage = 50) { this.nutrientStorage += 25; --current.stackSize; if (current.stackSize = 0) { player.inventory.mainInventory[player.inventory.currentItem] = null; } return true; } return false; } if (current.getItem() == Items.dye current.getItemDamage() == 15 || current.getItem() == Ic2Items.fertilizer.getItem()) { if (this.applyFertilizer(true)) { if (creative) { return true; } else { --current.stackSize; if (current.stackSize = 0) { player.inventory.mainInventory[player.inventory.currentItem] = null; } return true; } } else { return false; } } if (current.getItem() == Ic2Items.hydratingCell.getItem()) { if (this.applyHydration(true, current, player)) { if (current.stackSize = 0) { player.inventory.mainInventory[player.inventory.currentItem] = null; } return true; } return false; } if (current.getItem() == Ic2Items.weedEx.getItem() this.applyWeedEx(true)) { current.damageItem(1, player); if (current.stackSize = 0) { player.inventory.mainInventory[player.inventory.currentItem] = null; } return true; } } if (this.crop == null) { return false; } else { return this.crop.rightclick(this, player); } } public boolean applyBaseSeed(EntityPlayer player) { ItemStack current = player.getCurrentEquippedItem(); BaseSeed seed = Crops.instance.getBaseSeed(current); if (seed != null) { if (current.stackSize seed.stackSize) { return false; } if (this.tryPlantIn(seed.crop, seed.size, seed.statGrowth, seed.statGain, seed.statResistance, 1)) { if (player.capabilities.isCreativeMode) { return true; } if (current.getItem().hasContainerItem(current)) { if (current.stackSize 1) { return false; } player.inventory.mainInventory[player.inventory.currentItem] = current.getItem().getContainerItem(current); } else { current.stackSize -= seed.stackSize; if (current.stackSize = 0) { player.inventory.mainInventory[player.inventory.currentItem] = null; } } return true; } } return false; } public boolean tryPlantIn(CropCard crop, int si, int statGr, int statGa, int statRe, int scan) { if (crop != null crop != IC2Crops.weed !this.upgraded) { if (!crop.canGrow(this)) { return false; } else { this.reset(); this.crop = crop; this.size = (byte)si; this.statGrowth = (byte)statGr; this.statGain = (byte)statGa; this.statResistance = (byte)statRe; this.scanLevel = (byte)scan; return true; } } else { return false; } } public boolean applyFertilizer(boolean manual) { if (this.nutrientStorage = 100) { return false; } else { this.nutrientStorage += manual ? 100 90; return true; } } public boolean applyHydration(TileEntityCropmatron cropmatron) { if (this.waterStorage = 200) { return false; } else { int apply = 200 - this.waterStorage; FluidStack drain = cropmatron.getFluidTank().drain(apply, true); if (drain != null) { this.waterStorage += drain.amount; return true; } else { return false; } } } public boolean applyHydration(boolean manual, ItemStack itemStack, EntityPlayer player) { if ((manual || this.waterStorage 180) this.waterStorage 200) { int apply = manual ? 200 - this.waterStorage 180 - this.waterStorage; apply = Math.min(apply, itemStack.getMaxDamage() - itemStack.getItemDamage()); if (!player.capabilities.isCreativeMode itemStack.attemptDamageItem(apply, IC2.random)) { player.inventory.mainInventory[player.inventory.currentItem] = Ic2Items.cell; } this.waterStorage += apply; return true; } else { return false; } } public boolean applyWeedEx(boolean manual) { if ((this.exStorage 100 || !manual) this.exStorage 150) { this.exStorage += 50; boolean triggerDecline; if (manual) { triggerDecline = this.worldObj.rand.nextInt(5) == 0; } else { triggerDecline = this.worldObj.rand.nextInt(3) == 0; } if (this.crop != null this.crop.isWeed(this) this.exStorage = 75 triggerDecline) { switch(this.worldObj.rand.nextInt(5)) { case 0 if (this.statGrowth 0) { --this.statGrowth; } case 1 if (this.statGain 0) { --this.statGain; } default if (this.statResistance 0) { --this.statResistance; } } } return true; } else { return false; } } public ItemStack[] harvest_automated(boolean optimal) { if (this.crop == null) { return null; } else if (!this.crop.canBeHarvested(this)) { return null; } else if (optimal this.size != this.crop.getOptimalHavestSize(this)) { return null; } else { double chance = (double)this.crop.dropGainChance(); chance *= Math.pow(1.03D, (double)this.statGain); int dropCount = (int)Math.max(0L, Math.round(IC2.random.nextGaussian() * chance * 0.6827D + chance)); ItemStack[] ret = new ItemStack[dropCount]; for(int i = 0; i dropCount; ++i) { ret[i] = this.crop.getGain(this); if (ret[i] != null IC2.random.nextInt(100) = this.statGain) { ++ret[i].stackSize; } } this.size = this.crop.getSizeAfterHarvest(this); this.dirty = true; return ret; } } public boolean harvest(boolean manual) { ItemStack[] drops = this.harvest_automated(false); if (drops == null) { return false; } else { if (IC2.platform.isSimulating() drops.length 0) { ItemStack[] var3 = drops; int var4 = drops.length; for(int var5 = 0; var5 var4; ++var5) { ItemStack drop = var3[var5]; StackUtil.dropAsEntity(this.worldObj, this.xCoord, this.yCoord, this.zCoord, drop); } } return true; } } public void onNeighbourChange() { if (this.crop != null) { this.crop.onNeighbourChange(this); } } public int emitRedstone() { return this.crop == null ? 0 this.crop.emitRedstone(this); } public void onBlockDestroyed() { if (this.crop != null) { this.crop.onBlockDestroyed(this); } } public int getEmittedLight() { return this.crop == null ? 0 this.crop.getEmittedLight(this); } public byte getHumidity() { if (this.humidity == -1) { this.humidity = this.updateHumidity(); } return this.humidity; } public byte getNutrients() { if (this.nutrients == -1) { this.nutrients = this.updateNutrients(); } return this.nutrients; } public byte getAirQuality() { if (this.airQuality == -1) { this.airQuality = this.updateAirQuality(); } return this.airQuality; } public byte updateHumidity() { int value = Crops.instance.getHumidityBiomeBonus(this.worldObj.getBiomeGenForCoords(this.xCoord, this.zCoord)); if (this.worldObj.getBlockMetadata(this.xCoord, this.yCoord - 1, this.zCoord) = 7) { value += 2; } if (this.waterStorage = 5) { value += 2; } value += (this.waterStorage + 24) / 25; return (byte)value; } public byte updateNutrients() { int value = Crops.instance.getNutrientBiomeBonus(this.worldObj.getBiomeGenForCoords(this.xCoord, this.zCoord)); for(int i = 2; i 5 this.worldObj.getBlock(this.xCoord, this.yCoord - i, this.zCoord) == Blocks.dirt; ++i) { ++value; } value += (this.nutrientStorage + 19) / 20; return (byte)value; } public byte updateAirQuality() { int value = 0; int height = (this.yCoord - 64) / 15; if (height 4) { height = 4; } if (height 0) { height = 0; } int value = value + height; int fresh = 9; for(int x = this.xCoord - 1; x = this.xCoord + 1 fresh 0; ++x) { for(int z = this.zCoord - 1; z = this.zCoord + 1 fresh 0; ++z) { if (this.worldObj.isBlockNormalCubeDefault(x, this.yCoord, z, false) || this.worldObj.getTileEntity(x, this.yCoord, z) instanceof TileEntityCrop) { --fresh; } } } value += fresh / 2; if (this.worldObj.canBlockSeeTheSky(this.xCoord, this.yCoord + 1, this.zCoord)) { value += 2; } return (byte)value; } public int updateMultiCulture() { Set crops = new HashSet(); for(int x = -1; x 1; ++x) { for(int z = -1; z 1; ++z) { TileEntity te = this.worldObj.getTileEntity(x + this.xCoord, this.yCoord, z + this.zCoord); if (te instanceof TileEntityCrop) { CropCard neighborCrop = ((TileEntityCrop)te).getCrop(); if (neighborCrop != null) { crops.add(neighborCrop); } } } } return crops.size() - 1; } public void addIfNotPresent(CropCard crop, LinkedList crops) { for(int i = 0; i crops.size(); ++i) { if (crop == crops.get(i)) { return; } } crops.add(crop); } public int calcGrowthRate() { if (this.crop == null) { return 0; } else { int base = 3 + IC2.random.nextInt(7) + this.statGrowth; int need = (this.crop.tier() - 1) * 4 + this.statGrowth + this.statGain + this.statResistance; if (need 0) { need = 0; } int have = this.crop.weightInfluences(this, (float)this.getHumidity(), (float)this.getNutrients(), (float)this.getAirQuality()) * 5; if (have = need) { base = base * (100 + (have - need)) / 100; } else { int neg = (need - have) * 4; if (neg 100 IC2.random.nextInt(32) this.statResistance) { this.reset(); base = 0; } else { base = base * (100 - neg) / 100; if (base 0) { base = 0; } } } return base; } } public void calcTrampling() { if (IC2.platform.isSimulating()) { if (IC2.random.nextInt(100) == 0 IC2.random.nextInt(40) this.statResistance) { this.reset(); this.worldObj.setBlock(this.xCoord, this.yCoord - 1, this.zCoord, Blocks.dirt, 0, 7); } } } public void onEntityCollision(Entity entity) { if (this.crop != null) { if (this.crop.onEntityCollision(this, entity)) { this.calcTrampling(); } } } public void reset() { this.crop = null; this.size = 0; this.customData = new NBTTagCompound(); this.dirty = true; this.statGain = 0; this.statResistance = 0; this.statGrowth = 0; this.nutrients = -1; this.airQuality = -1; this.humidity = -1; this.growthPoints = 0; this.upgraded = false; this.scanLevel = 0; } public void updateState() { this.dirty = true; } public String getScanned() { if (this.crop == null) { return null; } else if (this.scanLevel = 0) { return null; } else { String name = StatCollector.translateToLocal(this.crop.displayName()); return this.scanLevel = 4 ? String.format( %s - Gr %d Ga %d Re %d S %d/%d , name, this.statGrowth, this.statGain, this.statResistance, this.size, this.crop.maxSize()) String.format( %s - Size %d/%d , name, this.size, this.crop.maxSize()); } } public boolean isBlockBelow(Block reqBlock) { if (this.crop == null) { return false; } else { for(int i = 1; i this.crop.getrootslength(this); ++i) { Block block = this.worldObj.getBlock(this.xCoord, this.yCoord - i, this.zCoord); if (block.isAir(this.worldObj, this.xCoord, this.yCoord - i, this.zCoord)) { return false; } if (block == reqBlock) { return true; } } return false; } } public boolean isBlockBelow(String oreDictionaryName) { if (this.crop == null) { return false; } else { for(int i = 1; i this.crop.getrootslength(this); ++i) { Block block = this.worldObj.getBlock(this.xCoord, this.yCoord - i, this.zCoord); int metaData = this.worldObj.getBlockMetadata(this.xCoord, this.yCoord - i, this.zCoord); if (block.isAir(this.worldObj, this.xCoord, this.yCoord - i, this.zCoord)) { return false; } for(int aux = 0; aux OreDictionary.getOres(oreDictionaryName).size(); ++aux) { ItemStack itemStack = (ItemStack)OreDictionary.getOres(oreDictionaryName).get(aux); if (itemStack.getItem() == Item.getItemFromBlock(block) itemStack.getItemDamage() == metaData) { return true; } } } return false; } } public ItemStack generateSeeds(CropCard crop, byte growth, byte gain, byte resis, byte scan) { return ItemCropSeed.generateItemStackFromValues(crop, growth, gain, resis, scan); } public ItemStack generateSeeds(short plant, byte growth, byte gain, byte resis, byte scan) { return this.generateSeeds(IC2Crops.getCropFromId(plant), growth, gain, resis, scan); } public void onNetworkUpdate(String field) { this.dirty = true; } public CropCard getCrop() { return this.crop; } public short getID() { return (short)Crops.instance.getIdFor(this.crop); } public byte getSize() { return (byte)this.size; } public byte getGrowth() { return (byte)this.statGrowth; } public byte getGain() { return (byte)this.statGain; } public byte getResistance() { return (byte)this.statResistance; } public byte getScanLevel() { return (byte)this.scanLevel; } public NBTTagCompound getCustomData() { return this.customData; } public int getNutrientStorage() { return this.nutrientStorage; } public int getHydrationStorage() { return this.waterStorage; } public int getWeedExStorage() { return this.exStorage; } public int getLightLevel() { return this.worldObj.getBlockLightValue(this.xCoord, this.yCoord, this.zCoord); } public void setCrop(CropCard cropCard) { this.crop = cropCard; this.dirty = true; } public void setID(short id) { this.setCrop(IC2Crops.getCropFromId(id)); } public void setSize(byte size1) { this.size = size1; this.dirty = true; } public void setGrowth(byte growth) { this.statGrowth = growth; } public void setGain(byte gain) { this.statGain = gain; } public void setResistance(byte resistance) { this.statResistance = resistance; } public void setScanLevel(byte scanLevel1) { this.scanLevel = scanLevel1; } public void setNutrientStorage(int nutrientStorage1) { this.nutrientStorage = nutrientStorage1; } public void setHydrationStorage(int hydrationStorage) { this.waterStorage = hydrationStorage; } public void setWeedExStorage(int weedExStorage) { this.exStorage = weedExStorage; } public World getWorld() { return this.worldObj; } public ChunkCoordinates getLocation() { return new ChunkCoordinates(this.xCoord, this.yCoord, this.zCoord); } public int getvisualweedlevel() { return this.weedlevel; } public int getvisualInfestedlevel() { if (this.Infestedlevel 10) { return 0; } else if (this.Infestedlevel 30) { return 1; } else if (this.Infestedlevel 50) { return 2; } else if (this.Infestedlevel 70) { return 3; } else { return this.Infestedlevel 90 ? 4 5; } } }
https://w.atwiki.jp/heavymetaleye101/pages/131.html
SLAYER - DIVINE INTERVENTION スラッシュ四天王の中でももっとも尖ったバンドの6枚目のアルバム。 ビルボード誌8位! ドラマーがポール・ボスタフに交代しての作品。1曲目から彼の圧倒的な存在感を知らしめるかのような強力なドラミングで幕を開ける。テクニカルな変拍子スラッシュナンバーに仕上がっている。ケリーは「今回はREGIN IN BLOODのような曲を意識して書いた」と言っているが、言っている通りのスピーディな曲もあれば、SLAYERが放つ負のオーラを押し付けられるような展開に凝ったミドルテンポの曲も収録されているよるな前作同様集大成的作品のように思えてしまう。どちらかというとREGIN~よりSEASONS IN THE ABYSSのような…。収録時間は36分で一気に聴けてしまうアルバムだが、何故かあまり注目されていないようだ(苦笑)中々の良質作品なのに何故だろうか。他のアルバムが凄すぎるのだろうか。確かに他のアルバムと比べるとこれという特徴がないような気がせんでもないが…。聴けば聴くほど引き込まれるという、そんなアルバムなのだろうか…? KILLING FIELDS SEX MURDER ART FICTIONAL REALITY DITTOHEAD DIVINE INTERVENTION CIRCLE OF BELIEFS SS-3 SERENITY IN MURDER 213 MIND CONTROL
https://w.atwiki.jp/shinogis/pages/15.html
3D Photography using Context-aware Layered Depth Inpainting https //shihmengli.github.io/3D-Photo-Inpainting/ Photo ぱくたそ Circle Dolly Zoom In Swing Zoom In Photo ぱくたそ Circle Dolly Zoom In Swing Zoom In
https://w.atwiki.jp/pismonia/pages/55.html
My Bloody Valentine http //www.amazon.co.jp/exec/obidos/search-handle-url/503-3734096-5899140?%5Fencoding=UTF8 search-type=ss index=music-artist field-artist=My%20Bloody%20Valentine Glider Isn t Anything
https://w.atwiki.jp/jpops/pages/7687.html
SINGIE SHANTIをお気に入りに追加 SINGIE SHANTIのリンク #bf Amazon.co.jp ウィジェット SINGIE SHANTIの報道 不二家「カントリーマアム(あまおう苺シャンティ)」「ルック(4種のいちご)」「ミルキー袋(苺のパルフェ)」「苺のパルフェ」 - えん食べ 『映画トロプリ』主題歌シングルの全曲試聴動画を公開!! - PR TIMES 『映画トロピカル~ジュ!プリキュア』主題歌シングル試聴動画公開!『ハートキャッチプリキュア!』メモリアルアルバムも発売決定!! - PR TIMES 『映画トロピカル~ジュ!プリキュア 雪のプリンセスと奇跡の指輪!』主題歌シングル&オリジナル・サウンドトラックが10月20日(水)発売決定! - アニメイトタイムズ テイラー・スウィフト、自身の楽曲をアメリカ海軍がシーシャンティ風にカヴァーした映像が公開 - http //nme.com BABYMETAL「Shanti Shanti Shanti」MV公開、先行配信もスタート(動画あり) - ナタリー SINGIE SHANTIとは SINGIE SHANTIの98%は言葉で出来ています。SINGIE SHANTIの1%はかわいさで出来ています。SINGIE SHANTIの1%は時間で出来ています。 SINGIE SHANTI@ウィキペディア SINGIE SHANTI Amazon.co.jp ウィジェット 掲示板 名前(HN) カキコミ すべてのコメントを見る ページ先頭へ SINGIE SHANTI このページについて このページはSINGIE SHANTIのインターネット上の情報を集めたリンク集のようなものです。ブックマークしておけば、日々更新されるSINGIE SHANTIに関連する最新情報にアクセスすることができます。 情報収集はプログラムで行っているため、名前が同じであるが異なるカテゴリーの情報が掲載される場合があります。ご了承ください。 リンク先の内容を保証するものではありません。ご自身の責任でクリックしてください。