1 module d2dadefs
is aliced
;
7 // ////////////////////////////////////////////////////////////////////////// //
8 // known D2D actors (and pseudoactors)
9 public struct ActorDefD2D
{
13 ushort mapid
; // thing id in map
15 this (string ctype
, string cname
, ushort thid
) { classtype
= ctype
; classname
= cname
; fullname
= classtype
~":"~classname
; mapid
= thid
; }
17 string
toString () const {
18 import std
.string
: format
;
19 return "ActorDefD2D(%s, %s, %s)".format(classtype
/*.quote*/, classname
/*.quote*/, mapid
);
23 immutable ActorDefD2D
[$] d2dactordefs
= [
24 ActorDefD2D("playerstart", "Player1", 1),
25 ActorDefD2D("playerstart", "Player2", 2),
26 ActorDefD2D("playerstart", "DMStart", 3),
27 ActorDefD2D("item", "Clip", 100),
28 ActorDefD2D("item", "Shell", 101),
29 ActorDefD2D("item", "Rocket", 102),
30 ActorDefD2D("item", "Cell", 103),
31 ActorDefD2D("item", "Ammo", 104),
32 ActorDefD2D("item", "ShellBox", 105),
33 ActorDefD2D("item", "RocketBox", 106),
34 ActorDefD2D("item", "CellPack", 107),
35 ActorDefD2D("item", "StimPack", 108),
36 ActorDefD2D("item", "MediKit", 109),
37 ActorDefD2D("item", "BackPack", 110),
38 ActorDefD2D("item", "Chainsaw", 111),
39 ActorDefD2D("item", "Shotgun", 112),
40 ActorDefD2D("item", "SuperShotgun", 113),
41 ActorDefD2D("item", "MachineGun", 114),
42 ActorDefD2D("item", "RocketLauncher", 115),
43 ActorDefD2D("item", "Plasmagun", 116),
44 ActorDefD2D("item", "BFG900", 117),
45 ActorDefD2D("item", "Armor1", 118),
46 ActorDefD2D("item", "Armor2", 119),
47 ActorDefD2D("item", "MegaSphere", 120),
48 ActorDefD2D("item", "Invulnerability", 121),
49 ActorDefD2D("item", "Aqualung", 122),
50 ActorDefD2D("item", "RedKey", 123),
51 ActorDefD2D("item", "GreenKey", 124),
52 ActorDefD2D("item", "BlueKey", 125),
53 ActorDefD2D("item", "ProtectionSuit", 126),
54 ActorDefD2D("item", "Super", 127),
55 ActorDefD2D("item", "RedTorch", 128),
56 ActorDefD2D("item", "GreenTorch", 129),
57 ActorDefD2D("item", "BlueTorch", 130),
58 ActorDefD2D("item", "Gor1", 131),
59 ActorDefD2D("item", "FCan", 132),
60 ActorDefD2D("item", "Gun2", 133),
61 ActorDefD2D("monster", "Demon", 200),
62 ActorDefD2D("monster", "Imp", 201),
63 ActorDefD2D("monster", "Zombie", 202),
64 ActorDefD2D("monster", "Sergeant", 203),
65 ActorDefD2D("monster", "Cyberdemon", 204),
66 ActorDefD2D("monster", "Chaingunner", 205),
67 ActorDefD2D("monster", "BaronOfHell", 206),
68 ActorDefD2D("monster", "HellKnight", 207),
69 ActorDefD2D("monster", "Cacodemon", 208),
70 ActorDefD2D("monster", "LostSoul", 209),
71 ActorDefD2D("monster", "PainElemental", 210),
72 ActorDefD2D("monster", "SpiderMastermind", 211),
73 ActorDefD2D("monster", "Arachnotron", 212),
74 ActorDefD2D("monster", "Mancubus", 213),
75 ActorDefD2D("monster", "Revenant", 214),
76 ActorDefD2D("monster", "Archvile", 215),
77 ActorDefD2D("monster", "Fish", 216),
78 ActorDefD2D("monster", "Barrel", 217),
79 ActorDefD2D("monster", "Robot", 218),
80 ActorDefD2D("monster", "Man", 219),
84 public immutable ActorDefD2D
[ushort] d2dactordefsById
;
86 shared static this () {
87 foreach (const ref ActorDefD2D d2da
; d2dactordefs
) {
88 d2dactordefsById
[d2da
.mapid
] = d2da
;
89 //d2dactordefsByTN[d2da.fullname] = d2da;