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.
43 lines
2.3 KiB
C#
43 lines
2.3 KiB
C#
using Arrowgene.Ddon.Database.Model;
|
|
using Arrowgene.Ddon.Server.Scripting;
|
|
using Arrowgene.Ddon.Shared;
|
|
using Microsoft.CodeAnalysis;
|
|
using Microsoft.CodeAnalysis.Scripting;
|
|
using System.Linq;
|
|
using System.Runtime.CompilerServices;
|
|
|
|
namespace Arrowgene.Ddon.GameServer.Scripting
|
|
{
|
|
public abstract class GameServerScriptModule : ScriptModule
|
|
{
|
|
public override ScriptOptions Options()
|
|
{
|
|
return ScriptOptions.Default
|
|
.AddReferences(MetadataReference.CreateFromFile(typeof(AccountStateType).Assembly.Location))
|
|
.AddReferences(MetadataReference.CreateFromFile(typeof(AssetRepository).Assembly.Location))
|
|
.AddReferences(MetadataReference.CreateFromFile(typeof(DdonGameServer).Assembly.Location))
|
|
.AddReferences(MetadataReference.CreateFromFile(typeof(DynamicAttribute).Assembly.Location))
|
|
.AddReferences(MetadataReference.CreateFromFile(typeof(Enumerable).Assembly.Location))
|
|
.AddReferences(MetadataReference.CreateFromFile(typeof(LibDdon).Assembly.Location))
|
|
.AddReferences(MetadataReference.CreateFromFile(typeof(LibUtils).Assembly.Location))
|
|
.AddImports("System", "System.Collections", "System.Collections.Generic", "System.Linq")
|
|
.AddImports("System.Runtime.CompilerServices")
|
|
.AddImports("Arrowgene.Ddon.Database")
|
|
.AddImports("Arrowgene.Ddon.Database.Model")
|
|
.AddImports("Arrowgene.Ddon.GameServer")
|
|
.AddImports("Arrowgene.Ddon.GameServer.Characters")
|
|
.AddImports("Arrowgene.Ddon.GameServer.Chat")
|
|
.AddImports("Arrowgene.Ddon.GameServer.Context")
|
|
.AddImports("Arrowgene.Ddon.GameServer.Party")
|
|
.AddImports("Arrowgene.Ddon.GameServer.Quests")
|
|
.AddImports("Arrowgene.Ddon.GameServer.Scripting")
|
|
.AddImports("Arrowgene.Ddon.GameServer.Scripting.Interfaces")
|
|
.AddImports("Arrowgene.Ddon.Server.Scripting")
|
|
.AddImports("Arrowgene.Ddon.Shared")
|
|
.AddImports("Arrowgene.Ddon.Shared.Entity.PacketStructure")
|
|
.AddImports("Arrowgene.Ddon.Shared.Entity.Structure")
|
|
.AddImports("Arrowgene.Ddon.Shared.Model")
|
|
.AddImports("Arrowgene.Ddon.Shared.Model.Quest");
|
|
}
|
|
}
|
|
}
|