zone unlock lock and zone/zoneid commands now have duplicate id as a second number, incomplete cureplayer for raid groups, lastly patched issues with claim command
This commit is contained in:
parent
04f38a6599
commit
856c29674a
@ -3630,12 +3630,18 @@ void Commands::Process(int32 index, EQ2_16BitString* command_parms, Client* clie
|
|||||||
PrintSep(sep, "ZONE LOCK");
|
PrintSep(sep, "ZONE LOCK");
|
||||||
|
|
||||||
if(sep->IsNumber(1)) {
|
if(sep->IsNumber(1)) {
|
||||||
if(zone_list.GetZone(&zone_details, atoul(sep->arg[1]), "", false, false, false, false)) {
|
if(sep->IsNumber(2) && zone_list.GetDuplicateZoneDetails(&zone_details, "", atoul(sep->arg[1]), atoul(sep->arg[2]))) {
|
||||||
|
zsZone = (ZoneServer*)zone_details.zonePtr;
|
||||||
|
}
|
||||||
|
else if(zone_list.GetZone(&zone_details, atoul(sep->arg[1]), "", false, false, false, false)) {
|
||||||
zsZone = (ZoneServer*)zone_details.zonePtr;
|
zsZone = (ZoneServer*)zone_details.zonePtr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(zone_list.GetZone(&zone_details, 0, std::string(sep->arg[1]), false, false, false, false)) {
|
if(sep->IsNumber(2) && zone_list.GetDuplicateZoneDetails(&zone_details, std::string(sep->arg[1]), 0, atoul(sep->arg[2]))) {
|
||||||
|
zsZone = (ZoneServer*)zone_details.zonePtr;
|
||||||
|
}
|
||||||
|
else if(zone_list.GetZone(&zone_details, 0, std::string(sep->arg[1]), false, false, false, false)) {
|
||||||
zsZone = (ZoneServer*)zone_details.zonePtr;
|
zsZone = (ZoneServer*)zone_details.zonePtr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3655,12 +3661,18 @@ void Commands::Process(int32 index, EQ2_16BitString* command_parms, Client* clie
|
|||||||
PrintSep(sep, "ZONE UNLOCK");
|
PrintSep(sep, "ZONE UNLOCK");
|
||||||
|
|
||||||
if(sep->IsNumber(1)) {
|
if(sep->IsNumber(1)) {
|
||||||
if(zone_list.GetZone(&zone_details, atoul(sep->arg[1]), "", false, false, false, false)) {
|
if(sep->IsNumber(2) && zone_list.GetDuplicateZoneDetails(&zone_details, "", atoul(sep->arg[1]), atoul(sep->arg[2]))) {
|
||||||
|
zsZone = (ZoneServer*)zone_details.zonePtr;
|
||||||
|
}
|
||||||
|
else if(zone_list.GetZone(&zone_details, atoul(sep->arg[1]), "", false, false, false, false)) {
|
||||||
zsZone = (ZoneServer*)zone_details.zonePtr;
|
zsZone = (ZoneServer*)zone_details.zonePtr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(zone_list.GetZone(&zone_details, 0, std::string(sep->arg[1]), false, false, false, false)) {
|
if(sep->IsNumber(2) && zone_list.GetDuplicateZoneDetails(&zone_details, std::string(sep->arg[1]), 0, atoul(sep->arg[2]))) {
|
||||||
|
zsZone = (ZoneServer*)zone_details.zonePtr;
|
||||||
|
}
|
||||||
|
else if(zone_list.GetZone(&zone_details, 0, std::string(sep->arg[1]), false, false, false, false)) {
|
||||||
zsZone = (ZoneServer*)zone_details.zonePtr;
|
zsZone = (ZoneServer*)zone_details.zonePtr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3714,10 +3726,15 @@ void Commands::Process(int32 index, EQ2_16BitString* command_parms, Client* clie
|
|||||||
client->Message(CHANNEL_COLOR_YELLOW,"Zoning to %s...", zonestr);
|
client->Message(CHANNEL_COLOR_YELLOW,"Zoning to %s...", zonestr);
|
||||||
if(isInstance)
|
if(isInstance)
|
||||||
client->Zone(&zone_details,(ZoneServer*)zone_details.zonePtr,true,false);
|
client->Zone(&zone_details,(ZoneServer*)zone_details.zonePtr,true,false);
|
||||||
|
else {
|
||||||
|
if(sep->IsNumber(2) && zone_list.GetDuplicateZoneDetails(&zone_details, zone, 0, atoul(sep->arg[2]))) {
|
||||||
|
client->Zone(&zone_details,(ZoneServer*)zone_details.zonePtr,true,false);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
client->Zone(zonestr);
|
client->Zone(zonestr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
client->Message(CHANNEL_COLOR_RED, "Error: Zone '%s' not found. To get a list type /zone list", zonestr);
|
client->Message(CHANNEL_COLOR_RED, "Error: Zone '%s' not found. To get a list type /zone list", zonestr);
|
||||||
}
|
}
|
||||||
@ -6013,8 +6030,12 @@ void Commands::Command_Claim(Client* client, Seperator* sep)
|
|||||||
int32 char_id = client->GetCharacterID();
|
int32 char_id = client->GetCharacterID();
|
||||||
int8 my_claim_id = atoi(sep->argplus[0]);
|
int8 my_claim_id = atoi(sep->argplus[0]);
|
||||||
vector<ClaimItems> claim = database.LoadCharacterClaimItems(char_id);
|
vector<ClaimItems> claim = database.LoadCharacterClaimItems(char_id);
|
||||||
|
if(my_claim_id < claim.size()) {
|
||||||
Item* item = master_item_list.GetItem(claim[my_claim_id].item_id);
|
Item* item = master_item_list.GetItem(claim[my_claim_id].item_id);
|
||||||
|
if(item) {
|
||||||
database.ClaimItem(char_id, item->details.item_id, client);
|
database.ClaimItem(char_id, item->details.item_id, client);
|
||||||
|
}
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -12246,6 +12267,25 @@ void Commands::Command_CurePlayer(Client* client, Seperator* sep)
|
|||||||
if(sep->arg[0][0] == 'g' && !mapped_position) {
|
if(sep->arg[0][0] == 'g' && !mapped_position) {
|
||||||
target = (Entity*)client->GetPlayer();
|
target = (Entity*)client->GetPlayer();
|
||||||
}
|
}
|
||||||
|
else if(sep->arg[0][0] == 'r') {
|
||||||
|
std::vector<int32> raidGroups;
|
||||||
|
GroupMemberInfo* gmi = client->GetPlayer()->GetGroupMemberInfo();
|
||||||
|
if(gmi)
|
||||||
|
world.GetGroupManager()->GetRaidGroups(gmi->group_id, &raidGroups);
|
||||||
|
if(raidGroups.size() < 1) {
|
||||||
|
if (gmi && gmi->group_id) {
|
||||||
|
raidGroups.push_back(gmi->group_id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
int8 group_idx = mapped_position / 6;
|
||||||
|
if(group_idx < raidGroups.size()) {
|
||||||
|
PlayerGroup* group = world.GetGroupManager()->GetGroup(raidGroups.at(group_idx));
|
||||||
|
if(group) {
|
||||||
|
int8 actual_idx = mapped_position - (group_idx * 6);
|
||||||
|
target = group->GetGroupMemberByPosition(client->GetPlayer(), actual_idx);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
GroupMemberInfo* gmi = client->GetPlayer()->GetGroupMemberInfo();
|
GroupMemberInfo* gmi = client->GetPlayer()->GetGroupMemberInfo();
|
||||||
if (gmi && gmi->group_id) {
|
if (gmi && gmi->group_id) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user