Skip to content

Commit 16e1e99

Browse files
committed
Oups
This reverts commit a882de1. doc: Damage Handlers change
1 parent b0a7d29 commit 16e1e99

File tree

2 files changed

+72
-36
lines changed

2 files changed

+72
-36
lines changed

EXILED/docs/articles/SCPSLRessources/NW_Documentation.md

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313

1414

1515

16+
17+
1618
---
1719
title: NW Documentation
1820
---
@@ -5855,28 +5857,29 @@ All available DamageHandlers
58555857
* In C#, inheritance is a process in which one object acquires all the properties and behaviors of its parent object automatically.
58565858

58575859

5858-
Scp956DamageHandler : StandardDamageHandler
5859-
SnowballDamageHandler : AttackerDamageHandler
5860-
PlayerStatsSystem.CustomReasonDamageHandler : StandardDamageHandler
5861-
PlayerStatsSystem.CustomReasonFirearmDamageHandler : FirearmDamageHandler
5862-
PlayerStatsSystem.DisruptorDamageHandler : AttackerDamageHandler
5863-
PlayerStatsSystem.ExplosionDamageHandler : AttackerDamageHandler
5864-
PlayerStatsSystem.FirearmDamageHandler : AttackerDamageHandler
5865-
PlayerStatsSystem.GrayCandyDamageHandler : AttackerDamageHandler
5866-
PlayerStatsSystem.JailbirdDamageHandler : AttackerDamageHandler
5867-
PlayerStatsSystem.MicroHidDamageHandler : AttackerDamageHandler
5868-
PlayerStatsSystem.RecontainmentDamageHandler : AttackerDamageHandler
5869-
PlayerStatsSystem.Scp018DamageHandler : AttackerDamageHandler
5870-
PlayerStatsSystem.Scp049DamageHandler : ScpDamageHandler
5871-
PlayerStatsSystem.Scp096DamageHandler : ScpDamageHandler
5872-
PlayerStatsSystem.ScpDamageHandler : AttackerDamageHandler
5873-
PlayerStatsSystem.SilentDamageHandler : StandardDamageHandler
5874-
PlayerStatsSystem.UniversalDamageHandler : StandardDamageHandler
5875-
PlayerStatsSystem.WarheadDamageHandler : StandardDamageHandler
5876-
PlayerRoles.PlayableScps.Scp939.Scp939DamageHandler : AttackerDamageHandler
5877-
PlayerRoles.PlayableScps.Scp3114.Scp3114DamageHandler : AttackerDamageHandler
5878-
PlayerRoles.PlayableScps.Scp1507.Scp1507DamageHandler : AttackerDamageHandler
5879-
InventorySystem.Items.Scp1509.Scp1509DamageHandler : AttackerDamageHandler
5860+
- PlayerStatsSystem.DamageHandlerBase
5861+
- PlayerStatsSystem.DisruptorDamageHandler : PlayerStatsSystem.AttackerDamageHandler
5862+
- PlayerStatsSystem.ExplosionDamageHandler : PlayerStatsSystem.AttackerDamageHandler
5863+
- PlayerStatsSystem.FirearmDamageHandler : PlayerStatsSystem.AttackerDamageHandler
5864+
- PlayerStatsSystem.CustomReasonFirearmDamageHandler : PlayerStatsSystem.FirearmDamageHandler
5865+
- PlayerStatsSystem.GrayCandyDamageHandler : PlayerStatsSystem.AttackerDamageHandler
5866+
- PlayerStatsSystem.JailbirdDamageHandler : PlayerStatsSystem.AttackerDamageHandler
5867+
- PlayerStatsSystem.MicroHidDamageHandler : PlayerStatsSystem.AttackerDamageHandler
5868+
- PlayerStatsSystem.RecontainmentDamageHandler : PlayerStatsSystem.AttackerDamageHandler
5869+
- PlayerStatsSystem.Scp018DamageHandler : PlayerStatsSystem.AttackerDamageHandler
5870+
- PlayerRoles.PlayableScps.Scp1507.Scp1507DamageHandler : PlayerStatsSystem.AttackerDamageHandler
5871+
- InventorySystem.Items.Scp1509.Scp1509DamageHandler : PlayerStatsSystem.AttackerDamageHandler
5872+
- PlayerRoles.PlayableScps.Scp3114.Scp3114DamageHandler : PlayerStatsSystem.AttackerDamageHandler
5873+
- PlayerRoles.PlayableScps.Scp939.Scp939DamageHandler : PlayerStatsSystem.AttackerDamageHandler
5874+
- PlayerStatsSystem.ScpDamageHandler : PlayerStatsSystem.AttackerDamageHandler
5875+
- PlayerStatsSystem.Scp049DamageHandler : PlayerStatsSystem.ScpDamageHandler
5876+
- PlayerStatsSystem.Scp096DamageHandler : PlayerStatsSystem.ScpDamageHandler
5877+
- SnowballDamageHandler : PlayerStatsSystem.AttackerDamageHandler
5878+
- PlayerStatsSystem.CustomReasonDamageHandler : PlayerStatsSystem.StandardDamageHandler
5879+
- Scp956DamageHandler : PlayerStatsSystem.StandardDamageHandler
5880+
- PlayerStatsSystem.SilentDamageHandler : PlayerStatsSystem.StandardDamageHandler
5881+
- PlayerStatsSystem.UniversalDamageHandler : PlayerStatsSystem.StandardDamageHandler
5882+
- PlayerStatsSystem.WarheadDamageHandler : PlayerStatsSystem.StandardDamageHandler
58805883

58815884
```
58825885
</details>

EXILED/docs/articles/SCPSLRessources/NW_Documentation.tt

Lines changed: 47 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
<#@ import namespace="Exiled.API.Enums" #>
1010
<#@ import namespace="Exiled.API.Extensions" #>
1111
<#@ import namespace="System.Linq" #>
12+
<#@ import namespace="System.Collections.Generic" #>
13+
<#@ import namespace="PlayerStatsSystem" #>
1214
<#@ import namespace="System.Reflection" #>
1315
<#@ import namespace="PlayerRoles" #>
1416
<#@ output extension=".md" #>
@@ -95,23 +97,54 @@ All available DamageHandlers
9597

9698

9799
<#
98-
string alldamagehandler = string.Empty;
99-
// Load the assembly
100-
var assembly2 = typeof(BanPlayer).Assembly;
101-
Type[] types2 = null;
102-
try
103-
{
104-
types2 = assembly2.GetTypes();
105-
}
106-
catch (ReflectionTypeLoadException e)
107-
{
108-
types2 = e.Types;
109-
}
100+
string alldamagehandler = string.Empty;
101+
102+
// Load the assembly
103+
var assembly2 = typeof(BanPlayer).Assembly;
104+
Type[] types2 = null;
105+
106+
try
107+
{
108+
types2 = assembly2.GetTypes();
109+
}
110+
catch (ReflectionTypeLoadException e)
111+
{
112+
types2 = e.Types;
113+
}
114+
115+
try
116+
{
117+
Type baseDamageHandler = typeof(PlayerStatsSystem.DamageHandlerBase);
118+
var damageHandlers =
119+
types2.Where(t =>
120+
t != null &&
121+
t.IsClass &&
122+
baseDamageHandler.IsAssignableFrom(t));
123+
124+
WriteLine(" - " + baseDamageHandler.FullName);
125+
PrintTree(baseDamageHandler, 1);
110126

111-
foreach (Type type2 in types2.Where(t => t != null && t.IsClass && !t.IsAbstract && t.IsSubclassOf(typeof(PlayerStatsSystem.DamageHandlerBase))))
127+
void PrintTree(Type parent, int depth)
112128
{
113-
WriteLine($"{type2.FullName} : {type2.BaseType.Name}");
129+
var children = types2
130+
.Where(t => t != null && t.BaseType == parent)
131+
.OrderBy(t => t.Name);
132+
133+
foreach (var child in children)
134+
{
135+
// Print only concrete classes, or include abstract if you want
136+
if (!child.IsAbstract)
137+
WriteLine($"{new string(' ', depth * 2)}- {child.FullName} : {child.BaseType.FullName}");
138+
139+
// Recurse to process children correctly
140+
PrintTree(child, depth + 1);
141+
}
114142
}
143+
}
144+
catch (Exception ex)
145+
{
146+
WriteLine(ex.ToString());
147+
}
115148
#>
116149
```
117150
</details>

0 commit comments

Comments
 (0)