mirror of
https://github.com/sebastian-heinz/Arrowgene.DragonsDogmaOnline
synced 2026-08-03 11:12:41 -04:00
Extracted all the different point modification algorithms to scripts so it's easier for server admins to adjust and add new modifiers to their servers at runtime. A new "point modifiers" scripting module was added. The generic term point means exp, jp and pp earned by players and pawns. Moved settings from the generic GameLogicSettings.csv to a new settings file PointModifiers.csx where appropriate. Each modifier defines the following properties - The point type that is being modified. - Which quanity of point type it impacts (base amount or bonus amount). - The behavior of the multiplier (additive or multiplicative). - The source of point type (enemy vs quest). - The player types it applies to (Player and/or MyPawn). Like other scripting modules, a README.md file is created in the module directory outlining basic usage and guidelines for the scripting module.
23 lines
826 B
C#
23 lines
826 B
C#
using Arrowgene.Ddon.GameServer.Party;
|
|
using Arrowgene.Ddon.GameServer.Quests;
|
|
using Arrowgene.Ddon.Shared.Model;
|
|
using Arrowgene.Ddon.Shared.Model.Quest;
|
|
|
|
namespace Arrowgene.Ddon.GameServer.Scripting.Interfaces
|
|
{
|
|
public abstract class IPointModifier
|
|
{
|
|
public abstract PointType PointType { get; }
|
|
public abstract PointModifierType ModifierType { get; }
|
|
public abstract PointModifierAction ModifierAction { get; }
|
|
public abstract RewardSource Source { get; }
|
|
public abstract PlayerType PlayerTypes { get; }
|
|
|
|
public virtual bool IsEnabled()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
public abstract double GetMultiplier(GameMode gameMode, CharacterCommon characterCommon, PartyGroup party, InstancedEnemy enemy, QuestType questType = QuestType.All);
|
|
}
|
|
}
|