Commit 735ec9cc authored by mercury233's avatar mercury233
parents 8b5b9b77 5ec35ae0
...@@ -70,50 +70,47 @@ private: ...@@ -70,50 +70,47 @@ private:
}; };
struct effect_set_v { struct effect_set_v {
effect_set_v(): count(0) {} effect_set_v() {}
void add_item(effect* peffect) { void add_item(effect* peffect) {
container.push_back(peffect); container.push_back(peffect);
count++;
} }
void remove_item(int index) { void remove_item(int index) {
if(index >= count) if(index >= (int)container.size())
return; return;
container.erase(container.begin() + index); container.erase(container.begin() + index);
count--;
} }
void clear() { void clear() {
container.clear(); container.clear();
count = 0;
} }
int size() const { int size() const {
return count; return (int)container.size();
} }
void sort() { void sort() {
int count = (int)container.size();
if(count < 2) if(count < 2)
return; return;
std::sort(container.begin(), container.begin() + count, effect_sort_id); std::sort(container.begin(), container.begin() + count, effect_sort_id);
} }
effect* const& get_last() const { effect* const& get_last() const {
return container[count - 1]; return container.back();
} }
effect*& get_last() { effect*& get_last() {
return container[count - 1]; return container.back();
} }
effect* const& operator[] (int index) const { effect* const& operator[] (int index) const {
return container[index]; return container.at(index);
} }
effect*& operator[] (int index) { effect*& operator[] (int index) {
return container[index]; return container.at(index);
} }
effect* const& at(int index) const { effect* const& at(int index) const {
return container[index]; return container.at(index);
} }
effect*& at(int index) { effect*& at(int index) {
return container[index]; return container.at(index);
} }
private: private:
std::vector<effect*> container; std::vector<effect*> container;
int count;
}; };
#endif //EFFECTSET_H_ #endif //EFFECTSET_H_
...@@ -194,6 +194,7 @@ void field::special_summon_complete(effect* reason_effect, uint8 reason_player) ...@@ -194,6 +194,7 @@ void field::special_summon_complete(effect* reason_effect, uint8 reason_player)
group* ng = pduel->new_group(); group* ng = pduel->new_group();
ng->container.swap(core.special_summoning); ng->container.swap(core.special_summoning);
ng->is_readonly = TRUE; ng->is_readonly = TRUE;
core.hint_timing[reason_player] |= TIMING_SPSUMMON;
add_process(PROCESSOR_SPSUMMON, 1, reason_effect, ng, reason_player, 0); add_process(PROCESSOR_SPSUMMON, 1, reason_effect, ng, reason_player, 0);
} }
void field::destroy(card_set* targets, effect* reason_effect, uint32 reason, uint32 reason_player, uint32 playerid, uint32 destination, uint32 sequence) { void field::destroy(card_set* targets, effect* reason_effect, uint32 reason, uint32 reason_player, uint32 playerid, uint32 destination, uint32 sequence) {
......
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