forked from Shardstone/trail-into-darkness
53 lines
1.3 KiB
C#
53 lines
1.3 KiB
C#
using System;
|
|
|
|
namespace Jovian.EncounterSystem {
|
|
/// <summary>Polymorphic payload on an <see cref="IEncounter"/>. Add a new kind by implementing
|
|
/// this interface; the SubclassSelector drawer surfaces it automatically.</summary>
|
|
public interface IEncounterKind {
|
|
}
|
|
|
|
[Serializable]
|
|
public class CombatKind : IEncounterKind {
|
|
public string enemyGroupId;
|
|
public string rewardTableId;
|
|
}
|
|
|
|
[Serializable]
|
|
public class QuestKind : IEncounterKind {
|
|
public EncounterLink nextEncounter;
|
|
public string questTitle;
|
|
}
|
|
|
|
[Serializable]
|
|
public class SocialKind : IEncounterKind {
|
|
public string npcId;
|
|
public string factionId;
|
|
public int reputationDelta;
|
|
}
|
|
|
|
[Serializable]
|
|
public class PuzzleKind : IEncounterKind {
|
|
public string puzzleId;
|
|
public int difficultyClass;
|
|
}
|
|
|
|
[Serializable]
|
|
public class ExplorationKind : IEncounterKind {
|
|
public int perceptionDC;
|
|
}
|
|
|
|
[Serializable]
|
|
public class TutorialKind : IEncounterKind {
|
|
public string tutorialId;
|
|
}
|
|
|
|
[Serializable]
|
|
public class HazardKind : IEncounterKind {
|
|
public int damageAmount;
|
|
}
|
|
|
|
[Serializable]
|
|
public class OtherKind : IEncounterKind {
|
|
}
|
|
}
|