Commit e9376985 authored by nanahira's avatar nanahira

fix rose xuz

parent f8389194
......@@ -1009,8 +1009,9 @@ uint32 card::check_xyz_level(card* pcard, uint32 lv) {
return 0;
//modded - rose xyz summon
card* rcard = pduel->game_field->rose_card;
if(rcard && rcard == this)
return lv;
uint32 rlv = pduel->game_field->rose_level;
if(rcard == this && rlv == lv)
return rlv;
uint32 lev;
effect_set eset;
filter_effect(EFFECT_XYZ_LEVEL, &eset);
......
......@@ -20,6 +20,7 @@ duel::duel() {
game_field->temp_card = new_card(0);
//modded - for rose xyz summon
game_field->rose_card = 0;
game_field->rose_level = 0;
clear_buffer();
}
duel::~duel() {
......@@ -47,6 +48,7 @@ void duel::clear() {
game_field->temp_card = new_card(0);
//modded - for rose xyz summon
game_field->rose_card = 0;
game_field->rose_level = 0;
}
card* duel::new_card(uint32 code) {
card* pcard = new card(this);
......
......@@ -343,6 +343,7 @@ public:
tevent nil_event;
//modded - for rose xyz summon
card* rose_card;
uint32 rose_level;
static int32 field_used_count[32];
explicit field(duel* pduel);
......
......@@ -117,8 +117,10 @@ int32 scriptlib::card_is_xyz_summonable_by_rose(lua_State *L) {
pcard->pduel->game_field->core.limit_xyz_minc = 2;
pcard->pduel->game_field->core.limit_xyz_maxc = 2;
pcard->pduel->game_field->rose_card = rcard;
pcard->pduel->game_field->rose_level = mcard->get_level();
int32 result = pcard->is_special_summonable(p, SUMMON_TYPE_XYZ);
pcard->pduel->game_field->rose_card = 0;
pcard->pduel->game_field->rose_level = 0;
lua_pushboolean(L, result);
return 1;
}
......
......@@ -188,7 +188,8 @@ int32 scriptlib::duel_xyz_summon_by_rose(lua_State *L) {
pduel->game_field->core.limit_xyz_minc = 0;
pduel->game_field->core.limit_xyz_maxc = 0;
pduel->game_field->core.summon_cancelable = FALSE;
pcard->pduel->game_field->rose_card = rcard;
pduel->game_field->rose_card = rcard;
pduel->game_field->rose_level = mcard->get_level();
pduel->game_field->special_summon_rule(playerid, pcard, SUMMON_TYPE_XYZ);
return lua_yield(L, 0);
}
......
......@@ -2574,6 +2574,7 @@ int32 field::special_summon_rule(uint16 step, uint8 sumplayer, card* target, uin
matreason = REASON_XYZ;
//modded - rose xyz summon
pduel->game_field->rose_card = 0;
pduel->game_field->rose_level = 0;
}
else if(proc->value == SUMMON_TYPE_LINK)
matreason = REASON_LINK;
......
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