Changeset 229 for trunk/src/game/GuildHandler.cpp
- Timestamp:
- 11/19/08 13:48:34 (17 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/game/GuildHandler.cpp
r177 r229 174 174 } 175 175 176 uint64 plGuid = objmgr.GetPlayerGUIDByName(plName);177 178 if(! plGuid)179 { 180 SendGuildCommandResult(GUILD_INVITE_S, plName, GUILD_PLAYER_NOT_ FOUND);181 return; 182 } 183 184 if( plGuid == guild->GetLeader())176 uint64 plGuid; 177 MemberSlot* slot = guild->GetMemberSlot(plName, plGuid); 178 if(!slot) 179 { 180 SendGuildCommandResult(GUILD_INVITE_S, plName, GUILD_PLAYER_NOT_IN_GUILD_S); 181 return; 182 } 183 184 if(slot->RankId == GR_GUILDMASTER) 185 185 { 186 186 SendGuildCommandResult(GUILD_QUIT_S, "", GUILD_LEADER_LEAVE); 187 return;188 }189 190 if(!guild->IsMember(GUID_LOPART(plGuid)))191 {192 SendGuildCommandResult(GUILD_INVITE_S, plName, GUILD_PLAYER_NOT_IN_GUILD_S);193 187 return; 194 188 } … … 302 296 } 303 297 304 uint64 plGuid = objmgr.GetPlayerGUIDByName(plName); 298 uint64 plGuid; 299 MemberSlot* slot = guild->GetMemberSlot(plName, plGuid); 300 301 if(!slot) 302 { 303 SendGuildCommandResult(GUILD_INVITE_S, plName, GUILD_PLAYER_NOT_IN_GUILD_S); 304 return; 305 } 306 307 if(plGuid == GetPlayer()->GetGUID()) 308 { 309 SendGuildCommandResult(GUILD_INVITE_S, "", GUILD_NAME_INVALID); 310 return; 311 } 305 312 306 if(!plGuid) 307 { 308 SendGuildCommandResult(GUILD_INVITE_S, plName, GUILD_PLAYER_NOT_FOUND); 309 return; 310 } 311 else if(plGuid == GetPlayer()->GetGUID()) 312 { 313 SendGuildCommandResult(GUILD_INVITE_S, "", GUILD_NAME_INVALID); 314 return; 315 } 316 317 int32 plRankId = guild->GetRank(GUID_LOPART(plGuid)); 318 if(plRankId == -1) 319 { 320 SendGuildCommandResult(GUILD_INVITE_S, plName, GUILD_PLAYER_NOT_IN_GUILD_S); 321 return; 322 } 323 if(plRankId < 2 || (plRankId-1) < GetPlayer()->GetRank()) 324 return; 325 326 uint32 newRankId = plRankId < guild->GetNrRanks() ? plRankId-1 : guild->GetNrRanks()-1; 313 if(slot->RankId < 2 || (slot->RankId-1) < GetPlayer()->GetRank()) 314 return; 315 316 uint32 newRankId = slot->RankId < guild->GetNrRanks() ? slot->RankId-1 : guild->GetNrRanks()-1; 327 317 328 318 guild->ChangeRank(plGuid, newRankId); … … 366 356 } 367 357 368 uint64 plGuid = objmgr.GetPlayerGUIDByName(plName); 369 370 if( !plGuid ) 371 { 372 SendGuildCommandResult(GUILD_INVITE_S, plName, GUILD_PLAYER_NOT_FOUND); 358 uint64 plGuid; 359 MemberSlot* slot = guild->GetMemberSlot(plName, plGuid); 360 361 if (!slot) 362 { 363 SendGuildCommandResult(GUILD_INVITE_S, plName, GUILD_PLAYER_NOT_IN_GUILD_S); 373 364 return; 374 365 } … … 380 371 } 381 372 382 int32 plRankId = guild->GetRank(GUID_LOPART(plGuid)); 383 if(plRankId == -1) 384 { 385 SendGuildCommandResult(GUILD_INVITE_S, plName, GUILD_PLAYER_NOT_IN_GUILD_S); 386 return; 387 } 388 389 if((plRankId+1) >= guild->GetNrRanks() || plRankId <= this->GetPlayer()->GetRank()) 390 return; 391 392 guild->ChangeRank(plGuid, (plRankId+1)); 373 if((slot->RankId+1) >= guild->GetNrRanks() || slot->RankId <= GetPlayer()->GetRank()) 374 return; 375 376 guild->ChangeRank(plGuid, (slot->RankId+1)); 393 377 // Put record into guildlog 394 guild->LogGuildEvent(GUILD_EVENT_LOG_DEMOTE_PLAYER, GetPlayer()->GetGUIDLow(), GUID_LOPART(plGuid), ( plRankId+1));378 guild->LogGuildEvent(GUILD_EVENT_LOG_DEMOTE_PLAYER, GetPlayer()->GetGUIDLow(), GUID_LOPART(plGuid), (slot->RankId+1)); 395 379 396 380 WorldPacket data(SMSG_GUILD_EVENT, (2+30)); // guess size … … 399 383 data << GetPlayer()->GetName(); 400 384 data << plName; 401 data << guild->GetRankName( plRankId+1);385 data << guild->GetRankName(slot->RankId+1); 402 386 guild->BroadcastPacket(&data); 403 387 } … … 498 482 } 499 483 500 uint64 newLeaderGUID = objmgr.GetPlayerGUIDByName(name); 501 if (!newLeaderGUID) 502 { 503 SendGuildCommandResult(GUILD_INVITE_S, name, GUILD_PLAYER_NOT_FOUND); 504 return; 505 } 506 if(!guild->IsMember(GUID_LOPART(newLeaderGUID))) 484 uint64 newLeaderGUID; 485 MemberSlot* slot = guild->GetMemberSlot(name, newLeaderGUID); 486 487 if (!slot) 507 488 { 508 489 SendGuildCommandResult(GUILD_INVITE_S, name, GUILD_PLAYER_NOT_IN_GUILD_S); … … 584 565 } 585 566 586 uint64 plGuid = objmgr.GetPlayerGUIDByName(name); 587 588 if (!plGuid) 589 { 590 SendGuildCommandResult(GUILD_INVITE_S, name, GUILD_PLAYER_NOT_FOUND); 591 return; 592 } 593 594 if (!guild->IsMember(GUID_LOPART(plGuid))) 567 uint64 plGuid; 568 MemberSlot* slot = guild->GetMemberSlot(name, plGuid); 569 570 if (!slot) 595 571 { 596 572 SendGuildCommandResult(GUILD_INVITE_S, name, GUILD_PLAYER_NOT_IN_GUILD_S); … … 629 605 } 630 606 631 uint64 plGuid = objmgr.GetPlayerGUIDByName(plName); 632 633 if (!plGuid) 634 { 635 SendGuildCommandResult(GUILD_INVITE_S, plName, GUILD_PLAYER_NOT_FOUND); 636 return; 637 } 607 uint64 plGuid; 608 MemberSlot* slot = guild->GetMemberSlot(plName, plGuid); 638 609 639 if (! guild->IsMember(GUID_LOPART(plGuid)))610 if (!slot) 640 611 { 641 612 SendGuildCommandResult(GUILD_INVITE_S, plName, GUILD_PLAYER_NOT_IN_GUILD_S);