void EffectSeduction::unaffect() throw(Error) { __BEGIN_TRY Creature* pCreature = dynamic_cast<Creature *>(m_pTarget); unaffect(pCreature); __END_CATCH }
//---------------------------------------------------------------------- // destructor //---------------------------------------------------------------------- EffectAddItemToCorpse::~EffectAddItemToCorpse () throw(Error) { __BEGIN_TRY unaffect(m_pZone , m_X , m_Y , m_pTarget); __END_CATCH }
//---------------------------------------------------------------------- // destructor //---------------------------------------------------------------------- EffectDeleteItem::~EffectDeleteItem () throw(Error) { __BEGIN_TRY unaffect(m_pZone , m_X , m_Y , m_pTarget); __END_CATCH }
void EffectFlagInsert::unaffect() throw(Error) { __BEGIN_TRY Item* pItem = dynamic_cast<Item *>(m_pTarget); unaffect(pItem); __END_CATCH }
void EffectCureCriticalWounds::unaffect() throw(Error) { __BEGIN_TRY Creature* pCreature = dynamic_cast<Creature*>(m_pTarget); unaffect(pCreature); __END_CATCH }
void EffectDivineGuidance::unaffect() throw(Error) { __BEGIN_TRY Creature* pCreature = dynamic_cast<Creature*>(m_pTarget); unaffect(pCreature); __END_CATCH }
void EffectIceOfSoulStone::unaffect() throw(Error) { __BEGIN_TRY Creature* pCreature = dynamic_cast<Creature *>(m_pTarget); unaffect(pCreature); __END_CATCH }
void EffectGnomesWhisper::unaffect() throw(Error) { __BEGIN_TRY Creature* pCreature = dynamic_cast<Creature *>(m_pTarget); unaffect(pCreature); __END_CATCH }
void EffectVigorDropToCreature::unaffect() throw(Error) { __BEGIN_TRY Creature* pCreature = dynamic_cast<Creature*>(m_pTarget); unaffect(pCreature); __END_CATCH }
void EffectRelicPosition::unaffect() throw(Error) { __BEGIN_TRY Item* pItem = dynamic_cast<Item *>(m_pTarget); unaffect(pItem); __END_CATCH }
void SimpleCreatureEffect::unaffect() throw(Error) { __BEGIN_TRY Creature* pCreature = dynamic_cast<Creature *>(m_pTarget); unaffect(pCreature); __END_CATCH }
void EffectAlignmentRecovery::unaffect() throw(Error) { __BEGIN_TRY Creature* pCreature = dynamic_cast<Creature*>(m_pTarget); Assert(pCreature != NULL); unaffect(pCreature); __END_CATCH }
void EffectGreenStalker::unaffect() throw(Error) { __BEGIN_TRY //cout << "EffectGreenStalker " << "unaffect BEGIN" << endl; Creature* pCreature = dynamic_cast<Creature*>(m_pTarget); unaffect(pCreature); //cout << "EffectGreenStalker " << "unaffect END" << endl; __END_CATCH }
void EffectObservingEye::unaffect() throw(Error) { __BEGIN_TRY //cout << "EffectObservingEye" << "unaffect BEGIN" << endl; Creature* pCreature = dynamic_cast<Creature *>(m_pTarget); unaffect(pCreature); //cout << "EffectObservingEye" << "unaffect END" << endl; __END_CATCH }
void EffectIntimateGrail::unaffect() throw(Error) { __BEGIN_TRY //cout << "EffectIntimateGrail" << "unaffect BEGIN" << endl; Creature* pCreature = dynamic_cast<Creature *>(m_pTarget); unaffect(pCreature); //cout << "EffectIntimateGrail" << "unaffect END" << endl; __END_CATCH }
void EffectMiracleShield::unaffect() throw(Error) { __BEGIN_TRY //cout << "EffectMiracleShield " << "unaffect BEGIN" << endl; Creature* pCreature = dynamic_cast<Creature *>(m_pTarget); unaffect(pCreature); //cout << "EffectMiracleShield " << "unaffect END" << endl; __END_CATCH }
void EffectSpiritGuard::unaffect() throw(Error) { __BEGIN_TRY Creature* pCreature = dynamic_cast<Creature*>(m_pTarget); // by Sequoia if (pCreature != NULL ) { unaffect(pCreature); } __END_CATCH }
//-------------------------------------------------------------------- // unaffect() //-------------------------------------------------------------------- void EffectTransportCreature::unaffect() throw(Error) { __BEGIN_TRY Creature* pCreature = m_pZone->getCreature(m_CreatureID); //Creature* pCreature = dynamic_cast<Creature*>(m_pTarget); if (pCreature!=NULL) { unaffect(pCreature); } __END_CATCH }
void EffectTransformToBat::unaffect() throw(Error) { __BEGIN_TRY //cout << "EffectTransformToBat " << "unaffect BEGIN" << endl; Creature* pCreature = dynamic_cast<Creature *>(m_pTarget); Assert(pCreature != NULL); if (pCreature->isSlayer()) { //cout << "EffectTransfromToWolf::unaffect() : Slayer cannot transfrom to bat!" << endl; throw Error("EffectTransfromToWolf::unaffect() : Slayer cannot transfrom to bat!"); } unaffect(pCreature); //cout << "EffectTransformToBat " << "unaffect BEGIN" << endl; __END_CATCH }
static LRESULT WizardDlgProc(HWND hDlg,UINT msg, WPARAM wParam,LPARAM lParam) { int i; switch (msg) { case WM_INITDIALOG: hWizardDlg = hDlg; hWizardText = GetDlgItem(hDlg,IDC_OUTPUT); SendMessage(hWizardText,WM_SETFONT,(WPARAM)hfCourier,1); display_game_status(); SetTimer(hDlg,10,20,NULL); return 0; case WM_TIMER: do_events();return 1; case WM_COMMAND: switch (LOWORD(wParam)) { case IDCANCEL: EndDialog(hDlg,0);return 0; case IDC_CLEARMAP: { HWND listwnd = PrepareListWindow(hDlg); HWND list = GetDlgItem(listwnd,IDC_LIST); int res; ListBox_AddString(list,"Clear Monsters"); ListBox_AddString(list,"Clear Items"); res = PumpDialogMessages(listwnd); if (res == IDOK) { if (ListBox_GetSel(list,0)) { for(i = 0;i<MAX_MOBS;i++) if (mobs[i].vlajky & MOB_LIVE) { vybrana_zbran = -1; select_player = -1; mob_hit(mobs+i,mobs[i].lives); } } if (ListBox_GetSel(list,1)) { for(i = 0;i<mapsize*4;i++) { destroy_items(map_items[i]); free(map_items[i]); map_items[i] = NULL; } for(i = 0;i<vyk_max;i++) { destroy_items(map_vyk[i].items); map_vyk[i].items[0] = 0; } } } CloseListWindow(listwnd); } break; case IDC_ADVENCE: { int i,j,c; if (!wzscanf("Advence to level <postava -1= vsichni><uroven>:","%d %d",&i,&j)) return 0; c = MessageBox(GetActiveWindow(),"Automaticky?","?",MB_YESNO|MB_ICONQUESTION); if (i>0) advence_player(i-1,j,c == IDYES);else for(i = 0;i<POCET_POSTAV;i++) if (postavy[i].used) advence_player(i,j,c == IDYES); return 0; } case IDC_GOTO: { char prompt[50]; sprintf(prompt,"Goto sector <1-%d>:",mapsize-1); if (!wzscanf(prompt,"%d",&viewsector)) return 0; chod_s_postavama(1); SEND_LOG("(WIZARD) Goto %d",viewsector,0); return 0; } case IDC_LOADMAP: if (!wzscanf("Load Map <filename><sector>","%s %hd",loadlevel.name,&loadlevel.start_pos)) return 0; for(i = 0;i<POCET_POSTAV;i++)postavy[i].sektor = loadlevel.start_pos; SEND_LOG("(WIZARD) Load map '%s' %d",loadlevel.name,loadlevel.start_pos); EndDialog(hDlg,0); send_message(E_CLOSE_MAP); return 0; case IDC_OPENDOOR:if (map_sectors[viewsector].step_next[viewdir]) delay_action(3,viewsector,viewdir,0x2000000,0,0); else delay_action(3,viewsector,viewdir,0,0,0); return 0; case IDC_TAKEMONEY:if (take_money()) return 0;break; case IDC_PURGE:if (purge_map()) return 0;break; case IDC_HEAL:if (heal_meditate()) return 0;break; case IDC_RAISEDEATH:if (raise_death()) return 0;break; case IDC_RAISEMONSTER:if (raise_killed_monster(hDlg)) return 0;break; case IDC_IMMORTAL:set_immortality();break; case IDC_NETECNOST:set_nohassle();break; case IDC_UNAFFECT :unaffect();break; case IDC_WEAPONSKILL:if (advance_weapon()) return 0;break; case IDC_REFRESH:display_game_status();break; case IDC_RELOADMOBILES: i = MessageBox(hDlg,"Tato funkce precte znova parametry vsech existujicich nestvur. " "Pouzivej jen v pripade, ze se tyto parametry zmenili a nesouhlasi tak " "obsah ulozene pozice. Pokracovat? ","??",MB_YESNO|MB_ICONQUESTION); if (i == IDYES) reload_mobs(); return 0; case IDC_LOADITEM: { HWND listdlg = PrepareListWindow(hDlg); HWND list = GetDlgItem(listdlg,IDC_LIST); char buff[256]; int i; int res; for (i = 0;i<item_count;i++) { _snprintf(buff,sizeof(buff),"%d. %s",i,glob_items[i].jmeno); kamenik2windows(buff,strlen(buff),buff); ListBox_AddString(list,buff); } res = PumpDialogMessages(listdlg); while (res == IDOK) { int cnt; for (i = 0,cnt = ListBox_GetCount(list);i<cnt;i++) if (ListBox_GetSel(list,i)) { SEND_LOG("(WIZARD) Load Item %d (%s)",i,glob_items[i].jmeno); macro_drop_item(viewsector,viewdir,i); wzprintf("Dropped item: %d\r\n",i); } res = PumpDialogMessages(listdlg); } CloseListWindow(listdlg); } return 0; } default: return 0; } return 1; }