jumpstart-games-reduxed/src/Schema/AchievementTaskReward.cs
Robert Paciorek 13df822608 rework achievements system + minor cleanup
rework achievements system:
    - support for Achievements page in journal
    - register achievement tasks in database to avoid duplicate rewards and to register progress (achievement levels)
    - better achievement tasks xml database (for multiple games)
    - support for older games SetUserAchievementTask (V1)
    - add some missed achievement IDs
    - move achievement data to Resources/achievements/

additionally:
    - add mmo zones for MaM and some additional mmo zones for EMD
    - move missions Resources into Resources/missions/
    - split SoD/MaM missions into separte files
    - move rank data to Resources/ranks/
    - cleanup sodoff.csproj

SQLite database schema changes:

```
CREATE TABLE "AchievementTaskState" (
	"VikingId"	INTEGER NOT NULL,
	"TaskId"	INTEGER NOT NULL,
	"Points"	INTEGER NOT NULL,
	CONSTRAINT "PK_AchievementTaskState" PRIMARY KEY("TaskId","VikingId"),
	CONSTRAINT "FK_AchievementTaskState_Vikings_VikingId" FOREIGN KEY("VikingId") REFERENCES "Vikings"("Id") ON DELETE CASCADE
);
```
2025-02-08 10:29:56 +00:00

27 lines
565 B
C#

using System.Xml.Serialization;
namespace sodoff.Schema;
[XmlRoot(ElementName = "ATR", Namespace = "")]
[Serializable]
public class AchievementTaskReward
{
[XmlElement(ElementName = "q")]
public int RewardQuantity;
[XmlElement(ElementName = "p")]
public int PointTypeID;
[XmlElement(ElementName = "r")]
public int RewardID;
[XmlElement(ElementName = "pg")]
public int ProductGroupID;
[XmlElement(ElementName = "a")]
public int AchievementInfoID;
[XmlElement(ElementName = "ii", IsNullable = true)]
public int? ItemID;
}