@@ -8,13 +8,13 @@ Combat log also dictates when the player should be able to regen their resources
**What follows is still under construction and describes features which are only available in ML 1.5.1 dev builds.**
## PvP Interaction Rules
By "interactions" we refer to any skill or attack which involves two players. For instance, a Fireball skill cast a player will apply these rules if the skill hits a player (theses rules won't apply if the same skill hits a non-player entity). Player interactions also include healing/buff skills, or even MMOItems staff/whip/musket attacks, when performed onto another player. They include non-vanilla **PLUGIN** interactions, and **EXCLUDE** vanilla melee attacks, bow/crossbow attacks etc. **All of these are interactions that we want to disable when PvP is turned off.**
## PvP/PvE Interaction Rules
These rules basically determine in which contexts any given player can "interact" with another player. An "interaction" may refer to a skill or an attack. This obviously depends on the location of the two players (is the PvP flag on?), the relationship between the players (are they in the same party?) as well as the interaction type (is it a damaging skill, or a buff?).
Some plugins make this choice a little harder. For instance, even if PVP is toggled on, you might want to disable friendly fire from two players in the same party, guild or faction. This depends on the **relationship** between the two players. But it also depends on the **type of interaction** because you might want to disable party friendly-fire, but allow player members to cast buffs and heals onto their partners. Last but not least, outputs can also vary if you're considering **parties, or guilds**.
Player interactions include anything from healing/buff skills, to MMOItems staff/whip/musket attacks or even simple melee or projectile vanilla attacks. There are some interactions that we want to disable, for instance being able to damage or cast damaging skills onto party/guild members. Interaction rules are made for that.
### Supported Guild plugins
_By guilds we are refering to factions, guilds, clans or kindgoms. MMOCore handles these groups in the same way._
### Supported Group plugins
_By groups we are refering to factions, guilds, clans, kindgoms, etc. MMOCore handles these groups in the same way._
- UltimateClans
- Guilds
- KingdomsX
...
...
@@ -28,15 +28,7 @@ _By guilds we are refering to factions, guilds, clans or kindgoms. MMOCore handl
- PartyAndFriends (Spigot & Proxy)
- Parties
### Relationships
There are 6 different possible relationships between two players:
-`PARTY_MEMBER` when they are from the same party
-`PARTY_OTHER` when they are in a different party, or no party at all
-`GUILD_ALLY` means same guild, or guilds are allies
-`GUILD_NEUTRAL` means neutral relationship, truce or not being in any guild
-`GUILD_ENEMY` means the guilds are enemies
Two players can have two different relations. They can be in the same party while being in different guilds (although it is very unlikely) - in that case, PvP is disabled as long as one of the two relationships prevent PvP.
Two players can have two different relations. They can be in the same party while being in different guilds (although it is quite rare) - in that case, PvP is disabled as long as one of the two relationships prevent PvP.
### What you can configure
MythicLib lets you configure a sort of three-dimensional array where you can choose to enable OR disable any combination of these three parameters:
...
...
@@ -46,49 +38,59 @@ MythicLib lets you configure a sort of three-dimensional array where you can cho
**This is located in the main MythicLib config file!**
```
pvp_interaction_rules:
interaction_rules:
# When enabled, apply PvP interaction rules for skills, melee and projectile hits.
# This option is toggled off by default to reduce confusion for new users.
enabled: true
# When disabled, support-based skills (buffs or heals)
# may only be applied onto players.
support_skills_on_mobs: true
# When PvP is turned off
pvp_off:
# Ability to heal other players when PvP is off
support:
party_member: true
party_other: true
guild_ally: true
guild_neutral: true
guild_enemy: true
offense:
party_member: false
party_other: false
guild_ally: false
guild_neutral: false
guild_enemy: false
## When PvP is turned on
pvp_on:
# Ability to heal other players when PvP is on
support:
party_member: true
party_other: true
party_other: false
guild_ally: true
guild_neutral: true
guild_enemy: false
# Friendly fire for guilds/parties
offense:
party_member: false
party_other: true
guild_ally: false
guild_neutral: true
guild_enemy: true
```
The `support_skills_on_mobs` determines if you can cast support skills/heals/buffs onto monsters.
## PvP Mode
This feature is specially designed for PvE servers which still want to leave some options for players to fight. In specific WorldGuard regions where PvP is disabled by default, players can use `/pvpmode` to toggle on PvP back and fight other players! **Only players with PvP enabled can fight and attack each other.** Furthermore, this feature is fully compatible with the PvP interaction rules defined above.
_PvP Mode only works with WorldGuard! It won't work with other flag plugins like Residence._
How to setup PvP Mode:
- first setup the PvP interaction rules as explained above.
- first setup PvP interaction rules as explained above.
- select an existing/create a new WorldGuard region
-set the PVP flag to `DENY` (**VERY IMPORTANT**!)
-add the `pvp-mode` flag (toggled off by default)
-toggle **ON** server PvP, world PvP as well as the PvP flag
-toggle on the `pvp-mode` flag (toggled off by default)
You are now good to go! When the `pvp-mode` flag is on, players have access to the `/pvpmode` command and MMOCore dictates the PvP rules by blocking the PvP restrictions from WorldGuard (which is why you need to disable Pvp). When this flag is off, regular rules apply.
You are now good to go! When the `pvp-mode` flag is on, players have access to the `/pvpmode` command and MMOCore will take care of the rest.
### Configuration
In order to prevent abuse, you can configure Pvp Mode so that players can't exit it while they are still in combat. Moreover, you can setup cooldowns for that command.
...
...
@@ -98,20 +100,54 @@ In order to prevent abuse, you can configure Pvp Mode so that players can't exit
pvp_mode:
# Requires /reload when changed
enabled: true
enabled: false
# Minimum level in order to fight other players.
# Set to 0 to fully disable
min_level: 0
# Maximum level difference in order to fight other players.
# Set to 0 to fully disable
max_level_difference: 10
# Delay after any attack during which the player will stay in PvP Mode (seconds)
# Has to be lower than 'cooldown.combat'
combat_timeout: 30
# Invulnerability when entering a pvp-mode region when your PvP mode is toggled on.
invulnerability: 60
# Invulnerability triggered when:
# - entering a PvP region with PvP mode turned on.
# - using the /pvpmode command inside of a PvP region.
invulnerability:
time:
region_change: 60
command: 30
# When enabled, players can damage other players
# to end this invulnerable time period.
can_damage: false
# When enabled, leaving a no-PVP zone and entering a
# PVP zone will apply the SAME invulnerability time.
# Requires /reload when changed
apply_to_pvp_flag: true
cooldown:
# Delay before being able to use /pvpmode after being in combat (seconds)
# Has to be greater than the combat timeout for it to make sense
# Cooldown before being able to use the /pvpmode
# command when entering a PvP mode region.
region_enter: 20
# Cooldown before being able to use the /pvpmode
# command when entering a PvP mode region.
region_leave: 20
# Delay before being able to use /pvpmode after being in combat (seconds).
# Has to be greater than the 'combat_timeout'
combat: 45
# Cooldown when toggling on PvP mode, before being able to toggle it off (seconds)