Commit dfb7ba85 authored by salix5's avatar salix5

EFFECT_DISABLE_CHAIN_FIELD

parent 0dcc6ccc
......@@ -381,6 +381,7 @@ public:
#define EFFECT_ADD_SETCODE 334
#define EFFECT_NO_EFFECT_DAMAGE 335
#define EFFECT_UNSUMMONABLE_CARD 336
#define EFFECT_DISABLE_CHAIN_FIELD 337
#define EVENT_STARTUP 1000
#define EVENT_FLIP 1001
......
......@@ -1256,6 +1256,7 @@ int32 scriptlib::duel_negate_effect(lua_State *L) {
lua_pushboolean(L, pduel->game_field->disable_chain(c));
return 1;
}
// negate the effects activated on field
int32 scriptlib::duel_negate_related_chain(lua_State *L) {
check_param_count(L, 2);
check_param(L, PARAM_TYPE_CARD, 1);
......@@ -1269,7 +1270,7 @@ int32 scriptlib::duel_negate_related_chain(lua_State *L) {
effect* negeff = pduel->new_effect();
negeff->owner = pduel->game_field->core.reason_effect->handler;
negeff->type = EFFECT_TYPE_SINGLE;
negeff->code = EFFECT_DISABLE_CHAIN;
negeff->code = EFFECT_DISABLE_CHAIN_FIELD;
negeff->reset_flag = RESET_CHAIN | RESET_EVENT | reset_flag;
pcard->add_effect(negeff);
return 0;
......
......@@ -4564,7 +4564,8 @@ int32 field::solve_chain(uint16 step, uint32 chainend_arg1, uint32 chainend_arg2
card* pcard = cait->triggering_effect->handler;
if(is_chain_disablable(cait->chain_count)) {
if((cait->flag & CHAIN_DISABLE_EFFECT) || pcard->is_affected_by_effect(EFFECT_DISABLE_CHAIN)
|| (pcard->is_status(STATUS_DISABLED) && pcard->is_has_relation(cait->triggering_effect))) {
|| ((cait->triggering_location & LOCATION_ONFIELD) && pcard->is_affected_by_effect(EFFECT_DISABLE_CHAIN_FIELD))
|| (pcard->is_status(STATUS_DISABLED) && pcard->is_has_relation(cait->triggering_effect))) {
if(!(cait->flag & CHAIN_DISABLE_EFFECT)) {
pduel->write_buffer8(MSG_CHAIN_DISABLED);
pduel->write_buffer8(cait->chain_count);
......
......@@ -281,7 +281,7 @@ EFFECT_CANNOT_CHANGE_CONTROL =5 --不能改变控制权
EFFECT_CANNOT_ACTIVATE =6 --玩家不能发动效果
EFFECT_CANNOT_TRIGGER =7 --不能发动效果
EFFECT_DISABLE_EFFECT =8 --效果无效 (聖杯)
EFFECT_DISABLE_CHAIN =9 --不能连锁
EFFECT_DISABLE_CHAIN =9 --在連鎖串中無效(processor.cpp)
EFFECT_DISABLE_TRAPMONSTER =10 --陷阱怪兽无效
EFFECT_CANNOT_INACTIVATE =12 --不能发动
EFFECT_CANNOT_DISEFFECT =13 --效果不能被无效(魔法·陷阱)
......@@ -480,6 +480,7 @@ EFFECT_CANNOT_SELECT_EFFECT_TARGET =333 --對手不能選擇為效果對象
EFFECT_ADD_SETCODE =334 --规则上视为「XX」字段
EFFECT_NO_EFFECT_DAMAGE =335 --玩家已受到"效果傷害變成0"的效果影響
EFFECT_UNSUMMONABLE_CARD =336 --不能通常召唤的怪獸
EFFECT_DISABLE_CHAIN_FIELD =337 --連鎖串中場上發動的效果無效(Duel.NegateRelatedChain())
--下面是诱发效果的诱发事件、时点 (如果是TYPE_SINGLE则自己发生以下事件后触发,如果TYPE_FIELD则场上任何卡发生以下事件都触发)
EVENT_STARTUP =1000 --游戏开始时
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment