void CUnit::SetEntitySelection(const CStr& selection) { CStr selection_lc = selection.LowerCase(); // If we've already selected this, don't do anything if (m_EntitySelections.find(selection_lc) != m_EntitySelections.end()) return; // Just allow one selection at a time m_EntitySelections.clear(); m_EntitySelections.insert(selection_lc); ReloadObject(); }
void Character::ReloadVal(AI_MODE mode) { ReadProcessMemory(ph, base_addr+ADDR_AIRDASHCOUNTOFS, air_dash_count); ReadProcessMemory(ph, base_addr+ADDR_REIPOWEROFS, rei); ReadProcessMemory(ph, base_addr+ADDR_REISTOPROFS, rei_stop); ReadProcessMemory(ph, base_addr+ADDR_MAXREIPOWEROFS, rei_max); ReadProcessMemory(ph, base_addr+ADDR_TIMESTOPOFS, time_stop); ReadProcessMemory(ph, base_addr+ADDR_CORRECTIONOFS, correction); ReadProcessMemory(ph, base_addr+ADDR_COMBORATEOFS, combo.rate); ReadProcessMemory(ph, base_addr+ADDR_COMBOCOUNTOFS, combo.count); ReadProcessMemory(ph, base_addr+ADDR_COMBODAMAGEOFS, combo.damage); ReadProcessMemory(ph, base_addr+ADDR_COMBOLIMITOFS, combo.limit); ReadProcessMemory(ph, base_addr+ADDR_ATTACKPOWEROFS, status.attack); ReadProcessMemory(ph, base_addr+ADDR_DEFENSEPOWEROFS, status.defense); ReadProcessMemory(ph, base_addr+ADDR_SPEEDPOWEROFS, status.speed); if(weather==11) { gauge = 0; card_id = -1; } else { gauge = 0; ReadProcessMemory(ph, base_addr+ADDR_CARDGAUGEOFS, &gauge, 2); unsigned char temp; ReadProcessMemory(ph, base_addr+ADDR_CARDCOUNTOFS, temp); gauge += temp * 500; card_id = GetCardId(type,0); } win_count = 0; ReadProcessMemory(ph, base_addr+ADDR_WINCNTOFS, win_count); { int count; int point; int base; int max; int p; ReadProcessMemory(ph, base_addr+ADDR_CARDCOUNT2OFS, count); if(!(count<0 || count>5)) { ReadProcessMemory(ph, base_addr+ADDR_SELECTCARDOFS, point); ReadProcessMemory(ph, base_addr+ADDR_HANDCARDBASEOFS, base); ReadProcessMemory(ph, base_addr+ADDR_HANDCARDMAXOFS, max); int i = 0; while(i < 5) { if(weather!=11 && max>0 && i<gauge/500) { ReadProcessMemory(ph, base+((point+i)%max)*4, p); ReadProcessMemory(ph, p, &card[i], 4); } else { card[i].id = -1; card[i].cost = -1; } i++; } } } //スキルレベル一覧 ReadProcessMemory(ph, base_addr+ADDR_SKILLLEVELMAPOFS, skill, sizeof(skill), NULL); { int i = 0; while(i < SPECIALDATA_MAX) { sp_data[i] = GetSpecialData(i); i++; } } {//キー入力状態 int p; ReadProcessMemory(ph, base_addr+ADDR_KEYMGROFS, p); ReadProcessMemory(ph, p, p); int i = 0; while(i < 8) { ReadProcessMemory(ph, p+ADDR_KEYMAPOFS+i*4, keyState[i]); i++; } } ReloadObject(mode); ReloadLuaValue(mode); }
void CUnit::SetActorSelections(const std::set<CStr>& selections) { m_ActorSelections = selections; ReloadObject(); }