純美蘋果園
TRPG討論區 => 研討區 => 4版 討論區 => 主题作者是: Sheepy 于 2008-05-01, 周四 12:03:39
-
嗯, 我的新玩具...
像下面顯示的, 基礎數值, 能力選項, 技能等已經可以运作.
全 JS 运作, 存在硬盤也可以跑, 主要限制是必需使用 Firefox 2+ 才能跑.
程序生成的文字和介面文字需要分開翻譯, 不過因為設計的時候有考慮到本地化的需要所以翻一個 html, 一個文字 js 共兩個*簡單*檔案即可. 目前只有 js 的一部份翻了, 效果如圖.
-
羊姐姐加油~~~ :em010
-
能放出下载么-0-
-
这不是4e车卡器么,很好,很好
-
贤惠属性不错 :wub:
-
贤……贤惠……哦不,贤慧…………
-
大赞贤惠的羊JJ!
-
現在還未能用呢; 種族特性只輸入了人類及半精靈的可選能力加值以及龍人的噴吐 (為了實作能力的子選項); 職業技能只入了牧師, 流氓, 和法師, 而且受限於 DDXP 資料.
雖然說大部份種族及職業能力只是數據輸入的時間問題, 不過能力選擇子系統還未完成, 專長, 角色紙, 規則認證等子系統未動工. 現在還變化很大, 不適宜預覽.
例如雖然種族和職業是一排圓鍵, 但進階及傳奇依然是舊版的下拉選單, 可是裡面的子選項因為是動態生成所以已更新為圓鍵, 於是完全不能用, 一團糟...
視乎進度, 到下星期可能就可以試用了, 到時再征集數據輸入... 以做了三四天來說, 進度算還可以. 好歹是比現存的 3r/d20m 角色生產器先進的設計...
嗯, 我自己一直習慣叫賢慧. 我要來到果園才比較多接觸 3 版翻譯.
反正開發時用的是英文, 中文只是要來測試國際化及全球化之用... :em002
-
贤慧的话, 确实很像上白泽(甚至都有一对角...) -_,-
-
我都没注意呀……贤慧美
话说……不应该是贤惠么……
那啥,AD蜀黍暑期开4e团不
-
羊JJ好厉害!好贤惠!加油加油~~! :em003
-
嗯, 我自己一直習慣叫賢慧. 我要來到果園才比較多接觸 3 版翻譯.
自从看到有人译为“灵性”之后,我就力挺这个词。
-
http://www.www.goddessfantasy.net/~sheepy/tools/chargen/ (http://www.www.goddessfantasy.net/~sheepy/tools/chargen/)
隱藏了未實作的東西, 輸入了已知的技能. 因為大部份預覽角色是非人角色所以如果用人類的話技能一般不夠分. 唯一有完整技能的是政委及流氓.
EDIT: 天殺的, 我又搞亂他們了. 政委有完整資訊, 不是戰鎖.
-
贤惠。。。。贤惠。。。美。。。
但是我还是要高跟鞋··
-
為了放出所以對介面進行了大量改善, 現在差不多是理想的樣子了.
技能, 數值, 能力, 特性等也更新了. 雖然可用的部份沒增加多少, 但給予的體驗應該開始像樣了.
征集能力明細的(英文)輸入者. (翻譯我就先放一邊好了. - - ) 主要都是照著 PHB Lite 填充下面的兩個檔案, 需要對 4e 系統有一定瞭解但不需要編程能力.
目前系統尚未完善, 複雜的能力可以先跳過... 誰能施捨我一點時間?
// 特性數值
power.Racial.FeyStep = function() {};
let (p = power.Racial.FeyStep.prototype) {
p.summary = 'utility encounter | teleportation | move personal';
};
power.Cleric.LanceOfFaith = function() {};
let (p = power.Cleric.LanceOfFaith.prototype) {
p.summary = '1 atwill | divine implement radiant | ranged 5 | wis vs ref | 1d8+Wis';
};
// 顯示文字
text.power_FeyStep = 'Fey Step';
text.power_FeyStep_desc = '<i>With a step, you vanish from one place and appear in another.</i><br>Teleport up to 5 squares.';
text.power_FeyStep_hit_effect = 'Teleport up to 5 squares.';
text.power_LanceOfFaith = 'Lance of Faith';
text.power_LanceOfFaith_desc = '...';
-
完全不懂,纯咫尺
-
苦力coder申请膜拜,sheepy需要吗? :em012
-
謝謝你幫忙的意願~
嗯, 先談對應我需要的幫忙吧... IE 部份有點長.
現在需要的是輸入八大基礎職業的能力。不真的很多,但夠足夠佔用無可忽視的的時間...
首先需要搞來目前已知的 4e 能力,4e PrRC 2.3 版的地址如下,職業能力自內文 17 頁,PDF 21 頁開始:
http://www.ucalgary.ca/~amwhit/4e_PrRC_v2.3.pdf (http://www.ucalgary.ca/~amwhit/4e_PrRC_v2.3.pdf)
然後對應每一個能力擴充以下兩個 js 檔。進展可以電郵給我,貼給我,MSN 給我,或放上網給我下。
inc/chargen_power.js (http://www.www.goddessfantasy.net/~sheepy/tools/chargen/inc/chargen_power.js)
打開之後,你可以看見最底的兩項職業能力都是物件宣告然後加一行簡單的,會被其他程序讀入的明細。
Prist's Shield = "1 atwill | divine weapon | melee_w | melee vs ac | 1[W]+Str"
Fey Step = "utility encounter | teleportation | move personal"
Dragon Breath = "encounter | | minor blast 3 | str vs ref | 1d8+Str"
明細分為五部份,除傷害外全部需要用低階 (因為要直接對應文字資源)
1 atwill / utility 9 encounter
等級一任意能力 / 等級九輔助遭遇能力
divine weapon / teleportation / implement radiant
關鍵字,照著能力輸入即可,不需要依次序。
melee_w / ranged 5 / minor blast 3 / move personal
動作,範圍,及距離
(標準動作) 近接武器 / (標準動作) 遠程 5 / 迅捷動作 轟擊 3 / 移動動作 個人
melee vs ac / wis vs ref / str vs ref
攻擊及防禦,照寫即可
1d8+Wis / 1[W]+Str
命中傷害,照抄即可
inc/lang_en.js (http://www.www.goddessfantasy.net/~sheepy/tools/chargen/inc/lang_en.js)
每一項能力也有對應的名字和說明, 這就更簡單了
text.power_PriestsShield = "Priest's Shield";
text.power_PriestsShield_desc = '<i>You utter a minor defensive prayer as you attack with your weapon.</i><br>{{hit}}, and you and one adjacent ally gain a [+1 or Cha] power bonus to AC until the end of your next turn.';
<i></i> 裡的是形像化點錣形容, <br> 換行之後的是能力說明,{{hit}} 未實作,會填入能力的命中傷害。
在此再一下感謝 kamiya 表示幫忙的興趣
以下是 IE 的吐糟及技術部份...
我是因為厭倦了 IE 的 JS 所以才抛棄 IE 支援. 被冰封了五年, 兩年前起恢復開發, IE JS 的改善依然乏陳足善, 遙遙無期.
雖然我非常同意 MS 需要先弄好 IE 的 CSS, Box model, hasLayout 等問題, 不過我等不下去了.
新的瀏覽器戰爭正在醞釀, 我挑了沒有在上一次戰爭後抛棄我的一邊. 我個人是沒有意慾去積極支援它. 即使 IE 8 終於新增了尚可一用的除錯工具.
要對應 IE 的話, 我所知的要進行以下改動.
如果你先讀一次 JS 1.7 (http://developer.mozilla.org/en/docs/New_in_JavaScript_1.7) 及 JS 1.6 (http://developer.mozilla.org/en/docs/New_in_JavaScript_1.6) 的說明的話會比較容易理解。
原碼最多用的是 let 本地變量宣告. 那除了不影響上層同名變量外暫時與 var 沒其他分別, 只要在名字相同時把變量更名就可以.
我暫時迴避了依賴上層變量的 inner function. 如果有必要採用的話就會麻煩很多...
其次多用的是 for (let [$name,$value] in Iterator($object)) 及 for each (let $item in $array) 的迴圈.
這技術上也很容易轉換, 只要留意變數不要與上層的變數同名就可以.
接下來的是像 [i.split('.',2).pop() for each (i in powers)] 這樣的矩陣建構式. 同樣可以用標準迴圈代替.
還有是 let [line1, line2, line3, line4, line5] = p.summary.split('|') 這種一口氣自矩陣拆解出多項變量的語法.
多宣告一個臨時變量逐一分配就應該不是問題.
以我所知, 所有使用到 Array.indexOf() 的地方也需要用 inArray() 去改寫.
還有讀取值/寫入值:
power.Racial.DragonbornBreath.prototype.__defineGetter__("energy", function() { return (this.choice) ? [this.choice] : []; } );
這個在 IE 只能用編程手段去迴避, 例如換成普通變量在更新角色的時候同時更新變量.
最後, 我有的地方用的 DOM 功能如 hasAttribute 等印像中 IE 6 不支持.
改的時候別只顧著靜態碼. 介面動態生成的碼也要留意.
當然, html 裡的 1.7 標示也要移除.
以上是目前做卡器核心完成了四分一到三分一左右的情況. 我預期轉移難度會隨著原碼增長而略為增大, 特別是如果目標是 IE 6/7 的話同時要考慮到 CSS 支援等的問題.
強烈建議找來 Office 2003 用裡面的 Script Debugger 對 IE 進行除錯.
基本上, 暫時及可見將來也不會有甚麼不可以用普通 JS 做的功能, 只是我看著 for (var i=0; i < a.length; i++) 心煩, 對 hasLayout 無奈, 對無意義的除錯訊息厭倦, 對堅決不肯升級 IE 的用戶乏力。
就這麼簡單。我已經忍手沒有用 JS 1.8 的東西了...
順便一提,JS 1.7 不是沒有人用的。所有 Firefox 插件都可以使用,也很多在用。網頁就比較少了...
-
恩,好的哈。
还有点问题不是很明白问一下。
①
Prist's Shield = "1 atwill | divine weapon | melee_w | melee vs ac | 1[W]+Str"
Fey Step = "utility encounter | teleportation | move personal"
Dragon Breath = "encounter | | minor blast 3 | str vs ref | 1d8+Str"
第2行是不是最后不用加"||"把|凑成每项能力都有5各描述?还是说在最后的可以省略,不用强制。
第3行 "encounter | | minor blast 3 | str vs ref | 1d8+Str"就是说中间如果有没有的项目就留空?
-
最後的如果沒有可以全部省略, 正確. 中間沒有的要留空. 空格好像不是必需, 我只是覺得隔了方便閱讀.
-
Cleric的部分写了哈,有点问题,不知道如何写了,所以想先问一下。
chargen_power.js
-------------------------------------------------------------------------------------------------
power.Cleric.SacredFlame = function() {};
let (p = power.Cleric.SacredFlame.prototype) {
p.summary = '1 atwill | divine implement radiant | ranged 5 | wis vs ref | 1d6 + Wis';
};
power.Cleric.CauseFear = function() {};
let (p = power.Cleric.CauseFear.prototype) {
p.summary = 'encounter | divine fear implement | ranged 10 | wis vs wil | ';
};
power.Cleric.ChannelDivinity = function() {};
let (p = power.Cleric.ChannelDivinity.prototype) {
p.summary = 'encounter | divine radiant | personal | wis vs wil | ';
};
power.Cleric.CascadeOfLight = function() {};
let (p = power.Cleric.CascadeOfLight.prototype) {
p.summary = 'daily | divine implement radiant | ranged 10 | wis vs wil | 3d8 + Wis';
};
①
CauseFear ,ChannelDivinity ,CascadeOfLight ---->他们三个的第一个属性有什么要求吗?我没有写等级,不知道是不是跟'1 atwill'一样直接写在最前边。
②
ChannelDivinity的伤害是不是不用写啊?
③
CascadeOfLight的伤害不知道是不是1d10,所以我也没有写
lang_en.js
-------------------------------------------------------------------------------------------------
text.power_SacredFlame = "Sacred Flame";
text.power_SacredFlame_desc = '<i>Sacred light shines from above, searing a single enemy with its radiance while at the same time aiding an ally with its beneficent power.</i><br>{{hit}} 1d6 + Wis radiant damage, and one ally you can see chooses either to gain 2 temporary hit points or to make a saving throw.';
text.power_CauseFear = "Cause Fear";
text.power_CauseFear_desc = '<i>Your holy symbol ignites with the fury of your god. Uncontrollable terror grips your enemy, causing him to instantly recoil.</i><br>{{hit}} The target moves its speed + 2 squares away from you. The fleeing target avoids unsafe squares and difficult terrain if it can. This movement provokes opportunity attacks.';
text.power_ChannelDivinity = "Channel Divinity";
text.power_ChannelDivinity_desc = '<i>Your prayer to Amaunator creates a white-hot surge of radiance.</i><br>{{hit}} Your power deals an extra 1d10 radiant damage to all targets hit by the power used. If a power deals half damage on a miss, you deal half of the extra damage as well';
text.power_CascadeOfLight = "Cascade of Light";
text.power_CascadeOfLight_desc = '<i>A burst of divine radiance sears your foe.</i><br>{{hit}} 3d8 + Wis radiant damage, and the target gains vulnerability 5 to all your attacks (save ends).';
{{hit}}后边我直接贴得hit全内容(Channel Divinity贴的是Effect)这样可以吗?
暂时就这样子了 :em007 有点茫然
-
嗯嗯, 很好呢, 已經更新了在線版.
Cause Fear 和 Cascade of Light 都是一級攻擊, PrRC 裡寫了在名字右邊. 這也是 4e 的能力格式.
Channel Divinity 一系是特性/專長能力, 沒有等級. 不過每個不同效果視為一個獨立能力.
{{hit}} 假設會被替換成 "Hit: (計算後的實際傷害)", 所以可以忽略傷害, 只需要從逗號開始.
主要是這些. 謝謝. :wub:
-
呼, 跟上一次比又往前進很多呢, 開始接近可用了.
現在有力量, 有專長, 有能力值上升, 也有可运作的文字簡卡生成. 整件產生器已經變成兩段式載入...
雖然系統還有很多東西待實作, 但介面基本上算是完成, 大體架構也穩定下來. 簡卡是用模版引擎生成的, 不是硬砌, 完成度比看上去的高.
目前餘下像兼職專長, 能力及專長輸入, 攻擊失誤說明, 或做卡時填入實數這一類比較未端的東西.
好吧, 兼職其實越往下走, 特例越多, 會越麻煩. 不過都做到這步, 總不能不做吧...
-
羊jj加油~ :em003
-
兼職又得推後了...
目前算是輸入了所有 1-3 級已知職業能力, 但很多特例未加進去. 上星期花了兩天進行原碼及架構重整, 卡輸出也因此完全敗了, 得等搞好特例再做. 我只希望不會有三重攻擊...
現在各能力和文字都比較好入, 原碼亦變精簡, 邏輯和層次倒是越來越眼花.
到這步, 單單 html 骨架壓縮起來都比一星期前的整套原形的壓縮包大...
結果, 原先理想的 "quick & dirty" 還是失敗了. 但現在簡單好看多了:
text.Powers.TurnUndead = { title: 'Channel Divinity: Turn Undead',
flav : 'You sear undead foes, push them back, and root them in place.',
hit : ', and you push the target 6 squares. The target is immobilized until the end of your next turn.',
miss : ', and the target is not pushed or immobilized. ',
special : 'You can use channel divinity powers once per encounter and only one of them per encounter.',
};
power.Warlock.EldritchBlast = '1 atwill | arcane implement | ranged 10 | cha vs ref | 1d10+chaM';
power.Warlock.EyeBite = '1 atwill | arcane charm implement psychic | ranged 10 | cha vs will | 1d6+chaM';
power.Warlock.Witchfire = '1 encounter | arcane fire implement | ranged 10 | cha vs ref | 2d6+chaM';
-
另一個漂亮的角色產生器. 目前只有頭三頁的樣子.
http://www.manatrance.com/fourgen/ (http://www.manatrance.com/fourgen/)
這邊麼... 近來重寫了很多部份, 不過基礎裝備及英雄級專長都完工了, 現在在弄攻擊演算, 之後就可以繼續弄出卡組件.
路很漫長...
順便貼一下也是工事中的官方角色產生器的圖. 可以看見他們是採用傳統一步步產生角色的介面.
(http://wizards.com/uploadedImages/DnD/Insider/builder2.jpg)
(http://wizards.com/uploadedImages/DnD/Insider/builder3.jpg)
-
羊姐姐最贤惠了 :wub:
-
事实上,有3重攻击……呃,我是说,有含有第三次效果的攻击
-
我知道。現在在弄攻擊子系統,完成後它要十八重攻擊都可以吐... 紙會變成甚麼樣子我可不管 >.<
EDIT: 突然發現, DDI 的產生器也是單向的, 有去無回頭... 我最討厭的設計.
-
那个……已经出来了咩?
-
不. 不過在圖裡我只看見往前走的鍵, 看不見回頭的鍵. 頂排的鍵可能允許你回頭. 它最好能給你回...
上排的字似乎是:
Race Class Abilities Skills Feats Powers Retraining Equipment Ritual \ Level Up / Configuration
-
有时候只有回头也是一件很令人郁闷的事情……
最好能每个部分单独改动(出现不兼容的话再提示)……而不是回到某一步,后面全部都要重做
-
奧运前一個小時完成了基礎攻擊系統. 上個月因為 Mass Effect 所以進度比預期的慢了很多 :em003
不過多花時間是值得的. 現在整合了各子系統, 比較方便擴充和維護.
產生器已經能自動計算各種傷害和重擊. 高重擊武器, 雙手持武, 小體型等未實作, 但其他的修正都在了, 這些也應該很簡單.
把專長和特性砌進卡, 就可以開始重填其他職業的威能. 呼. 第一次覺得也許真的能比官方產生器早出場...
EDIT: 高重擊武器, 彈性武器和小體型都弄好了, 還有一些小修正
-
唔……姐姐最大能!
我得说看了奥运开幕以后才发觉果然还是期待姐姐的4e char gen比较有前途……
-
完成了包括哥布林, 機關人, 半元素等在內的所有種族.
-
为什麼我看到"玩具"二字會忽然流冷汗 :em003
讚許羊jj :em025
-
完成了牧師/戰士/聖騎/流氓/劍法 的一二級威能.
調查了一下. Pathguy 已經完成了他那個刺激我自己寫一個的角色產生器的新版. (http://www.pathguy.com/cg4.htm)
其餘已完成的產生器主要都是試算表, 部份的輸出很精美, 包括先攻卡和數值簡表, 不過前提是你必需手工輸入數字...
官方產生器也已經有報告了, 像我猜的要一直 Next Next Next.
和我的玩具一樣, 官方的數值計算全自動化, 整體進度也比預期的好, 不過距離完成還是有一段距離.
例如說, 魔法裝備的加值未做好, 角色紙的威能數量限制也是一個大問題... 不過能進行公眾示範已經算不錯.
-
今日测试,发现一个小问题:武器擅长专长并不能关联到下面的武器选择,貌似专长的显示也有点问题。
-
我許久沒被這樣雷過了.
今天收到一封電郵, 是一個盲的玩家寄來的, 說很好用, 因為他的突字機能讀. :blink:
呀. :wub:
(進展方面, 其實可以生產十級角色了, 不過暫時未有魔法物品, 會優先加入魔法裝備加值.
另外, 問題用 email 給我會修得比較快. 最好用英文. :P )
-
难道姐姐用的是eng的BB然后不能读中文么……应该不是吧……
突字机……太强大了……其实我以前一直不知道盲人是怎么用电脑的orz
-
英文的 BB?
其實純粹是為了不會 lost in translation... 我的 D&D 規則和編程都是在英文語域裡進行的...
-
= =
BB就是BlackBerry……