Commit 583de39e authored by fallenstardust's avatar fallenstardust

sync

parent 54ae2399
......@@ -1111,8 +1111,6 @@ void field::add_effect(effect* peffect, uint8 owner_player) {
} else {
if (peffect->type & EFFECT_TYPE_IGNITION)
it = effects.ignition_effect.emplace(peffect->code, peffect);
else if (peffect->type & EFFECT_TYPE_ACTIVATE)
it = effects.activate_effect.emplace(peffect->code, peffect);
else if (peffect->type & EFFECT_TYPE_TRIGGER_O && peffect->type & EFFECT_TYPE_FIELD)
it = effects.trigger_o_effect.emplace(peffect->code, peffect);
else if (peffect->type & EFFECT_TYPE_TRIGGER_F && peffect->type & EFFECT_TYPE_FIELD)
......@@ -1121,6 +1119,8 @@ void field::add_effect(effect* peffect, uint8 owner_player) {
it = effects.quick_o_effect.emplace(peffect->code, peffect);
else if (peffect->type & EFFECT_TYPE_QUICK_F)
it = effects.quick_f_effect.emplace(peffect->code, peffect);
else if (peffect->type & EFFECT_TYPE_ACTIVATE)
it = effects.activate_effect.emplace(peffect->code, peffect);
else if (peffect->type & EFFECT_TYPE_CONTINUOUS)
it = effects.continuous_effect.emplace(peffect->code, peffect);
}
......
......@@ -4185,6 +4185,22 @@ int32 field::move_to_field(uint16 step, card* target, uint32 enable, uint32 ret,
}
if(ct <= 0)
return TRUE;
bool zone_selected = false;
uint32 seq = 0;
for(uint32 i = 0; i < 8; i++) {
if(((1 << i) & zone) > 0) {
if(zone_selected) {
zone_selected = false;
break;
}
zone_selected = true;
seq = i;
}
}
if(zone_selected) {
returns.bvalue[2] = seq;
return FALSE;
}
if(move_player == playerid) {
if(location == LOCATION_SZONE)
flag = ((flag & 0xff) << 8) | 0xffff00ff;
......
......@@ -4687,9 +4687,6 @@ int32 field::solve_chain(uint16 step, uint32 chainend_arg1, uint32 chainend_arg2
}
case 1: {
effect* peffect = cait->triggering_effect;
int32 activate = (peffect->type & EFFECT_TYPE_ACTIVATE);
if(activate && (cait->flag & CHAIN_ACTIVATING))
peffect->type &= ~EFFECT_TYPE_ACTIVATE;
if(cait->flag & CHAIN_DISABLE_ACTIVATE && is_chain_negatable(cait->chain_count)) {
remove_oath_effect(peffect);
if(peffect->is_flag(EFFECT_FLAG_COUNT_LIMIT) && (peffect->count_code & EFFECT_COUNT_CODE_OATH)) {
......@@ -4707,7 +4704,7 @@ int32 field::solve_chain(uint16 step, uint32 chainend_arg1, uint32 chainend_arg2
break_effect();
core.chain_solving = TRUE;
card* pcard = peffect->get_handler();
if(activate && pcard->is_has_relation(*cait)) {
if((peffect->type & EFFECT_TYPE_ACTIVATE) && pcard->is_has_relation(*cait)) {
pcard->set_status(STATUS_ACTIVATED, TRUE);
pcard->enable_field_effect(true);
if(core.duel_rule <= 2) {
......@@ -4828,6 +4825,8 @@ int32 field::solve_chain(uint16 step, uint32 chainend_arg1, uint32 chainend_arg2
case 10: {
effect* peffect = cait->triggering_effect;
card* pcard = peffect->get_handler();
if((peffect->type & EFFECT_TYPE_ACTIVATE) && (cait->flag & CHAIN_ACTIVATING))
peffect->type &= ~EFFECT_TYPE_ACTIVATE;
if((cait->flag & CHAIN_HAND_EFFECT) && !pcard->is_position(POS_FACEUP) && (pcard->current.location == LOCATION_HAND))
shuffle(pcard->current.controler, LOCATION_HAND);
if(cait->target_cards && cait->target_cards->container.size()) {
......
......@@ -8,7 +8,7 @@ android {
applicationId "cn.garymb.ygomobile"
minSdkVersion 16
targetSdkVersion 22
versionCode 33020624
versionCode 33020625
versionName "3.3.2"
flavorDimensions "versionCode"
vectorDrawables.useSupportLibrary = true
......
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