被動:
四種操作:新增、消失、生效、失活
注意生效和觸發的區別
關鍵字: 觸發後判斷條件list(可以是生效條件或失活條件)、條件list滿足後(即生效或失活)執行具體邏輯、triggerobj(哪位遊戲物件觸發的)、targetobj(目標物件)、passiveobj(被動邏輯在誰身上)、cfgeffectobj(觸發生效後物件,走配置,可以是上面三個中的乙個)
先舉例:
1.ninja生命值低於a%時,ninja攻擊力提公升a% ,ninja生命值高於%b後效果消失。
passiveobj=ninja。cfgeffectobj 配置的為passiveobj
(1)觸發:ninja受傷掉血。(triggerobj = enemy,targetobj=ninja,)
條件:ninja生命值低於%a
生效後行為:ninja攻擊力提公升(實際上專案加buff)。
(2)觸發消失:ninja回血
條件:cfgeffectobj生命值高於b%
生效後行為:失活,效果移除(實際上removebuff上面(1)的buff)
ninja主**雷盾傷害敵人, ninja釋放閃電鏈
passiveobj=ninja。cfgeffectobj 配置的為passiveobj
觸發:技能傷害enemy(triggerobj = ninja, targetobj=enemy)
條件:1.傷害技**為主** 2.skillid為雷盾
生效後行為:cfgeffectobj釋放閃電技(釋放技能邏輯)
受到boss傷害時有60%的概率被繳械,持續12秒效果。
具體需求是:ninja受到boss傷害後ninja有60%概率被繳械。passiveobj=boss, cfgeffectobj 配置的為targetobj
觸發:ninja受傷觸發(triggerobj = enemy, targetobj=ninja)
條件:觸發物件等於被動物件 triggerobj == passiveobj
結果:cfgeffectobj(ninja)新增繳械buff
抽象:
1.被動新增:繫結被動邏輯在gameoobj上,並沒有具體執行,簡單理解為事件的監聽等待。
2.三個物件定義:triggerobj(哪位遊戲物件觸發的)、targetobj(目標物件)、passiveobj(被動邏輯在誰身上)
3.被動生效後物件:cfgeffectobj,走配置決定是1中哪個obj
4.被動觸發(event派發)
5.條件list是否通過
6.通過5後,對cfgeffectobj進行操作。
7.cfgeffectobj操作差異化的實現。通過繼承passivebaselogic基類,進行具體操作。像addbuff以及釋放activeskill比較常用的,直接在baselogic內進行操作(不需要子類了)。
8.被動的重置(失活)。被動觸發後判斷是否移除生效的效果
9.被動的消失。從遊戲物件上移除。消失前先呼叫8.失活移除具體效果。
具體實現:
1.ninjapassiveskillmanager內 target+passivelist
2.被動生效差異化的實現:passivebaselogic的繼承
3.condition目前是直接swith 判斷,也許用conditionbaselogic會更好吧(帶監聽)。放在passivebaselogic內部變數
4.被動觸發後,cd的概念,cd內不再check是否生效。
5.注意被動消失觸發的概念。
6.多個conditionlist進行 與 or 或操作。
7.生效前還有個觸發概率的概念
8.目前被動消失型別:通過時間倒計時,或者永久性的。
使用被動還是buff的選擇:
被動更傾向於event、conditionlist、action、多個gameobj離散的組合
buff更傾向於一段時間段內乙個gameobj執行action。不過我們的buff也有個直觀的triggertype可以進行單項ontriger的action
如果是和其它邏輯耦合少、時間段的操作、條件比較少、單一trigger 更傾向於buff實現
如果是和外界邏輯耦合多、event觸發、條件比較多可組合實現 傾向於寫被動實現。
當然被動也可以觸發buff,被動也可以執行時間段內的操作,專案內的triggerself基本等價於時間段的操作了。buff也可以add被動。
使用被動模式FTP的幾點總結
1 如果ftp伺服器處於路由器,防火牆或其他nat裝置之後,建議使用被動模式 passive mode 因為在主動模式下傳輸資料時,由ftp發起的資料傳輸一般會被客戶端閘道器的防火牆阻斷。2 被動模式預設使用21號埠傳輸命令,採用隨機埠傳輸資料。如果ftp伺服器在防火牆之後,一定要在ftp伺服器上指...
被動資訊收集
與目標系統不產 直接互動 server 可以更改解析使用的伺服器可以更為改為8.8.8.8 或者直接使用命令nslookup q any name server dnsdict6 d4 t 16 x sina.com d4 解析出ipv4 ipv6都顯示 t 指定執行緒數 d 指定使用的爆破字典 x...
相關分析總結
在資料分析的過程中,我們常常需要分析兩個或兩個以上現象之間的因果關係,一般來說,常考慮下面的幾種分析方法 相關分析 不需要區分自變數和因變數,兩個或者多個變數之間是平等的關係。通過相關分析可以了解變數之間的密切程度。如 教育事業的發展與科學技術的發展存在著一定的關係,學生的數學成績與物理成績存在著一...