Commit 1e8d4320 authored by fallenstardust's avatar fallenstardust

revert const get link marker

parent b28d4e2d
......@@ -1276,15 +1276,15 @@ uint32 card::get_rscale() {
temp.rscale = UINT32_MAX;
return rscale;
}
uint32 card::get_link_marker() const {
uint32 card::get_link_marker() {
if(!(data.type & TYPE_LINK))
return 0;
return data.link_marker;
}
uint32 card::is_link_marker(uint32 dir) const {
uint32 card::is_link_marker(uint32 dir) {
return get_link_marker() & dir;
}
uint32 card::get_linked_zone() const {
uint32 card::get_linked_zone() {
if(!(data.type & TYPE_LINK) || current.location != LOCATION_MZONE || is_treated_as_not_on_field())
return 0;
uint32 zones = 0;
......@@ -1340,7 +1340,7 @@ void card::get_linked_cards(card_set* cset) {
pduel->game_field->get_cards_in_zone(cset, linked_zone, p, LOCATION_MZONE);
pduel->game_field->get_cards_in_zone(cset, linked_zone >> 16, 1 - p, LOCATION_MZONE);
}
uint32 card::get_mutual_linked_zone() const {
uint32 card::get_mutual_linked_zone() {
if(!(data.type & TYPE_LINK) || current.location != LOCATION_MZONE || is_treated_as_not_on_field())
return 0;
uint32 zones = 0;
......
......@@ -262,11 +262,11 @@ public:
uint32 get_grave_race(uint8 playerid);
uint32 get_lscale();
uint32 get_rscale();
uint32 get_link_marker() const;
uint32 is_link_marker(uint32 dir) const;
uint32 get_linked_zone() const;
uint32 get_link_marker();
uint32 is_link_marker(uint32 dir);
uint32 get_linked_zone();
void get_linked_cards(card_set* cset);
uint32 get_mutual_linked_zone() const;
uint32 get_mutual_linked_zone();
void get_mutual_linked_cards(card_set * cset);
int32 is_link_state();
int32 is_extra_link_state();
......
......@@ -4772,23 +4772,19 @@ int32 scriptlib::duel_majestic_copy(lua_State *L) {
check_param(L, PARAM_TYPE_CARD, 1);
check_param(L, PARAM_TYPE_CARD, 2);
card* pcard = *(card**) lua_touserdata(L, 1);
card* ccard = *(card**) lua_touserdata(L, 2);
for(auto eit = ccard->single_effect.begin(); eit != ccard->field_effect.end(); ++eit) {
if(eit == ccard->single_effect.end()) {
eit = ccard->field_effect.begin();
if(eit == ccard->field_effect.end())
break;
}
effect* peffect = eit->second;
if (!(peffect->type & 0x7c))
card* copy_target = *(card**) lua_touserdata(L, 2);
for(auto& peffect: copy_target->initial_effect) {
if (!(peffect->type & (EFFECT_TYPES_CHAIN_LINK & ~EFFECT_TYPE_ACTIVATE)))
continue;
if (peffect->type & EFFECT_TYPE_XMATERIAL)
continue;
if (!peffect->is_flag(EFFECT_FLAG_INITIAL))
if (!peffect->is_monster_effect())
continue;
effect* ceffect = peffect->clone();
ceffect->owner = pcard;
ceffect->flag[0] &= ~EFFECT_FLAG_INITIAL;
ceffect->effect_owner = PLAYER_NONE;
ceffect->reset_flag = RESET_EVENT + 0x1fe0000 + RESET_PHASE + PHASE_END + RESET_SELF_TURN + RESET_OPPO_TURN;
ceffect->reset_flag = RESET_EVENT | RESETS_STANDARD | RESET_PHASE | PHASE_END | RESET_SELF_TURN | RESET_OPPO_TURN;
ceffect->reset_count = 1;
ceffect->recharge();
if(ceffect->type & EFFECT_TYPE_TRIGGER_F) {
......
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