[公告] 種族抗性也實裝了!

看板mud_sanc (Sanctuary - 聖殿)作者 (希多)時間14年前 (2011/08/02 19:47), 編輯推噓0(005)
留言5則, 2人參與, 最新討論串1/9 (看更多)
負的做起來有點麻煩..avert 之後視情況在補上負數的好了... /cmds/std/_wear.c檔: static mapping RACE_ANTI=(["stoneman" :({"earth/2","dam/1","wind/1"}), "elf" :({"wind/2","ice/1"}), "devil" :({"fire/2","dark/1"}), "dragonman" :({"thunder/2","poison/1","fire/1"}), "human" :({"light/2","wind/1"}) ]); if(type=="body") // 新增種族抗性 by Norr in 2011/08/02 { if( userp(user) && !ob->query("set_race_anti_ok") ) { anti_all = RACE_ANTI[user->query("race")]; foreach(anti_lv in anti_all) if(sscanf(anti_lv,"%s/%s",kind,lv)==2) ob->add("anti_kind/"+kind,atoi(lv) ); //額外增加上去種族的抗性。 ob->set("set_race_anti_ok",1); // 判斷是否已增加上去。 } user->set("armor_body",ob); } 話說,原程式好像本來就是設 user->set("armor_body",ob); 而不是set_temp。 然後由於是讀種族,避免mob又亂設種族讀不到的情況, 所以就設定只有玩家才有效。而mob則自行設置anti_kind參數即可。 用 set_race_anti_ok 函數去判斷是否加了, 這樣就不用在remove相關函數多做判斷了! ----------------------------------------------------- 然後由於特供大部分都已設1-3左右,所以降為 7 好了! 2~5用來設置特攻,6 & 7為大絕。 // 種族等級抗性 if(wand=(object)tar->query("armor_body")) if(anti_tmp=(int)wand->query("anti_kind/"+kind)) { if(c>7) c=7; // 威力級數 max = 7。 if( anti_tmp > (c+2) ) damage = damage / 100; } // 讀取身上總抗性 anti_tmp=(int)tar->query("anti_effect/"+kind); // 抗性與傷害的公式計算 if(anti_tmp) { if(c>7) c=7; // 威力級數 max = 7 。 anti_tmp = anti_tmp * anti_table[c-1] / 25; // 威力級數會影響抗性效果 if(anti_tmp>99) anti_tmp=99; // 鎖住最大抗性 damage=(1+damage/100)*(100-anti_tmp); } 為了減少負擔,去除掉anti_effect/all的判斷。 由於會設置all的真的少之又少, 如果真的要設置的話,請用anti_effect/fire,ice,wind...... 一個一個設置上去。 ---------------------------------- 再來就是在view body時,顯示anti_kind的抗性等級。 之後再補做上去.... 還有抗性總和要思考一下寫在哪顯示... 其實感覺自己view每件裝備然後記憶一下比較快... 好懶得改..runaway ---------------------------------- 補上測試情況: > wear plate 你裝備上 鎖子甲(Chain Plate)。 > da plate Object : 防具(鎖子甲 /d/ppl/ina/dinah/blood/eq/plate) anti_kind :([ "ice" : 1, "wind" : 2 ]) > rem plate 你脫下鎖子甲(Chain Plate)。 > wear plate 你裝備上 鎖子甲(Chain Plate)。 > da plate Object : 防具(鎖子甲 /d/ppl/ina/dinah/blood/eq/plate) anti_kind :([ "ice" : 1, "wind" : 2 ]) -- Norr@Sanc 風,吹散了一切煩惱,只留下平靜的思考。 雨,淋落了一切紛亂,只剩下無比的快樂。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.46.189 ※ 編輯: hlead 來自: 122.117.46.189 (08/02 19:49)

08/02 20:32, , 1F
有空我把 shut_tar 的 while(times--) {..} 內的東西
08/02 20:32, 1F

08/02 20:33, , 2F
做個縮減,你 shut_d.c改好了時就說一下,我預定明天改
08/02 20:33, 2F

08/02 20:33, , 3F
我把算把一些計算部份獨立成為一個函數,會比較好讀
08/02 20:33, 3F

08/02 20:41, , 4F
嗯。您可以先改。...應該沒要改了..
08/02 20:41, 4F

08/02 20:41, , 5F
如果有的話,等您改完我在修改就好了..
08/02 20:41, 5F
文章代碼(AID): #1ED-FaSL (mud_sanc)
文章代碼(AID): #1ED-FaSL (mud_sanc)