-
Notifications
You must be signed in to change notification settings - Fork 0
/
NoHeliFire.cs
77 lines (56 loc) · 2.28 KB
/
NoHeliFire.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
using Newtonsoft.Json;
using UnityEngine;
namespace Oxide.Plugins
{
[Info("No Heli Fire", "Tryhard", "1.1.5")]
[Description("Optionally removes the explosion sound, gibs and fire effect from mini- and scrap helicopters")]
public class NoHeliFire : RustPlugin
{
private ConfigData configData = new ConfigData();
private class ConfigData
{
[JsonProperty(PropertyName = "Disable minicopter gibs")]
public bool mGibs = true;
[JsonProperty(PropertyName = "Disable minicopter fire")]
public bool mFire = true;
[JsonProperty(PropertyName = "Disable minicopter explosion sound")]
public bool mExplo = true;
[JsonProperty(PropertyName = "Disable scraphelicopter gibs")]
public bool sGibs = true;
[JsonProperty(PropertyName = "Disable scraphelicopter explosion sound")]
public bool sExplo = true;
[JsonProperty(PropertyName = "Disable scraphelicopter fire ")]
public bool sFire = true;
}
protected override void LoadConfig()
{
base.LoadConfig();
try
{
configData = Config.ReadObject<ConfigData>();
if (configData == null) LoadDefaultConfig();
}
catch
{
PrintError("Configuration file is corrupt, check your config file at https://jsonlint.com/!");
LoadDefaultConfig();
return;
}
SaveConfig();
}
protected override void LoadDefaultConfig() => configData = new ConfigData();
protected override void SaveConfig() => Config.WriteObject(configData);
private void OnEntitySpawned(ScrapTransportHelicopter entity)
{
if (configData.sExplo) entity.explosionEffect.guid = null;
if (configData.sFire) entity.fireBall.guid = null;
if (configData.sGibs) entity.serverGibs.guid = null;
}
private void OnEntitySpawned(MiniCopter entity)
{
if (configData.mExplo) entity.explosionEffect.guid = null;
if (configData.mFire) entity.fireBall.guid = null;
if (configData.mGibs) entity.serverGibs.guid = null;
}
}
}