-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implemented the Battleground Queue System (#3995)
* Fixes #1310. * Added a battle config which allows toggling of the Battleground Queue client feature and also toggles between the modes of scripts. * Added script commands bg_reserve, bg_unbook, and bg_desert. * Removed old custom Battleground scripts. Thanks to @Lemongrass3110, @Locien, @secretdataz, @InusualZ, @Normynator, @Atemo, @iubantot, @admkakaroto, and @noobzter003!
- Loading branch information
Showing
44 changed files
with
2,671 additions
and
4,788 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,174 @@ | ||
# This file is a part of rAthena. | ||
# Copyright(C) 2019 rAthena Development Team | ||
# https://rathena.org - https://github.com/rathena | ||
# | ||
# This program is free software: you can redistribute it and/or modify | ||
# it under the terms of the GNU General Public License as published by | ||
# the Free Software Foundation, either version 3 of the License, or | ||
# (at your option) any later version. | ||
# | ||
# This program is distributed in the hope that it will be useful, | ||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
# GNU General Public License for more details. | ||
# | ||
# You should have received a copy of the GNU General Public License | ||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
# | ||
########################################################################### | ||
# Battleground Queue Database | ||
########################################################################### | ||
# | ||
# Battleground Queue Settings | ||
# | ||
########################################################################### | ||
# - Id Unique ID for the battleground type. | ||
# Name Name of the battleground. Must be the exact same as in the client for players to be able to join. | ||
# MinPlayers Minimum number of players required on each team. (Default: 1) | ||
# MaxPlayers Maximum number of players on each team. (Default: MAX_BG_MEMBERS / 2) | ||
# MinLevel Minimum level required to join the battleground. (Default: 1) | ||
# MaxLevel Maximum level to join the battleground. (Default: MAX_LEVEL value) | ||
# Deserter Amount of time in seconds a player is marked deserter. (Default: 600) | ||
# StartDelay Amount of time in seconds once a queue is filled before a start message is sent to players. (Default: 30) | ||
# Locations: Battleground location settings. | ||
# - Map The map on which the battleground will be played. | ||
# StartEvent NPC event triggered when the battleground starts. | ||
# TeamA: TeamA settings. | ||
# RespawnX X coordinate for warping on death. | ||
# RespawnY Y coordinate for warping on death. | ||
# DeathEvent NPC event triggered when a player dies. | ||
# QuitEvent NPC event triggered when a player quits. | ||
# Variable Name of BG ID variable used in the battleground script. | ||
# TeamB: TeamB settings. | ||
# RespawnX X coordinate for warping on death. | ||
# RespawnY Y coordinate for warping on death. | ||
# DeathEvent NPC event triggered when a player dies. | ||
# QuitEvent NPC event triggered when a player quits. | ||
# Variable Name of BG ID variable used in the battleground script. | ||
########################################################################### | ||
|
||
Header: | ||
Type: BATTLEGROUND_DB | ||
Version: 1 | ||
|
||
Body: | ||
- Id: 1 | ||
Name: "Tierra Gorge" | ||
MinPlayers: 6 | ||
MinLevel: 80 | ||
Locations: | ||
- Map: "bat_a01" | ||
StartEvent: "start#bat_a01::OnReadyCheck" | ||
TeamA: | ||
RespawnX: 50 | ||
RespawnY: 374 | ||
QuitEvent: "start#bat_a01::OnGuillaumeQuit" | ||
Variable: "$@TierraBG1_id1" | ||
TeamB: | ||
RespawnX: 42 | ||
RespawnY: 16 | ||
QuitEvent: "start#bat_a01::OnCroixQuit" | ||
Variable: "$@TierraBG1_id2" | ||
- Map: "bat_a02" | ||
StartEvent: "start#bat_a02::OnReadyCheck" | ||
TeamA: | ||
RespawnX: 50 | ||
RespawnY: 374 | ||
QuitEvent: "start#bat_a02::OnGuillaumeQuit" | ||
Variable: "$@TierraBG2_id1" | ||
TeamB: | ||
RespawnX: 42 | ||
RespawnY: 16 | ||
QuitEvent: "start#bat_a02::OnCroixQuit" | ||
Variable: "$@TierraBG2_id2" | ||
- Id: 2 | ||
Name: "Flavius" | ||
MinPlayers: 6 | ||
MinLevel: 80 | ||
Locations: | ||
- Map: "bat_b01" | ||
StartEvent: "start#bat_b01::OnReadyCheck" | ||
TeamA: | ||
RespawnX: 10 | ||
RespawnY: 290 | ||
QuitEvent: "start#bat_b01::OnGuillaumeQuit" | ||
Variable: "$@FlaviusBG1_id1" | ||
TeamB: | ||
RespawnX: 390 | ||
RespawnY: 10 | ||
QuitEvent: "start#bat_b01::OnCroixQuit" | ||
Variable: "$@FlaviusBG1_id2" | ||
- Map: "bat_b02" | ||
StartEvent: "start#bat_b02::OnReadyCheck" | ||
TeamA: | ||
RespawnX: 10 | ||
RespawnY: 290 | ||
QuitEvent: "start#bat_b02::OnGuillaumeQuit" | ||
Variable: "$@FlaviusBG2_id1" | ||
TeamB: | ||
RespawnX: 390 | ||
RespawnY: 10 | ||
QuitEvent: "start#bat_b02::OnCroixQuit" | ||
Variable: "$@FlaviusBG2_id2" | ||
- Id: 3 | ||
Name: "KVM (Level 80 and up)" | ||
MinPlayers: 5 | ||
MinLevel: 80 | ||
Locations: | ||
- Map: "bat_c01" | ||
StartEvent: "KvM01_BG::OnStart" | ||
TeamA: | ||
RespawnX: 52 | ||
RespawnY: 129 | ||
DeathEvent: "KvM01_BG::OnGuillaumeDie" | ||
QuitEvent: "KvM01_BG::OnGuillaumeQuit" | ||
Variable: "$@KvM01BG_id1" | ||
TeamB: | ||
RespawnX: 147 | ||
RespawnY: 55 | ||
DeathEvent: "KvM01_BG::OnCroixDie" | ||
QuitEvent: "KvM01_BG::OnCroixQuit" | ||
Variable: "$@KvM01BG_id2" | ||
- Id: 4 | ||
Name: "KVM (Level 60~79)" | ||
MinPlayers: 5 | ||
MinLevel: 60 | ||
MaxLevel: 79 | ||
Locations: | ||
- Map: "bat_c02" | ||
StartEvent: "KvM02_BG::OnStart" | ||
TeamA: | ||
RespawnX: 52 | ||
RespawnY: 129 | ||
DeathEvent: "KvM02_BG::OnGuillaumeDie" | ||
QuitEvent: "KvM02_BG::OnGuillaumeQuit" | ||
Variable: "$@KvM02BG_id1" | ||
TeamB: | ||
RespawnX: 147 | ||
RespawnY: 55 | ||
DeathEvent: "KvM02_BG::OnCroixDie" | ||
QuitEvent: "KvM02_BG::OnCroixQuit" | ||
Variable: "$@KvM02BG_id2" | ||
- Id: 5 | ||
Name: "KVM (Level 59 and below" | ||
MinPlayers: 5 | ||
MaxLevel: 59 | ||
Locations: | ||
- Map: "bat_c03" | ||
StartEvent: "KvM03_BG::OnStart" | ||
TeamA: | ||
RespawnX: 52 | ||
RespawnY: 129 | ||
DeathEvent: "KvM03_BG::OnGuillaumeDie" | ||
QuitEvent: "KvM03_BG::OnGuillaumeQuit" | ||
Variable: "$@KvM03BG_id1" | ||
TeamB: | ||
RespawnX: 147 | ||
RespawnY: 55 | ||
DeathEvent: "KvM03_BG::OnCroixDie" | ||
QuitEvent: "KvM03_BG::OnCroixQuit" | ||
Variable: "$@KvM03BG_id2" | ||
|
||
Footer: | ||
Imports: | ||
- Path: db/import/battleground_db.yml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
# This file is a part of rAthena. | ||
# Copyright(C) 2019 rAthena Development Team | ||
# https://rathena.org - https://github.com/rathena | ||
# | ||
# This program is free software: you can redistribute it and/or modify | ||
# it under the terms of the GNU General Public License as published by | ||
# the Free Software Foundation, either version 3 of the License, or | ||
# (at your option) any later version. | ||
# | ||
# This program is distributed in the hope that it will be useful, | ||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
# GNU General Public License for more details. | ||
# | ||
# You should have received a copy of the GNU General Public License | ||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
# | ||
########################################################################### | ||
# Battleground Queue Database | ||
########################################################################### | ||
# | ||
# Battleground Queue Settings | ||
# | ||
########################################################################### | ||
# - Id Unique ID for the battleground type. | ||
# Name Name of the battleground. Must be the exact same as in the client for players to be able to join. | ||
# MinPlayers Minimum number of players required on each team. (Default: 1) | ||
# MaxPlayers Maximum number of players on each team. (Default: MAX_BG_MEMBERS / 2) | ||
# MinLevel Minimum level required to join the battleground. (Default: 1) | ||
# MaxLevel Maximum level to join the battleground. (Default: MAX_LEVEL value) | ||
# Deserter Amount of time in seconds a player is marked deserter. (Default: 600) | ||
# StartDelay Amount of time in seconds once a queue is filled before a start message is sent to players. (Default: 30) | ||
# Locations: Battleground location settings. | ||
# - Map The map on which the battleground will be played. | ||
# StartEvent NPC event triggered when the battleground starts. | ||
# TeamA: TeamA settings. | ||
# RespawnX X coordinate for warping on death. | ||
# RespawnY Y coordinate for warping on death. | ||
# DeathEvent NPC event triggered when a player dies. | ||
# QuitEvent NPC event triggered when a player quits. | ||
# Variable Name of BG ID variable used in the battleground script. | ||
# TeamB: TeamB settings. | ||
# RespawnX X coordinate for warping on death. | ||
# RespawnY Y coordinate for warping on death. | ||
# DeathEvent NPC event triggered when a player dies. | ||
# QuitEvent NPC event triggered when a player quits. | ||
# Variable Name of BG ID variable used in the battleground script. | ||
########################################################################### | ||
|
||
Header: | ||
Type: BATTLEGROUND_DB | ||
Version: 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
2931c00
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can this feature limit/restrict same IP?
2931c00
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't recall this being an official feature, so it would have to be added separately if people really need it. Anyone is welcome to open a PR!
2931c00
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
won't this be better if it's feature branch?
2931c00
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It has been for a long time now.
2931c00
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The map server may crash in different cases.
example.
when changing the MinPlayers 6> 1 map-server crash: free(): invalid pointer.
If the queue exceeds the existence time [20s] and someone accepts the queue map-server crash:
[Error]: Server received crash signal! Attempting to save all online characters!
sorry for my bad english.
2931c00
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Tolimatoi did you test it with this pull?
#4648
2931c00
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, I will test it.
2931c00
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this does not look eamod bg friendly xd