-
Notifications
You must be signed in to change notification settings - Fork 9
/
Facade.reds
118 lines (90 loc) · 3.97 KB
/
Facade.reds
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
import EquipmentEx.OutfitSystem
public abstract class EquipmentEx {
public static func Version() -> String = "1.1.9";
public static func Activate(game: GameInstance) {
OutfitSystem.GetInstance(game).Activate();
}
public static func Reactivate(game: GameInstance) {
OutfitSystem.GetInstance(game).Reactivate();
}
public static func Deactivate(game: GameInstance) {
OutfitSystem.GetInstance(game).Deactivate();
}
public static func EquipItem(game: GameInstance, itemID: TweakDBID) {
OutfitSystem.GetInstance(game).EquipItem(itemID);
}
public static func EquipItem(game: GameInstance, itemID: TweakDBID, slotID: TweakDBID) {
OutfitSystem.GetInstance(game).EquipItem(itemID, slotID);
}
public static func UnequipItem(game: GameInstance, itemID: TweakDBID) {
OutfitSystem.GetInstance(game).UnequipItem(itemID);
}
public static func UnequipSlot(game: GameInstance, slotID: TweakDBID) {
OutfitSystem.GetInstance(game).UnequipSlot(slotID);
}
public static func UnequipAll(game: GameInstance) {
OutfitSystem.GetInstance(game).UnequipAll();
}
public static func PrintItems(game: GameInstance) {
let outfitSystem = OutfitSystem.GetInstance(game);
let usedSlots = outfitSystem.GetUsedSlots();
if ArraySize(usedSlots) > 0 {
let transactionSystem = GameInstance.GetTransactionSystem(game);
let player = GetPlayer(game);
EquipmentEx.Print("=== Equipped Items ===");
for slotID in usedSlots {
let itemID = transactionSystem.GetItemInSlot(player, slotID).GetItemID();
EquipmentEx.Print(s"\(outfitSystem.GetSlotName(slotID)) : \(outfitSystem.GetItemName(itemID))");
}
EquipmentEx.Print("===");
} else {
EquipmentEx.Print("=== No Equipped Items ===");
}
}
public static func ExportItems(game: GameInstance) {
let outfitSystem = OutfitSystem.GetInstance(game);
let usedSlots = outfitSystem.GetUsedSlots();
if ArraySize(usedSlots) > 0 {
let transactionSystem = GameInstance.GetTransactionSystem(game);
let player = GetPlayer(game);
let command = "";
for slotID in usedSlots {
let itemID = transactionSystem.GetItemInSlot(player, slotID).GetItemID();
command += s"EquipmentEx.EquipItem(\"\(TDBID.ToStringDEBUG(ItemID.GetTDBID(itemID)))\") ";
}
EquipmentEx.Print(command);
}
}
public static func LoadOutfit(game: GameInstance, name: CName) {
OutfitSystem.GetInstance(game).LoadOutfit(name);
}
public static func SaveOutfit(game: GameInstance, name: String) {
OutfitSystem.GetInstance(game).SaveOutfit(StringToName(name), true);
}
public static func CopyOutfit(game: GameInstance, name: String, from: CName) {
OutfitSystem.GetInstance(game).CopyOutfit(StringToName(name), from);
}
public static func DeleteOutfit(game: GameInstance, name: CName) {
OutfitSystem.GetInstance(game).DeleteOutfit(name);
}
public static func DeleteAllOutfits(game: GameInstance) {
OutfitSystem.GetInstance(game).DeleteAllOutfits();
EquipmentEx.Print("All outfits deleted");
}
public static func PrintOutfits(game: GameInstance) {
let outfitSystem = OutfitSystem.GetInstance(game);
let outfitNames = outfitSystem.GetOutfits();
if ArraySize(outfitNames) > 0 {
EquipmentEx.Print("=== Saved Outfits ===");
for outfitName in outfitNames {
EquipmentEx.Print(NameToString(outfitName));
}
EquipmentEx.Print("===");
} else {
EquipmentEx.Print("=== No Saved Outfits ===");
}
}
private static func Print(const str: script_ref<String>) {
// LogChannel(n"DEBUG", str);
}
}