-
Notifications
You must be signed in to change notification settings - Fork 0
/
SuperSlime.cs
46 lines (39 loc) · 1.54 KB
/
SuperSlime.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
using System;
using System.Reflection;
using Terraria;
using TerrariaApi.Server;
using TShockAPI;
namespace SuperSlime
{
[ApiVersion(2, 1)]
public class SuperSlime : TerrariaPlugin {
public override string Name => "SuperSlime";
public override string Author => "Comdar";
public override string Description => "Spawn King Slime with custom parameters.";
public override Version Version => Assembly.GetExecutingAssembly().GetName().Version;
public SuperSlime(Main game) : base(game) {
}
public override void Initialize() {
ServerApi.Hooks.GameInitialize.Register(this, OnInitialize);
}
protected override void Dispose(bool disposing) {
if (disposing) {
ServerApi.Hooks.GameInitialize.Deregister(this, OnInitialize);
}
base.Dispose(disposing);
}
private void OnInitialize(EventArgs args) {
Commands.ChatCommands.Add(new Command("superslime", Superslime, "superslime") { HelpText = "Usage: /superslime <hp>" });
}
private void Superslime(CommandArgs args) {
int hp;
if (args.Parameters.Count == 1 && Int32.TryParse(args.Parameters[0], out hp)) {
int npcid = NPC.NewNPC((int)args.Player.X, (int)args.Player.Y, 50);
Main.npc[npcid].SetDefaults(50);
Main.npc[npcid].life = hp;
} else {
args.Player.SendErrorMessage("Incorrect syntax. Type /superslime <hp>");
}
}
}
}