Re: [ WE ] 吸收傷害的護盾

看板WarCraftChat作者 (iphone 3gs get!)時間15年前 (2010/02/21 13:56), 編輯推噓4(734)
留言14則, 6人參與, 最新討論串2/3 (看更多)
※ 引述《mist719 (白色蘋果)》之銘言: : 技能:傷害吸收 : 描述:創造一個能吸收300傷害的護盾保護自身 : 我的作法是 : 受到傷害X > 護盾值減少 > 受到傷害單位恢復X生命 : 但缺點是受到比現有生命值大的傷害時會被秒殺 : 護盾無法作用 想請教有什麼其他方法來實現 : 另外 我嘗試用隱藏施法單位對使用護盾者施展靈魂連結來作 : 但傷害並沒有分擔 怪怪的@@ 這是猛將傳中, 最近新增的華陀天生技程式片段 function DieOrLive_live takes nothing returns nothing local string s1 = H2T(GetTriggeringTrigger()) local unit target = GetTriggerUnit() local real dmg = GetEventDamage() local real life = GetUnitStateSwap(UNIT_STATE_LIFE, target) local real dmgcount if dmg>life then //計算可抵消傷害, 累積 dmg-life-1, 剩1, 100-50-1=49 set dmgcount = dmg-(life+1) call SetReal(s1, "dmg", GetReal(s1, "dmg")+dmgcount) call SetHandle(s1, "lastsource", GetEventDamageSource()) call SetUnitLifeBJ( target, dmg+1) endif endfunction 要改成你需要的東西也很簡單, 基本概念如下 function HP_Shield takes nothing returns nothing //H2T->handle to string local string s1 = H2T(GetTriggeringTrigger()) local unit target = GetTriggerUnit() local real dmg = GetEventDamage() local real life = GetUnitStateSwap(UNIT_STATE_LIFE, target) //GetReal->store real into hash local real dmgcount = GetReal(s1, "dmg") //若還可以全檔 if dmgcount - dmg >= 0 then call SetUnitLifeBJ( target, life+dmg) call SetReal(s1, "dmg", dmgcount-dmg) else //已用光額度 call SetUnitLifeBJ( target, life+dmgcount) //清空hash //清掉觸發 endif endfunction 當然,在你使用技能放護盾後,需要創一個特定單位的傷害觸發 -- 三國猛將傳 m群 group261611@msnzone.cn (使用msn加入好友即可) 官方討論區 http://tw.garena.com/3go 地圖發布區 http://tw.garena.com/forum/thread.php?fid=1769 facebook http://0rz.tw/AG7zA -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.47.79.76 ※ 編輯: gyd 來自: 114.47.79.76 (02/21 13:58)

02/21 15:46, , 1F
如果要考慮生命上限的問題, 就多一步給生命上限再拔掉
02/21 15:46, 1F

02/21 16:37, , 2F
SetUnitLifeBJ可以給單位超過上限的hp?
02/21 16:37, 2F

02/21 17:48, , 3F
怎麼程式語言都都長得好像 囧 真所謂一法通萬法通
02/21 17:48, 3F

02/21 18:13, , 4F
意思是變更現有生命值去承受傷害這樣?
02/21 18:13, 4F

02/21 18:48, , 5F
就是打前補..可是這好像擋不住超過生命最大值的傷害
02/21 18:48, 5F

02/21 21:53, , 6F
LoA現在大決好像怎樣都不會死耶
02/21 21:53, 6F

02/21 22:16, , 7F
最近都沒ran到 但是沒改過吧? 薄葬跟loa大絕一樣被axe婊
02/21 22:16, 7F

02/21 22:18, , 8F
所以要考慮超過生命最大值的傷害, 就是要多一步給生命上限
02/21 22:18, 8F

02/21 22:18, , 9F
然後拔掉
02/21 22:18, 9F

02/22 00:03, , 10F
除了axe之外,其他就算傷害超過血量也一樣會回血耶
02/22 00:03, 10F

02/22 00:17, , 11F
那是因為要超過"最大"血量 不是超過目前hp
02/22 00:17, 11F

11/04 00:53, , 12F
11/04 00:53, 12F

11/04 00:53, , 13F
11/04 00:53, 13F

11/04 00:53, , 14F
11/04 00:53, 14F
文章代碼(AID): #1BWChqTs (WarCraftChat)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 2 之 3 篇):
文章代碼(AID): #1BWChqTs (WarCraftChat)