觸發(fā)原理概論——4.2一個(gè)觸發(fā)中多個(gè)觸發(fā)條件的判定
我們來(lái)探究一個(gè)問(wèn)題:當(dāng)一個(gè)觸發(fā)中存在多個(gè)條件時(shí),觸發(fā)結(jié)果的觸發(fā)與各條件以及觸發(fā)類型的關(guān)系。測(cè)試結(jié)果如下:
?
當(dāng)觸發(fā)類型選擇0(任意關(guān)聯(lián)物體,單次觸發(fā))時(shí)(觸發(fā)結(jié)果均為刷一枚核彈):
對(duì)于單條件延時(shí)0秒,刷出的核彈在15秒后爆炸。
對(duì)于三個(gè)條件均為延時(shí)0秒,刷出的核彈在15秒后爆炸。
對(duì)于三個(gè)條件分別為延時(shí)0,10,20秒,刷出的核彈在15秒后爆炸。
對(duì)于三個(gè)條件分別為延時(shí)10,20,30秒,刷出的核彈在25秒后爆炸。
對(duì)于三個(gè)條件分別為延時(shí)30,20,10秒,刷出的核彈在45秒后爆炸。
對(duì)于三個(gè)條件分別為延時(shí)20,10,0秒,刷出的核彈在35秒后爆炸。
對(duì)于三個(gè)條件分別為延時(shí)20,10秒和科技類型AHMV(悍馬車(chē))不存在,刷出的核彈在AHMV不存在后15秒且游戲時(shí)間至少經(jīng)過(guò)35秒爆炸。
對(duì)于三個(gè)條件分別為延時(shí)20秒,科技類型AHMV和ETNK(斗牛犬輕型坦克)不存在,刷出的核彈在AHMV和ETNK均不存在(兩條件缺一不可)后15秒且游戲時(shí)間至少經(jīng)過(guò)35秒爆炸。
對(duì)于三個(gè)條件分別為延時(shí)20秒,金錢(qián)超過(guò)500和600,刷出的核彈在金錢(qián)超過(guò)600且游戲時(shí)間至少經(jīng)過(guò)35秒爆炸。
?
得出結(jié)論:對(duì)于通常使用的各種條件來(lái)說(shuō),在單觸發(fā)多條件的情況下,只有當(dāng)每個(gè)條件均被滿足后觸發(fā)結(jié)果才會(huì)被觸發(fā)。另外,目前出現(xiàn)了一個(gè)例外情況,對(duì)13號(hào)條件延時(shí)X秒,在同一個(gè)觸發(fā)中使用多次時(shí),只有條件序號(hào)最靠前的一個(gè)條件能夠生效,余下所有13號(hào)條件均無(wú)效,不排除有更多例外條件的可能性。
?
當(dāng)觸發(fā)類型選擇1(全部關(guān)聯(lián)物體,單次觸發(fā)),重新進(jìn)行上述測(cè)試,結(jié)果則完全不同:所有測(cè)試條件均無(wú)法觸發(fā)測(cè)試結(jié)果。經(jīng)過(guò)排查,只有當(dāng)?shù)貓D上存在單位或建筑帶有該觸發(fā)的標(biāo)記(使用作戰(zhàn)小隊(duì)掛上該標(biāo)記及刷出該小隊(duì)均無(wú)效)時(shí),該觸發(fā)的結(jié)果才能被正常觸發(fā)。在地圖上增加一個(gè)與觸發(fā)無(wú)關(guān)且掛了該標(biāo)記的單位后,之前的數(shù)組測(cè)試結(jié)果與觸發(fā)類型選擇0時(shí)的結(jié)果完全相同,即在排除上述bug后,觸發(fā)類型不影響觸發(fā)條件的判定。
?
當(dāng)觸發(fā)類型選擇2或3(重復(fù)觸發(fā))時(shí),經(jīng)過(guò)測(cè)試,該觸發(fā)每輪觸發(fā)時(shí)也均需要同時(shí)滿足所有條件。當(dāng)所有條件同時(shí)滿足后,該觸發(fā)觸發(fā)一次,然后繼續(xù)對(duì)所有條件的判定以準(zhǔn)備觸發(fā)第二次。但有些條件可能會(huì)影響觸發(fā)的重復(fù)觸發(fā)。
?
關(guān)于有些條件在同一個(gè)觸發(fā)中使用同號(hào)條件多次而只有一次生效以及有些條件可能會(huì)影響觸發(fā)的重復(fù)觸發(fā)的問(wèn)題,預(yù)計(jì)將在第三章條件測(cè)試部分中逐個(gè)排查。