init
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 43c4ed73457c4b99a54799986f73ab5b
|
||||
timeCreated: 1767397753
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 851384468b99465793e6191b72731611
|
||||
timeCreated: 1767398241
|
||||
@@ -0,0 +1,12 @@
|
||||
using RPGCore.Core.Objects;
|
||||
using RPGCore.ObjectModules.EventObjectModule;
|
||||
|
||||
namespace IntoTheAbyss.Events
|
||||
{
|
||||
public class DamageEvent : BasePreventableEvent<BaseObject>
|
||||
{
|
||||
public BaseObject target;
|
||||
public BaseObject attacker;
|
||||
public int damage;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c89fdbc32db24919a09ef8c87474469e
|
||||
timeCreated: 1761916178
|
||||
@@ -0,0 +1,10 @@
|
||||
using RPGCore.Core.Objects;
|
||||
using RPGCore.ObjectModules.EventObjectModule;
|
||||
|
||||
namespace IntoTheAbyss.Events
|
||||
{
|
||||
public class DeathEvent : BasePreventableEvent<BaseObject>
|
||||
{
|
||||
public BaseObject target;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ca6b4bec9c144295aea00cdc29734123
|
||||
timeCreated: 1761916109
|
||||
@@ -0,0 +1,11 @@
|
||||
using RPGCore.Core.Objects;
|
||||
using RPGCore.ObjectModules.EventObjectModule;
|
||||
|
||||
namespace IntoTheAbyss.Events
|
||||
{
|
||||
public class ReviveEvent : BasePreventableEvent<BaseObject>
|
||||
{
|
||||
public BaseObject target;
|
||||
public int health = 1;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9265dd36334c484ea0d50860f29e2828
|
||||
timeCreated: 1761918206
|
||||
@@ -0,0 +1,12 @@
|
||||
using RPGCore.Core.Objects;
|
||||
using RPGCore.ObjectModules.EventObjectModule;
|
||||
using UnityEngine;
|
||||
|
||||
namespace IntoTheAbyss.Events
|
||||
{
|
||||
public class RotateEvent : BasePreventableEvent<UnitObject>
|
||||
{
|
||||
public UnitObject unit;
|
||||
public Vector3 direction;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: aead2bc8f12143ccbd0c6bb9f08c0a32
|
||||
timeCreated: 1764942734
|
||||
@@ -0,0 +1,14 @@
|
||||
using RPGCore.StatusEffect.ObjectModules.StatusObjectModule;
|
||||
using RPGCoreCommon.Settings;
|
||||
using UnityEngine;
|
||||
|
||||
namespace IntoTheAbyss.Runtime.Scripts
|
||||
{
|
||||
public class IntoTheAbyssSettings : CustomSettingsSO
|
||||
{
|
||||
[Header("Statuses Definitions")]
|
||||
public StatusDefinitionSO runStatusDefinitionSO;
|
||||
public StatusDefinitionSO deathStatusDefinitionSO;
|
||||
public StatusDefinitionSO notMovableStatusDefinitionSO;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8d9c2cbf911d4c51988312db311193d6
|
||||
timeCreated: 1767171139
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c4fe03f7fce8460eb49e3c35f17731db
|
||||
timeCreated: 1767397483
|
||||
@@ -0,0 +1,40 @@
|
||||
using IntoTheAbyss.Events;
|
||||
using IntoTheAbyss.Runtime.Scripts;
|
||||
using RPGCore.Core.Objects;
|
||||
using RPGCore.ObjectModules.EventObjectModule;
|
||||
using RPGCore.StatusEffect.ObjectModules.StatusObjectModule;
|
||||
using RPGCoreCommon.Settings;
|
||||
|
||||
namespace IntoTheAbyss.ObjectExtensions
|
||||
{
|
||||
public static class BaseObjectExtensions
|
||||
{
|
||||
/// <summary>Try to kill this object.</summary>
|
||||
public static void Death(this BaseObject obj)
|
||||
{
|
||||
var deathStatusDefinitionSO = SettingsManager.Get<IntoTheAbyssSettings>().deathStatusDefinitionSO;
|
||||
if (obj.GetComponent<StatusModule>().Check(deathStatusDefinitionSO)) return;
|
||||
|
||||
var deathEvent = new DeathEvent { target = obj };
|
||||
|
||||
obj.events.InvokeBefore(deathEvent);
|
||||
if (deathEvent.isPrevented) return;
|
||||
obj.GetComponent<StatusModule>().Apply(deathStatusDefinitionSO);
|
||||
obj.events.InvokeAfter(deathEvent);
|
||||
}
|
||||
|
||||
/// <summary>Try to revive this object.</summary>
|
||||
public static void Revive(this BaseObject obj)
|
||||
{
|
||||
var deathStatusDefinitionSO = SettingsManager.Get<IntoTheAbyssSettings>().deathStatusDefinitionSO;
|
||||
if (obj.GetComponent<StatusModule>().Check(deathStatusDefinitionSO) == false) return;
|
||||
|
||||
var reviveEvent = new ReviveEvent { target = obj };
|
||||
|
||||
obj.events.InvokeBefore(reviveEvent);
|
||||
if (reviveEvent.isPrevented) return;
|
||||
obj.GetComponent<StatusModule>().Remove(deathStatusDefinitionSO);
|
||||
obj.events.InvokeAfter(reviveEvent);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 35f9d19d383e43269ac36578ef76eb05
|
||||
timeCreated: 1767397492
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9ddf06061c1042f397714b0745babec8
|
||||
timeCreated: 1766851215
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e9ff66057327416b953851c27a078218
|
||||
timeCreated: 1766851215
|
||||
Reference in New Issue
Block a user