Commit e766642c authored by salix5's avatar salix5

edit

parent e87daca1
...@@ -465,8 +465,9 @@ int32 effect::is_chainable(uint8 tp) { ...@@ -465,8 +465,9 @@ int32 effect::is_chainable(uint8 tp) {
} }
return TRUE; return TRUE;
} }
//return: this can be reset or not //return: this can be reset by reset_level or not
//RESET_CODE can only reset single effect //RESET_CODE can only reset single effects without EFFECT_FLAG_SINGLE_RANGE
//RESET_DISABLE is valid only when owner == handler
int32 effect::reset(uint32 reset_level, uint32 reset_type) { int32 effect::reset(uint32 reset_level, uint32 reset_type) {
switch (reset_type) { switch (reset_type) {
case RESET_EVENT: { case RESET_EVENT: {
......
...@@ -3199,6 +3199,7 @@ int32 field::send_to(uint16 step, group * targets, effect * reason_effect, uint3 ...@@ -3199,6 +3199,7 @@ int32 field::send_to(uint16 step, group * targets, effect * reason_effect, uint3
} else if(dest == LOCATION_REMOVED) { } else if(dest == LOCATION_REMOVED) {
core.hint_timing[pcard->current.controler] |= TIMING_REMOVE; core.hint_timing[pcard->current.controler] |= TIMING_REMOVE;
} }
//move card
if(pcard->current.controler != playerid || pcard->current.location != dest) { if(pcard->current.controler != playerid || pcard->current.location != dest) {
pduel->write_buffer8(MSG_MOVE); pduel->write_buffer8(MSG_MOVE);
pduel->write_buffer32(pcard->data.code); pduel->write_buffer32(pcard->data.code);
......
...@@ -2777,7 +2777,8 @@ int32 field::process_idle_command(uint16 step) { ...@@ -2777,7 +2777,8 @@ int32 field::process_idle_command(uint16 step) {
add_process(PROCESSOR_SELECT_POSITION, 0, 0, 0, infos.turn_player + (positions << 16), target->data.code); add_process(PROCESSOR_SELECT_POSITION, 0, 0, 0, infos.turn_player + (positions << 16), target->data.code);
core.units.begin()->step = 12; core.units.begin()->step = 12;
return FALSE; return FALSE;
} else add_process(PROCESSOR_FLIP_SUMMON, 0, 0, (group*)target, target->current.controler, 0); } else
add_process(PROCESSOR_FLIP_SUMMON, 0, 0, (group*)target, target->current.controler, 0);
target->set_status(STATUS_FORM_CHANGED, TRUE); target->set_status(STATUS_FORM_CHANGED, TRUE);
core.units.begin()->step = -1; core.units.begin()->step = -1;
return FALSE; return FALSE;
...@@ -5242,7 +5243,7 @@ int32 field::adjust_step(uint16 step) { ...@@ -5242,7 +5243,7 @@ int32 field::adjust_step(uint16 step) {
return FALSE; return FALSE;
} }
case 5: { case 5: {
//1-4 control //1-5 control
card* pcard; card* pcard;
uint8 cur, ref; uint8 cur, ref;
core.control_adjust_set[0].clear(); core.control_adjust_set[0].clear();
......
...@@ -148,8 +148,8 @@ STATUS_UNION =0x100000 --同盟 ...@@ -148,8 +148,8 @@ STATUS_UNION =0x100000 --同盟
STATUS_ATTACK_CANCELED =0x200000 --攻击取消(卷回?) STATUS_ATTACK_CANCELED =0x200000 --攻击取消(卷回?)
STATUS_INITIALIZING =0x400000 --初始化.. STATUS_INITIALIZING =0x400000 --初始化..
STATUS_ACTIVATED =0x800000 --效果已发动 STATUS_ACTIVATED =0x800000 --效果已发动
STATUS_JUST_POS =0x1000000 -- STATUS_JUST_POS =0x1000000 --已改變表示形式(用於STATUS_CONTINUOUS_POS判定)
STATUS_CONTINUOUS_POS =0x2000000 --连续变更表示形式? STATUS_CONTINUOUS_POS =0x2000000 --改變後再次設定成其他表示形式
STATUS_IS_PUBLIC =0x4000000 --公开展示 STATUS_IS_PUBLIC =0x4000000 --公开展示
STATUS_ACT_FROM_HAND =0x8000000 --從手牌发动 STATUS_ACT_FROM_HAND =0x8000000 --從手牌发动
STATUS_OPPO_BATTLE =0x10000000 --和對手的怪兽戰鬥 STATUS_OPPO_BATTLE =0x10000000 --和對手的怪兽戰鬥
...@@ -193,7 +193,7 @@ CHAININFO_DISABLE_PLAYER =0x400 --无效的玩家 ...@@ -193,7 +193,7 @@ CHAININFO_DISABLE_PLAYER =0x400 --无效的玩家
CHAININFO_CHAIN_ID =0x800 --连锁ID CHAININFO_CHAIN_ID =0x800 --连锁ID
CHAININFO_TYPE =0x1000 --连锁类型 CHAININFO_TYPE =0x1000 --连锁类型
CHAININFO_EXTTYPE =0x2000 --连锁额外类型 CHAININFO_EXTTYPE =0x2000 --连锁额外类型
--========== Reset ========== --重置条件(注意:重置条件可以多个相加,例如0x000c0000=0x00040000+0x00080000=RESET_TOGRAVE+RESET_REMOVE --========== Reset ========== --重置条件(注意:重置条件可以多个相加)
RESET_DRAW =PHASE_DRAW --抽卡阶段重置 RESET_DRAW =PHASE_DRAW --抽卡阶段重置
RESET_STANDBY =PHASE_STANDBY --准备阶段重置 RESET_STANDBY =PHASE_STANDBY --准备阶段重置
RESET_MAIN1 =PHASE_MAIN1 --主要阶段1重置 RESET_MAIN1 =PHASE_MAIN1 --主要阶段1重置
...@@ -208,16 +208,16 @@ RESET_PHASE =0x0400 --阶段结束重置(一般和上面那些阶段配合 ...@@ -208,16 +208,16 @@ RESET_PHASE =0x0400 --阶段结束重置(一般和上面那些阶段配合
RESET_CHAIN =0x0800 --连锁结束重置 RESET_CHAIN =0x0800 --连锁结束重置
RESET_EVENT =0x1000 --指定的條件下重置(一般和下面这些事件配合使用) RESET_EVENT =0x1000 --指定的條件下重置(一般和下面这些事件配合使用)
RESET_CARD =0x2000 --重置Owner為指定卡片的效果 RESET_CARD =0x2000 --重置Owner為指定卡片的效果
RESET_CODE =0x4000 --重置指定Code的效果 RESET_CODE =0x4000 --重置指定Code的single效果(不含EFFECT_FLAG_SINGLE_RANGE)
RESET_COPY =0x8000 --重置以复制取得的效果 RESET_COPY =0x8000 --重置以复制取得的效果
RESET_DISABLE =0x00010000 --效果无效重置 RESET_DISABLE =0x00010000 --效果无效重置(只適用於owner==handler的效果)
RESET_TURN_SET =0x00020000 --变里侧重置 RESET_TURN_SET =0x00020000 --变里侧重置
RESET_TOGRAVE =0x00040000 --去墓地重置 RESET_TOGRAVE =0x00040000 --去墓地重置(以下皆為事件觸發前重置)
RESET_REMOVE =0x00080000 --除外重置 RESET_REMOVE =0x00080000 --除外重置
RESET_TEMP_REMOVE =0x00100000 --暂时除外重置 RESET_TEMP_REMOVE =0x00100000 --暂时除外重置
RESET_TOHAND =0x00200000 --回手牌或加入手牌重置 RESET_TOHAND =0x00200000 --回手牌或加入手牌重置
RESET_TODECK =0x00400000 --回卡组重置 RESET_TODECK =0x00400000 --回卡组重置
RESET_LEAVE =0x00800000 --从场上离开重置 RESET_LEAVE =0x00800000 --从场上移到其他位置/超量叠放重置
RESET_TOFIELD =0x01000000 --到场上重置 RESET_TOFIELD =0x01000000 --到场上重置
RESET_CONTROL =0x02000000 --控制者变更重置 RESET_CONTROL =0x02000000 --控制者变更重置
RESET_OVERLAY =0x04000000 --超量叠放重置 RESET_OVERLAY =0x04000000 --超量叠放重置
...@@ -234,7 +234,7 @@ EFFECT_TYPE_TRIGGER_O =0x0080 --诱发选发效果 ...@@ -234,7 +234,7 @@ EFFECT_TYPE_TRIGGER_O =0x0080 --诱发选发效果
EFFECT_TYPE_QUICK_O =0x0100 --诱发即时效果 EFFECT_TYPE_QUICK_O =0x0100 --诱发即时效果
EFFECT_TYPE_TRIGGER_F =0x0200 --诱发必发效果 EFFECT_TYPE_TRIGGER_F =0x0200 --诱发必发效果
EFFECT_TYPE_QUICK_F =0x0400 --诱发即时必发效果(熊猫龙等) EFFECT_TYPE_QUICK_F =0x0400 --诱发即时必发效果(熊猫龙等)
EFFECT_TYPE_CONTINUOUS =0x0800 --不入连锁的必发效果 EFFECT_TYPE_CONTINUOUS =0x0800 --由事件觸發的輔助用效果/永續效果
--========== Flags ========== --效果的特殊性质 --========== Flags ========== --效果的特殊性质
EFFECT_FLAG_INITIAL =0x0001 --可以发动的 EFFECT_FLAG_INITIAL =0x0001 --可以发动的
EFFECT_FLAG_FUNC_VALUE =0x0002 --此效果的Value属性是函数 EFFECT_FLAG_FUNC_VALUE =0x0002 --此效果的Value属性是函数
...@@ -386,7 +386,7 @@ EFFECT_UPDATE_LSCALE =134 --改变左刻度 ...@@ -386,7 +386,7 @@ EFFECT_UPDATE_LSCALE =134 --改变左刻度
EFFECT_CHANGE_LSCALE =135 --设置左刻度 EFFECT_CHANGE_LSCALE =135 --设置左刻度
EFFECT_UPDATE_RSCALE =136 --改变右刻度 EFFECT_UPDATE_RSCALE =136 --改变右刻度
EFFECT_CHANGE_RSCALE =137 --设置右刻度 EFFECT_CHANGE_RSCALE =137 --设置右刻度
EFFECT_SET_POSITION =140 --改变表示形式 EFFECT_SET_POSITION =140 --設定表示形式
EFFECT_SELF_DESTROY =141 --不入連鎖的破壞(罪系列等) EFFECT_SELF_DESTROY =141 --不入連鎖的破壞(罪系列等)
EFFECT_SELF_TOGRAVE =142 --不入連鎖的送墓 EFFECT_SELF_TOGRAVE =142 --不入連鎖的送墓
EFFECT_DOUBLE_TRIBUTE =150 --可以作为2个祭品 EFFECT_DOUBLE_TRIBUTE =150 --可以作为2个祭品
......
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