pet-terminal 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +268 -0
- package/dist/commands/care.d.ts +3 -0
- package/dist/commands/care.d.ts.map +1 -0
- package/dist/commands/care.js +103 -0
- package/dist/commands/care.js.map +1 -0
- package/dist/commands/clean.d.ts +3 -0
- package/dist/commands/clean.d.ts.map +1 -0
- package/dist/commands/clean.js +105 -0
- package/dist/commands/clean.js.map +1 -0
- package/dist/commands/feed.d.ts +3 -0
- package/dist/commands/feed.d.ts.map +1 -0
- package/dist/commands/feed.js +106 -0
- package/dist/commands/feed.js.map +1 -0
- package/dist/commands/git.d.ts +3 -0
- package/dist/commands/git.d.ts.map +1 -0
- package/dist/commands/git.js +138 -0
- package/dist/commands/git.js.map +1 -0
- package/dist/commands/heal.d.ts +3 -0
- package/dist/commands/heal.d.ts.map +1 -0
- package/dist/commands/heal.js +106 -0
- package/dist/commands/heal.js.map +1 -0
- package/dist/commands/init.d.ts +3 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +89 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/inventory.d.ts +3 -0
- package/dist/commands/inventory.d.ts.map +1 -0
- package/dist/commands/inventory.js +113 -0
- package/dist/commands/inventory.js.map +1 -0
- package/dist/commands/play.d.ts +3 -0
- package/dist/commands/play.d.ts.map +1 -0
- package/dist/commands/play.js +110 -0
- package/dist/commands/play.js.map +1 -0
- package/dist/commands/shop.d.ts +3 -0
- package/dist/commands/shop.d.ts.map +1 -0
- package/dist/commands/shop.js +197 -0
- package/dist/commands/shop.js.map +1 -0
- package/dist/commands/sleep.d.ts +3 -0
- package/dist/commands/sleep.d.ts.map +1 -0
- package/dist/commands/sleep.js +48 -0
- package/dist/commands/sleep.js.map +1 -0
- package/dist/commands/status.d.ts +3 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +98 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/sync.d.ts +3 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +66 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/tutorial.d.ts +3 -0
- package/dist/commands/tutorial.d.ts.map +1 -0
- package/dist/commands/tutorial.js +210 -0
- package/dist/commands/tutorial.js.map +1 -0
- package/dist/core/auto-care.d.ts +63 -0
- package/dist/core/auto-care.d.ts.map +1 -0
- package/dist/core/auto-care.js +295 -0
- package/dist/core/auto-care.js.map +1 -0
- package/dist/core/config.d.ts +89 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +195 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/database.d.ts +29 -0
- package/dist/core/database.d.ts.map +1 -0
- package/dist/core/database.js +81 -0
- package/dist/core/database.js.map +1 -0
- package/dist/core/inventory.d.ts +63 -0
- package/dist/core/inventory.d.ts.map +1 -0
- package/dist/core/inventory.js +140 -0
- package/dist/core/inventory.js.map +1 -0
- package/dist/core/level-system.d.ts +32 -0
- package/dist/core/level-system.d.ts.map +1 -0
- package/dist/core/level-system.js +76 -0
- package/dist/core/level-system.js.map +1 -0
- package/dist/core/pet.d.ts +123 -0
- package/dist/core/pet.d.ts.map +1 -0
- package/dist/core/pet.js +781 -0
- package/dist/core/pet.js.map +1 -0
- package/dist/core/shop.d.ts +93 -0
- package/dist/core/shop.d.ts.map +1 -0
- package/dist/core/shop.js +205 -0
- package/dist/core/shop.js.map +1 -0
- package/dist/core/time-decay.d.ts +30 -0
- package/dist/core/time-decay.d.ts.map +1 -0
- package/dist/core/time-decay.js +149 -0
- package/dist/core/time-decay.js.map +1 -0
- package/dist/core/welcome.d.ts +31 -0
- package/dist/core/welcome.d.ts.map +1 -0
- package/dist/core/welcome.js +180 -0
- package/dist/core/welcome.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +80 -0
- package/dist/index.js.map +1 -0
- package/dist/monitor/git-monitor.d.ts +90 -0
- package/dist/monitor/git-monitor.d.ts.map +1 -0
- package/dist/monitor/git-monitor.js +342 -0
- package/dist/monitor/git-monitor.js.map +1 -0
- package/dist/types/auto-care.d.ts +86 -0
- package/dist/types/auto-care.d.ts.map +1 -0
- package/dist/types/auto-care.js +15 -0
- package/dist/types/auto-care.js.map +1 -0
- package/dist/types/config.d.ts +42 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +24 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/git.d.ts +68 -0
- package/dist/types/git.d.ts.map +1 -0
- package/dist/types/git.js +14 -0
- package/dist/types/git.js.map +1 -0
- package/dist/types/items.d.ts +41 -0
- package/dist/types/items.d.ts.map +1 -0
- package/dist/types/items.js +286 -0
- package/dist/types/items.js.map +1 -0
- package/dist/types/pet.d.ts +42 -0
- package/dist/types/pet.d.ts.map +1 -0
- package/dist/types/pet.js +16 -0
- package/dist/types/pet.js.map +1 -0
- package/dist/types/species.d.ts +30 -0
- package/dist/types/species.d.ts.map +1 -0
- package/dist/types/species.js +164 -0
- package/dist/types/species.js.map +1 -0
- package/dist/types/stats.d.ts +22 -0
- package/dist/types/stats.d.ts.map +1 -0
- package/dist/types/stats.js +18 -0
- package/dist/types/stats.js.map +1 -0
- package/dist/types/time.d.ts +30 -0
- package/dist/types/time.d.ts.map +1 -0
- package/dist/types/time.js +79 -0
- package/dist/types/time.js.map +1 -0
- package/dist/ui/ascii-art.d.ts +4 -0
- package/dist/ui/ascii-art.d.ts.map +1 -0
- package/dist/ui/ascii-art.js +170 -0
- package/dist/ui/ascii-art.js.map +1 -0
- package/dist/ui/display.d.ts +11 -0
- package/dist/ui/display.d.ts.map +1 -0
- package/dist/ui/display.js +93 -0
- package/dist/ui/display.js.map +1 -0
- package/dist/ui/help.d.ts +17 -0
- package/dist/ui/help.d.ts.map +1 -0
- package/dist/ui/help.js +280 -0
- package/dist/ui/help.js.map +1 -0
- package/dist/ui/progress-bar.d.ts +9 -0
- package/dist/ui/progress-bar.d.ts.map +1 -0
- package/dist/ui/progress-bar.js +57 -0
- package/dist/ui/progress-bar.js.map +1 -0
- package/package.json +61 -0
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getRarityIcon = exports.getRarityColor = exports.getStartingInventory = exports.getItemsByType = exports.getItem = exports.ITEMS = exports.ItemRarity = exports.ItemType = void 0;
|
|
4
|
+
var ItemType;
|
|
5
|
+
(function (ItemType) {
|
|
6
|
+
ItemType["FOOD"] = "food";
|
|
7
|
+
ItemType["TOY"] = "toy";
|
|
8
|
+
ItemType["CLEANING"] = "cleaning";
|
|
9
|
+
ItemType["MEDICINE"] = "medicine";
|
|
10
|
+
})(ItemType || (exports.ItemType = ItemType = {}));
|
|
11
|
+
var ItemRarity;
|
|
12
|
+
(function (ItemRarity) {
|
|
13
|
+
ItemRarity["COMMON"] = "common";
|
|
14
|
+
ItemRarity["RARE"] = "rare";
|
|
15
|
+
ItemRarity["EPIC"] = "epic";
|
|
16
|
+
ItemRarity["LEGENDARY"] = "legendary";
|
|
17
|
+
})(ItemRarity || (exports.ItemRarity = ItemRarity = {}));
|
|
18
|
+
// Item definitions database
|
|
19
|
+
exports.ITEMS = {
|
|
20
|
+
// ===== FOOD =====
|
|
21
|
+
fish: {
|
|
22
|
+
id: 'fish',
|
|
23
|
+
name: 'Fresh Fish',
|
|
24
|
+
type: ItemType.FOOD,
|
|
25
|
+
rarity: ItemRarity.COMMON,
|
|
26
|
+
description: 'A delicious fish. Restores hunger well.',
|
|
27
|
+
emoji: '🐟',
|
|
28
|
+
effect: { hunger: 30, happiness: 5, health: 2 },
|
|
29
|
+
xpReward: 10,
|
|
30
|
+
price: 10,
|
|
31
|
+
},
|
|
32
|
+
premium_food: {
|
|
33
|
+
id: 'premium_food',
|
|
34
|
+
name: 'Premium Pet Food',
|
|
35
|
+
type: ItemType.FOOD,
|
|
36
|
+
rarity: ItemRarity.COMMON,
|
|
37
|
+
description: 'Nutritious pet food. Good for daily feeding.',
|
|
38
|
+
emoji: '🥫',
|
|
39
|
+
effect: { hunger: 20, happiness: 3, health: 1 },
|
|
40
|
+
xpReward: 8,
|
|
41
|
+
price: 5,
|
|
42
|
+
},
|
|
43
|
+
steak: {
|
|
44
|
+
id: 'steak',
|
|
45
|
+
name: 'Juicy Steak',
|
|
46
|
+
type: ItemType.FOOD,
|
|
47
|
+
rarity: ItemRarity.RARE,
|
|
48
|
+
description: 'A high-quality steak. Very filling!',
|
|
49
|
+
emoji: '🥩',
|
|
50
|
+
effect: { hunger: 40, happiness: 10, health: 3 },
|
|
51
|
+
xpReward: 15,
|
|
52
|
+
price: 25,
|
|
53
|
+
},
|
|
54
|
+
treat: {
|
|
55
|
+
id: 'treat',
|
|
56
|
+
name: 'Yummy Treat',
|
|
57
|
+
type: ItemType.FOOD,
|
|
58
|
+
rarity: ItemRarity.COMMON,
|
|
59
|
+
description: 'A small snack. Not very filling but makes pets happy!',
|
|
60
|
+
emoji: '🦴',
|
|
61
|
+
effect: { hunger: 10, happiness: 15, health: -2 },
|
|
62
|
+
xpReward: 8,
|
|
63
|
+
price: 8,
|
|
64
|
+
},
|
|
65
|
+
cake: {
|
|
66
|
+
id: 'cake',
|
|
67
|
+
name: 'Birthday Cake',
|
|
68
|
+
type: ItemType.FOOD,
|
|
69
|
+
rarity: ItemRarity.EPIC,
|
|
70
|
+
description: 'A special cake for celebrations!',
|
|
71
|
+
emoji: '🎂',
|
|
72
|
+
effect: { hunger: 25, happiness: 30, health: -5, energy: 5 },
|
|
73
|
+
xpReward: 25,
|
|
74
|
+
price: 50,
|
|
75
|
+
},
|
|
76
|
+
dragon_gem: {
|
|
77
|
+
id: 'dragon_gem',
|
|
78
|
+
name: 'Magic Gem',
|
|
79
|
+
type: ItemType.FOOD,
|
|
80
|
+
rarity: ItemRarity.LEGENDARY,
|
|
81
|
+
description: 'A magical gem that dragons love to eat!',
|
|
82
|
+
emoji: '💎',
|
|
83
|
+
effect: { hunger: 50, happiness: 20, health: 10, energy: 10 },
|
|
84
|
+
xpReward: 50,
|
|
85
|
+
price: 100,
|
|
86
|
+
},
|
|
87
|
+
// ===== TOYS =====
|
|
88
|
+
ball: {
|
|
89
|
+
id: 'ball',
|
|
90
|
+
name: 'Tennis Ball',
|
|
91
|
+
type: ItemType.TOY,
|
|
92
|
+
rarity: ItemRarity.COMMON,
|
|
93
|
+
description: 'A simple ball for playing fetch.',
|
|
94
|
+
emoji: '🎾',
|
|
95
|
+
effect: { happiness: 20, energy: -15 },
|
|
96
|
+
xpReward: 12,
|
|
97
|
+
price: 15,
|
|
98
|
+
},
|
|
99
|
+
frisbee: {
|
|
100
|
+
id: 'frisbee',
|
|
101
|
+
name: 'Frisbee',
|
|
102
|
+
type: ItemType.TOY,
|
|
103
|
+
rarity: ItemRarity.COMMON,
|
|
104
|
+
description: 'Great for outdoor play!',
|
|
105
|
+
emoji: '🥏',
|
|
106
|
+
effect: { happiness: 25, energy: -20, health: 2 },
|
|
107
|
+
xpReward: 15,
|
|
108
|
+
price: 20,
|
|
109
|
+
},
|
|
110
|
+
laser_pointer: {
|
|
111
|
+
id: 'laser_pointer',
|
|
112
|
+
name: 'Laser Pointer',
|
|
113
|
+
type: ItemType.TOY,
|
|
114
|
+
rarity: ItemRarity.RARE,
|
|
115
|
+
description: 'Endless entertainment for curious pets!',
|
|
116
|
+
emoji: '🔴',
|
|
117
|
+
effect: { happiness: 35, energy: -10 },
|
|
118
|
+
xpReward: 20,
|
|
119
|
+
price: 30,
|
|
120
|
+
},
|
|
121
|
+
squeaky_toy: {
|
|
122
|
+
id: 'squeaky_toy',
|
|
123
|
+
name: 'Squeaky Toy',
|
|
124
|
+
type: ItemType.TOY,
|
|
125
|
+
rarity: ItemRarity.COMMON,
|
|
126
|
+
description: 'Makes funny noises when chewed.',
|
|
127
|
+
emoji: '🦖',
|
|
128
|
+
effect: { happiness: 18, energy: -12 },
|
|
129
|
+
xpReward: 10,
|
|
130
|
+
price: 12,
|
|
131
|
+
},
|
|
132
|
+
stuffed_animal: {
|
|
133
|
+
id: 'stuffed_animal',
|
|
134
|
+
name: 'Stuffed Animal',
|
|
135
|
+
type: ItemType.TOY,
|
|
136
|
+
rarity: ItemRarity.RARE,
|
|
137
|
+
description: 'A soft toy for snuggling.',
|
|
138
|
+
emoji: '🧸',
|
|
139
|
+
effect: { happiness: 15, energy: 5 },
|
|
140
|
+
xpReward: 12,
|
|
141
|
+
price: 25,
|
|
142
|
+
},
|
|
143
|
+
// ===== CLEANING SUPPLIES =====
|
|
144
|
+
soap: {
|
|
145
|
+
id: 'soap',
|
|
146
|
+
name: 'Pet Soap',
|
|
147
|
+
type: ItemType.CLEANING,
|
|
148
|
+
rarity: ItemRarity.COMMON,
|
|
149
|
+
description: 'Basic soap for cleaning your pet.',
|
|
150
|
+
emoji: '🧼',
|
|
151
|
+
effect: { cleanliness: 35, happiness: -3 },
|
|
152
|
+
xpReward: 8,
|
|
153
|
+
price: 10,
|
|
154
|
+
},
|
|
155
|
+
shampoo: {
|
|
156
|
+
id: 'shampoo',
|
|
157
|
+
name: 'Fancy Shampoo',
|
|
158
|
+
type: ItemType.CLEANING,
|
|
159
|
+
rarity: ItemRarity.RARE,
|
|
160
|
+
description: 'Smells great and cleans thoroughly!',
|
|
161
|
+
emoji: '🧴',
|
|
162
|
+
effect: { cleanliness: 50, happiness: 5 },
|
|
163
|
+
xpReward: 12,
|
|
164
|
+
price: 20,
|
|
165
|
+
},
|
|
166
|
+
brush: {
|
|
167
|
+
id: 'brush',
|
|
168
|
+
name: 'Grooming Brush',
|
|
169
|
+
type: ItemType.CLEANING,
|
|
170
|
+
rarity: ItemRarity.COMMON,
|
|
171
|
+
description: 'Keep your pet looking neat and tidy.',
|
|
172
|
+
emoji: '🪮',
|
|
173
|
+
effect: { cleanliness: 20, happiness: 8 },
|
|
174
|
+
xpReward: 6,
|
|
175
|
+
price: 8,
|
|
176
|
+
},
|
|
177
|
+
perfume: {
|
|
178
|
+
id: 'perfume',
|
|
179
|
+
name: 'Pet Perfume',
|
|
180
|
+
type: ItemType.CLEANING,
|
|
181
|
+
rarity: ItemRarity.EPIC,
|
|
182
|
+
description: 'Makes your pet smell wonderful!',
|
|
183
|
+
emoji: '🌸',
|
|
184
|
+
effect: { cleanliness: 40, happiness: 15 },
|
|
185
|
+
xpReward: 15,
|
|
186
|
+
price: 40,
|
|
187
|
+
},
|
|
188
|
+
// ===== MEDICINE =====
|
|
189
|
+
bandage: {
|
|
190
|
+
id: 'bandage',
|
|
191
|
+
name: 'Bandage',
|
|
192
|
+
type: ItemType.MEDICINE,
|
|
193
|
+
rarity: ItemRarity.COMMON,
|
|
194
|
+
description: 'A simple bandage for minor injuries.',
|
|
195
|
+
emoji: '🩹',
|
|
196
|
+
effect: { health: 20 },
|
|
197
|
+
xpReward: 15,
|
|
198
|
+
price: 15,
|
|
199
|
+
},
|
|
200
|
+
medicine: {
|
|
201
|
+
id: 'medicine',
|
|
202
|
+
name: 'Medicine',
|
|
203
|
+
type: ItemType.MEDICINE,
|
|
204
|
+
rarity: ItemRarity.RARE,
|
|
205
|
+
description: 'Tastes bad but works well!',
|
|
206
|
+
emoji: '💊',
|
|
207
|
+
effect: { health: 40, happiness: -5 },
|
|
208
|
+
xpReward: 20,
|
|
209
|
+
price: 30,
|
|
210
|
+
},
|
|
211
|
+
elixir: {
|
|
212
|
+
id: 'elixir',
|
|
213
|
+
name: 'Health Elixir',
|
|
214
|
+
type: ItemType.MEDICINE,
|
|
215
|
+
rarity: ItemRarity.EPIC,
|
|
216
|
+
description: 'A magical potion that restores health completely!',
|
|
217
|
+
emoji: '🧪',
|
|
218
|
+
effect: { health: 60, happiness: 5 },
|
|
219
|
+
xpReward: 30,
|
|
220
|
+
price: 50,
|
|
221
|
+
},
|
|
222
|
+
golden_apple: {
|
|
223
|
+
id: 'golden_apple',
|
|
224
|
+
name: 'Golden Apple',
|
|
225
|
+
type: ItemType.MEDICINE,
|
|
226
|
+
rarity: ItemRarity.LEGENDARY,
|
|
227
|
+
description: 'A legendary fruit that restores all stats!',
|
|
228
|
+
emoji: '🍎',
|
|
229
|
+
effect: { health: 100, hunger: 30, happiness: 20, cleanliness: 20, energy: 20 },
|
|
230
|
+
xpReward: 100,
|
|
231
|
+
price: 200,
|
|
232
|
+
},
|
|
233
|
+
};
|
|
234
|
+
// Get item by ID
|
|
235
|
+
const getItem = (itemId) => {
|
|
236
|
+
return exports.ITEMS[itemId];
|
|
237
|
+
};
|
|
238
|
+
exports.getItem = getItem;
|
|
239
|
+
// Get items by type
|
|
240
|
+
const getItemsByType = (type) => {
|
|
241
|
+
return Object.values(exports.ITEMS).filter((item) => item.type === type);
|
|
242
|
+
};
|
|
243
|
+
exports.getItemsByType = getItemsByType;
|
|
244
|
+
// Get starting inventory for new pets
|
|
245
|
+
const getStartingInventory = () => {
|
|
246
|
+
return [
|
|
247
|
+
{ itemId: 'fish', quantity: 3 },
|
|
248
|
+
{ itemId: 'ball', quantity: 2 },
|
|
249
|
+
{ itemId: 'soap', quantity: 2 },
|
|
250
|
+
{ itemId: 'medicine', quantity: 1 },
|
|
251
|
+
];
|
|
252
|
+
};
|
|
253
|
+
exports.getStartingInventory = getStartingInventory;
|
|
254
|
+
// Get rarity color for display
|
|
255
|
+
const getRarityColor = (rarity) => {
|
|
256
|
+
switch (rarity) {
|
|
257
|
+
case ItemRarity.COMMON:
|
|
258
|
+
return 'white';
|
|
259
|
+
case ItemRarity.RARE:
|
|
260
|
+
return 'blue';
|
|
261
|
+
case ItemRarity.EPIC:
|
|
262
|
+
return 'magenta';
|
|
263
|
+
case ItemRarity.LEGENDARY:
|
|
264
|
+
return 'yellow';
|
|
265
|
+
default:
|
|
266
|
+
return 'white';
|
|
267
|
+
}
|
|
268
|
+
};
|
|
269
|
+
exports.getRarityColor = getRarityColor;
|
|
270
|
+
// Get rarity icon
|
|
271
|
+
const getRarityIcon = (rarity) => {
|
|
272
|
+
switch (rarity) {
|
|
273
|
+
case ItemRarity.COMMON:
|
|
274
|
+
return '⚪';
|
|
275
|
+
case ItemRarity.RARE:
|
|
276
|
+
return '🔵';
|
|
277
|
+
case ItemRarity.EPIC:
|
|
278
|
+
return '🟣';
|
|
279
|
+
case ItemRarity.LEGENDARY:
|
|
280
|
+
return '🟡';
|
|
281
|
+
default:
|
|
282
|
+
return '⚪';
|
|
283
|
+
}
|
|
284
|
+
};
|
|
285
|
+
exports.getRarityIcon = getRarityIcon;
|
|
286
|
+
//# sourceMappingURL=items.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"items.js","sourceRoot":"","sources":["../../src/types/items.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { PetSpecies, MoodState } from './species';
|
|
2
|
+
import { PetStats } from './stats';
|
|
3
|
+
import { InventoryItem } from './items';
|
|
4
|
+
export interface PetData {
|
|
5
|
+
id: string;
|
|
6
|
+
name: string;
|
|
7
|
+
species: PetSpecies;
|
|
8
|
+
level: number;
|
|
9
|
+
experience: number;
|
|
10
|
+
stats: PetStats;
|
|
11
|
+
mood: MoodState;
|
|
12
|
+
isSleeping: boolean;
|
|
13
|
+
birthDate: string;
|
|
14
|
+
lastInteraction: string;
|
|
15
|
+
lastSaveTime: string;
|
|
16
|
+
lastUpdated: string;
|
|
17
|
+
totalInteractions: number;
|
|
18
|
+
inventory: InventoryItem[];
|
|
19
|
+
coins: number;
|
|
20
|
+
coinHistory?: CoinEntry[];
|
|
21
|
+
lastGitCommit?: string;
|
|
22
|
+
gitCommitCount?: number;
|
|
23
|
+
gitStreak?: number;
|
|
24
|
+
lastGitDate?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface CoinEntry {
|
|
27
|
+
amount: number;
|
|
28
|
+
reason: string;
|
|
29
|
+
timestamp: string;
|
|
30
|
+
}
|
|
31
|
+
export interface DatabaseSchema {
|
|
32
|
+
pet: PetData | null;
|
|
33
|
+
settings: {
|
|
34
|
+
created: string;
|
|
35
|
+
version: string;
|
|
36
|
+
onboarded?: boolean;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export declare const DEFAULT_STATS: PetStats;
|
|
40
|
+
export declare const STARTING_COINS = 50;
|
|
41
|
+
export declare const generatePetId: () => string;
|
|
42
|
+
//# sourceMappingURL=pet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pet.d.ts","sourceRoot":"","sources":["../../src/types/pet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,UAAU,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,QAAQ,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC;IAE1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;CACH;AAED,eAAO,MAAM,aAAa,EAAE,QAM3B,CAAC;AAEF,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,eAAO,MAAM,aAAa,QAAO,MAEhC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generatePetId = exports.STARTING_COINS = exports.DEFAULT_STATS = void 0;
|
|
4
|
+
exports.DEFAULT_STATS = {
|
|
5
|
+
hunger: 100,
|
|
6
|
+
happiness: 100,
|
|
7
|
+
health: 100,
|
|
8
|
+
cleanliness: 100,
|
|
9
|
+
energy: 100,
|
|
10
|
+
};
|
|
11
|
+
exports.STARTING_COINS = 50;
|
|
12
|
+
const generatePetId = () => {
|
|
13
|
+
return `pet_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`;
|
|
14
|
+
};
|
|
15
|
+
exports.generatePetId = generatePetId;
|
|
16
|
+
//# sourceMappingURL=pet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pet.js","sourceRoot":"","sources":["../../src/types/pet.ts"],"names":[],"mappings":";;;AA2Ca,QAAA,aAAa,GAAa;IACrC,MAAM,EAAE,GAAG;IACX,SAAS,EAAE,GAAG;IACd,MAAM,EAAE,GAAG;IACX,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,GAAG;CACZ,CAAC;AAEW,QAAA,cAAc,GAAG,EAAE,CAAC;AAE1B,MAAM,aAAa,GAAG,GAAW,EAAE;IACxC,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAC3E,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export declare enum PetSpecies {
|
|
2
|
+
CAT = "cat",
|
|
3
|
+
DOG = "dog",
|
|
4
|
+
RABBIT = "rabbit",
|
|
5
|
+
HAMSTER = "hamster",
|
|
6
|
+
BIRD = "bird",
|
|
7
|
+
DRAGON = "dragon"
|
|
8
|
+
}
|
|
9
|
+
export declare enum MoodState {
|
|
10
|
+
HAPPY = "happy",
|
|
11
|
+
SAD = "sad",
|
|
12
|
+
SICK = "sick",
|
|
13
|
+
ANGRY = "angry",
|
|
14
|
+
SLEEPY = "sleepy",
|
|
15
|
+
EXCITED = "excited"
|
|
16
|
+
}
|
|
17
|
+
export interface SpeciesConfig {
|
|
18
|
+
name: string;
|
|
19
|
+
emoji: string;
|
|
20
|
+
favoriteFood: string;
|
|
21
|
+
favoriteActivity: string;
|
|
22
|
+
ascii: {
|
|
23
|
+
normal: string;
|
|
24
|
+
happy: string;
|
|
25
|
+
sad: string;
|
|
26
|
+
sick: string;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export declare const SPECIES_CONFIGS: Record<PetSpecies, SpeciesConfig>;
|
|
30
|
+
//# sourceMappingURL=species.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"species.d.ts","sourceRoot":"","sources":["../../src/types/species.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IACpB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;CAClB;AAED,oBAAY,SAAS;IACnB,KAAK,UAAU;IACf,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,OAAO,YAAY;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,UAAU,EAAE,aAAa,CA6I7D,CAAC"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SPECIES_CONFIGS = exports.MoodState = exports.PetSpecies = void 0;
|
|
4
|
+
var PetSpecies;
|
|
5
|
+
(function (PetSpecies) {
|
|
6
|
+
PetSpecies["CAT"] = "cat";
|
|
7
|
+
PetSpecies["DOG"] = "dog";
|
|
8
|
+
PetSpecies["RABBIT"] = "rabbit";
|
|
9
|
+
PetSpecies["HAMSTER"] = "hamster";
|
|
10
|
+
PetSpecies["BIRD"] = "bird";
|
|
11
|
+
PetSpecies["DRAGON"] = "dragon";
|
|
12
|
+
})(PetSpecies || (exports.PetSpecies = PetSpecies = {}));
|
|
13
|
+
var MoodState;
|
|
14
|
+
(function (MoodState) {
|
|
15
|
+
MoodState["HAPPY"] = "happy";
|
|
16
|
+
MoodState["SAD"] = "sad";
|
|
17
|
+
MoodState["SICK"] = "sick";
|
|
18
|
+
MoodState["ANGRY"] = "angry";
|
|
19
|
+
MoodState["SLEEPY"] = "sleepy";
|
|
20
|
+
MoodState["EXCITED"] = "excited";
|
|
21
|
+
})(MoodState || (exports.MoodState = MoodState = {}));
|
|
22
|
+
exports.SPECIES_CONFIGS = {
|
|
23
|
+
[PetSpecies.CAT]: {
|
|
24
|
+
name: 'Cat',
|
|
25
|
+
emoji: '🐱',
|
|
26
|
+
favoriteFood: 'Fish',
|
|
27
|
+
favoriteActivity: 'Chasing laser',
|
|
28
|
+
ascii: {
|
|
29
|
+
normal: ` /\\_/\\
|
|
30
|
+
( o.o )
|
|
31
|
+
> ^ <`,
|
|
32
|
+
happy: ` /\\_/\\
|
|
33
|
+
( ^.^ )
|
|
34
|
+
> * <`,
|
|
35
|
+
sad: ` /\\_/\\
|
|
36
|
+
( T.T )
|
|
37
|
+
> ^ <`,
|
|
38
|
+
sick: ` /\\_/\\
|
|
39
|
+
( x.x )
|
|
40
|
+
> ^ <`,
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
[PetSpecies.DOG]: {
|
|
44
|
+
name: 'Dog',
|
|
45
|
+
emoji: '🐕',
|
|
46
|
+
favoriteFood: 'Bone',
|
|
47
|
+
favoriteActivity: 'Fetch',
|
|
48
|
+
ascii: {
|
|
49
|
+
normal: ` / \\__
|
|
50
|
+
( @\\___
|
|
51
|
+
/ O
|
|
52
|
+
/ (_____ /
|
|
53
|
+
/_____/ U`,
|
|
54
|
+
happy: ` / \\__
|
|
55
|
+
( ^\\___
|
|
56
|
+
/ O
|
|
57
|
+
/ (_____ /
|
|
58
|
+
/_____/ U`,
|
|
59
|
+
sad: ` / \\__
|
|
60
|
+
( T\\___
|
|
61
|
+
/ O
|
|
62
|
+
/ (_____ /
|
|
63
|
+
/_____/ U`,
|
|
64
|
+
sick: ` / \\__
|
|
65
|
+
( x\\___
|
|
66
|
+
/ O
|
|
67
|
+
/ (_____ /
|
|
68
|
+
/_____/ U`,
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
[PetSpecies.RABBIT]: {
|
|
72
|
+
name: 'Rabbit',
|
|
73
|
+
emoji: '🐰',
|
|
74
|
+
favoriteFood: 'Carrot',
|
|
75
|
+
favoriteActivity: 'Hopping',
|
|
76
|
+
ascii: {
|
|
77
|
+
normal: ` (\\ /)
|
|
78
|
+
( •.• )
|
|
79
|
+
c(")(")`,
|
|
80
|
+
happy: ` (\\ /)
|
|
81
|
+
( ^.^ )
|
|
82
|
+
c(")(")`,
|
|
83
|
+
sad: ` (\\ /)
|
|
84
|
+
( T.T )
|
|
85
|
+
c(")(")`,
|
|
86
|
+
sick: ` (\\ /)
|
|
87
|
+
( x.x )
|
|
88
|
+
c(")(")`,
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
[PetSpecies.HAMSTER]: {
|
|
92
|
+
name: 'Hamster',
|
|
93
|
+
emoji: '🐹',
|
|
94
|
+
favoriteFood: 'Sunflower seeds',
|
|
95
|
+
favoriteActivity: 'Running on wheel',
|
|
96
|
+
ascii: {
|
|
97
|
+
normal: ` (\\,/)
|
|
98
|
+
(o.O)
|
|
99
|
+
(> <)
|
|
100
|
+
/_| |_\\`,
|
|
101
|
+
happy: ` (\\,/)
|
|
102
|
+
(^.^)
|
|
103
|
+
(> <)
|
|
104
|
+
/_| |_\\`,
|
|
105
|
+
sad: ` (\\,/)
|
|
106
|
+
(T.T)
|
|
107
|
+
(> <)
|
|
108
|
+
/_| |_\\`,
|
|
109
|
+
sick: ` (\\,/)
|
|
110
|
+
(x.x)
|
|
111
|
+
(> <)
|
|
112
|
+
/_| |_\\`,
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
[PetSpecies.BIRD]: {
|
|
116
|
+
name: 'Bird',
|
|
117
|
+
emoji: '🐦',
|
|
118
|
+
favoriteFood: 'Seeds',
|
|
119
|
+
favoriteActivity: 'Singing',
|
|
120
|
+
ascii: {
|
|
121
|
+
normal: ` (>
|
|
122
|
+
/>
|
|
123
|
+
(___)`,
|
|
124
|
+
happy: ` (>
|
|
125
|
+
/>
|
|
126
|
+
(^o^)`,
|
|
127
|
+
sad: ` (>
|
|
128
|
+
/>
|
|
129
|
+
(T_T)`,
|
|
130
|
+
sick: ` (>
|
|
131
|
+
/>
|
|
132
|
+
(x_x)`,
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
[PetSpecies.DRAGON]: {
|
|
136
|
+
name: 'Dragon',
|
|
137
|
+
emoji: '🐉',
|
|
138
|
+
favoriteFood: 'Gems',
|
|
139
|
+
favoriteActivity: 'Flying',
|
|
140
|
+
ascii: {
|
|
141
|
+
normal: ` ,,
|
|
142
|
+
("><
|
|
143
|
+
/|
|
|
144
|
+
// )
|
|
145
|
+
(____/`,
|
|
146
|
+
happy: ` ,,
|
|
147
|
+
(^"^)
|
|
148
|
+
/|
|
|
149
|
+
// )
|
|
150
|
+
(____/)`,
|
|
151
|
+
sad: ` ,,
|
|
152
|
+
(T.T)
|
|
153
|
+
/|
|
|
154
|
+
// )
|
|
155
|
+
(____ /`,
|
|
156
|
+
sick: ` ,,
|
|
157
|
+
(x.x)
|
|
158
|
+
/|
|
|
159
|
+
// )
|
|
160
|
+
(____ /`,
|
|
161
|
+
},
|
|
162
|
+
},
|
|
163
|
+
};
|
|
164
|
+
//# sourceMappingURL=species.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"species.js","sourceRoot":"","sources":["../../src/types/species.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAOX;AAPD,WAAY,UAAU;IACpB,yBAAW,CAAA;IACX,yBAAW,CAAA;IACX,+BAAiB,CAAA;IACjB,iCAAmB,CAAA;IACnB,2BAAa,CAAA;IACb,+BAAiB,CAAA;AACnB,CAAC,EAPW,UAAU,0BAAV,UAAU,QAOrB;AAED,IAAY,SAOX;AAPD,WAAY,SAAS;IACnB,4BAAe,CAAA;IACf,wBAAW,CAAA;IACX,0BAAa,CAAA;IACb,4BAAe,CAAA;IACf,8BAAiB,CAAA;IACjB,gCAAmB,CAAA;AACrB,CAAC,EAPW,SAAS,yBAAT,SAAS,QAOpB;AAeY,QAAA,eAAe,GAAsC;IAChE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QAChB,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,MAAM;QACpB,gBAAgB,EAAE,eAAe;QACjC,KAAK,EAAE;YACL,MAAM,EAAE;;QAEN;YACF,KAAK,EAAE;;QAEL;YACF,GAAG,EAAE;;QAEH;YACF,IAAI,EAAE;;QAEJ;SACH;KACF;IACD,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QAChB,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,MAAM;QACpB,gBAAgB,EAAE,OAAO;QACzB,KAAK,EAAE;YACL,MAAM,EAAE;;;;YAIF;YACN,KAAK,EAAE;;;;YAID;YACN,GAAG,EAAE;;;;YAIC;YACN,IAAI,EAAE;;;;YAIA;SACP;KACF;IACD,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QACnB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,QAAQ;QACtB,gBAAgB,EAAE,SAAS;QAC3B,KAAK,EAAE;YACL,MAAM,EAAE;;YAEF;YACN,KAAK,EAAE;;YAED;YACN,GAAG,EAAE;;YAEC;YACN,IAAI,EAAE;;YAEA;SACP;KACF;IACD,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QACpB,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,iBAAiB;QAC/B,gBAAgB,EAAE,kBAAkB;QACpC,KAAK,EAAE;YACL,MAAM,EAAE;;;WAGH;YACL,KAAK,EAAE;;;WAGF;YACL,GAAG,EAAE;;;WAGA;YACL,IAAI,EAAE;;;WAGD;SACN;KACF;IACD,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACjB,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,OAAO;QACrB,gBAAgB,EAAE,SAAS;QAC3B,KAAK,EAAE;YACL,MAAM,EAAE;;QAEN;YACF,KAAK,EAAE;;QAEL;YACF,GAAG,EAAE;;QAEH;YACF,IAAI,EAAE;;QAEJ;SACH;KACF;IACD,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QACnB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,MAAM;QACpB,gBAAgB,EAAE,QAAQ;QAC1B,KAAK,EAAE;YACL,MAAM,EAAE;;;;SAIL;YACH,KAAK,EAAE;;;;UAIH;YACJ,GAAG,EAAE;;;;UAID;YACJ,IAAI,EAAE;;;;UAIF;SACL;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface PetStats {
|
|
2
|
+
hunger: number;
|
|
3
|
+
happiness: number;
|
|
4
|
+
health: number;
|
|
5
|
+
cleanliness: number;
|
|
6
|
+
energy: number;
|
|
7
|
+
}
|
|
8
|
+
export interface StatChange {
|
|
9
|
+
stat: keyof PetStats;
|
|
10
|
+
delta: number;
|
|
11
|
+
}
|
|
12
|
+
export interface ActionResult {
|
|
13
|
+
success: boolean;
|
|
14
|
+
message: string;
|
|
15
|
+
statChanges: StatChange[];
|
|
16
|
+
xpGained: number;
|
|
17
|
+
levelUp?: boolean;
|
|
18
|
+
newLevel?: number;
|
|
19
|
+
}
|
|
20
|
+
export declare const clampStat: (value: number) => number;
|
|
21
|
+
export declare const getStatColor: (value: number) => string;
|
|
22
|
+
//# sourceMappingURL=stats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/types/stats.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,QAAQ,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,KAAG,MAEzC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,KAAG,MAK5C,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getStatColor = exports.clampStat = void 0;
|
|
4
|
+
const clampStat = (value) => {
|
|
5
|
+
return Math.max(0, Math.min(100, value));
|
|
6
|
+
};
|
|
7
|
+
exports.clampStat = clampStat;
|
|
8
|
+
const getStatColor = (value) => {
|
|
9
|
+
if (value >= 80)
|
|
10
|
+
return 'green';
|
|
11
|
+
if (value >= 50)
|
|
12
|
+
return 'yellow';
|
|
13
|
+
if (value >= 30)
|
|
14
|
+
return 'orange';
|
|
15
|
+
return 'red';
|
|
16
|
+
};
|
|
17
|
+
exports.getStatColor = getStatColor;
|
|
18
|
+
//# sourceMappingURL=stats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/types/stats.ts"],"names":[],"mappings":";;;AAsBO,MAAM,SAAS,GAAG,CAAC,KAAa,EAAU,EAAE;IACjD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB;AAEK,MAAM,YAAY,GAAG,CAAC,KAAa,EAAU,EAAE;IACpD,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,OAAO,CAAC;IAChC,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,QAAQ,CAAC;IACjC,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,QAAQ,CAAC;IACjC,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AALW,QAAA,YAAY,gBAKvB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export interface TimeDecayConfig {
|
|
2
|
+
hungerPerHour: number;
|
|
3
|
+
happinessPerHour: number;
|
|
4
|
+
cleanlinessPerHour: number;
|
|
5
|
+
energyPerHour: number;
|
|
6
|
+
healthDecayThreshold: {
|
|
7
|
+
hunger: number;
|
|
8
|
+
happiness: number;
|
|
9
|
+
cleanliness: number;
|
|
10
|
+
};
|
|
11
|
+
healthPerHourWhenCritical: number;
|
|
12
|
+
}
|
|
13
|
+
export interface TimeSyncResult {
|
|
14
|
+
hoursPassed: number;
|
|
15
|
+
statChanges: Array<{
|
|
16
|
+
stat: string;
|
|
17
|
+
delta: number;
|
|
18
|
+
}>;
|
|
19
|
+
healthDecayTriggered: boolean;
|
|
20
|
+
warnings: string[];
|
|
21
|
+
}
|
|
22
|
+
export declare const DEFAULT_DECAY_CONFIG: TimeDecayConfig;
|
|
23
|
+
export interface TimeAgoResult {
|
|
24
|
+
value: number;
|
|
25
|
+
unit: 'second' | 'minute' | 'hour' | 'day' | 'month';
|
|
26
|
+
raw: string;
|
|
27
|
+
}
|
|
28
|
+
export declare const getTimeAgo: (date: Date | string) => TimeAgoResult;
|
|
29
|
+
export declare const formatDuration: (hours: number) => string;
|
|
30
|
+
//# sourceMappingURL=time.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../src/types/time.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,yBAAyB,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,oBAAoB,EAAE,OAAO,CAAC;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,eAAO,MAAM,oBAAoB,EAAE,eAWlC,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;IACrD,GAAG,EAAE,MAAM,CAAC;CACb;AAED,eAAO,MAAM,UAAU,GAAI,MAAM,IAAI,GAAG,MAAM,KAAG,aA2ChD,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,MAe9C,CAAC"}
|