mirror of
https://github.com/sebastian-heinz/Arrowgene.DragonsDogmaOnline
synced 2026-08-03 11:12:41 -04:00
- Partial implemention of the EXM "Recurrence of Darkness" (q50204000) using the scripted quest system. - Moved all scripts to a seperate Arrowgene.Ddon.Scripts project to support out of project comde completion in csx scripts. - Updated the README.md in the scripting project with details on how to enable csx autocompletion in Visual Studio Code. - Enabled scripted quests to have some dyanmic state for the instance of the quest. - Continued to build out QuestBlockUtil and QuestResultCommnandUtil to make it more convient to write scripted quests. - Updated the script callback function to pass a new object QuestCallbackParam and updated the function to support passing anonymous functions as an argument. - Moved index calculations for JSON quests to the asset deserializer. - Adjusted some "discovered quests" to not show the marker on the map until after the quest is engaged. - Renamed the script_dll directory to script_assemblies which is used for csx debug support. - Updated the README.md for the scripts directory.
1.1 KiB
1.1 KiB
Point Modifiers
The scripts in this module define different types of point modifiers (such as exp, jp and pp).
A point modifier can have 2 types
- Base Modifier
- Bonus Modifier
Base modifiers are applied to the base point amount. Bonus modifiers are applied to the new base amount after all modifiers have been applied.
Each modifier also has 3 actions when calculating the final percentage
- Additive
- Multiplicative
The algorithm which will calculate the final modifier does as follows
- Add together all
Additivemultipliers. - Apply all the
Multiplicativemultipliers.
Guidelines
All point modifiers should be able to have their settings be updated by a hot load event while the server is running.
Script naming
- Scripts which define modifications to the base amount should be
base_<point_type>_<name>.csx- example
base_exp_globalmodifiers.csx - example
base_exp_ptlvdiff.csx
- example
- Scripts which define a bonus should be named as
bonus_<point_type>_<name>.csx.- example
bonus_exp_equipment.csx. - example
bonus_exp_gpcourse.csx.
- example