@nice2dev/game-engine 1.3.13 → 1.3.14
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/CHANGELOG.md +4 -0
- package/package.json +2 -2
- package/dist/types/accessibility/index.d.ts +0 -1
- package/dist/types/ai/index.d.ts +0 -1
- package/dist/types/animation/index.d.ts +0 -1
- package/dist/types/audio/HRTFAudio.d.ts +0 -180
- package/dist/types/audio/index.d.ts +0 -2
- package/dist/types/community/Community.d.ts +0 -112
- package/dist/types/community/index.d.ts +0 -1
- package/dist/types/core/TypeSafety.d.ts +0 -190
- package/dist/types/core/index.d.ts +0 -7
- package/dist/types/devtools/AssetStore.d.ts +0 -133
- package/dist/types/devtools/index.d.ts +0 -3
- package/dist/types/dialogue/index.d.ts +0 -2
- package/dist/types/docs/APIPlayground.d.ts +0 -26
- package/dist/types/docs/Cookbook.d.ts +0 -18
- package/dist/types/docs/Guides.d.ts +0 -18
- package/dist/types/docs/index.d.ts +0 -4
- package/dist/types/ecs/ECSOptimized.d.ts +0 -131
- package/dist/types/ecs/index.d.ts +0 -2
- package/dist/types/editor/NiceAnimationTimeline.d.ts +0 -114
- package/dist/types/editor/NiceLevelEditor.d.ts +0 -232
- package/dist/types/editor/NiceMaterialEditor.d.ts +0 -105
- package/dist/types/editor/NiceNodeGraph.d.ts +0 -87
- package/dist/types/editor/NiceParticleEditor.d.ts +0 -127
- package/dist/types/editor/behavior-tree/BTDebugPanel.d.ts +0 -102
- package/dist/types/editor/behavior-tree/BTEditorCanvas.d.ts +0 -79
- package/dist/types/editor/behavior-tree/BTEditorNode.d.ts +0 -58
- package/dist/types/editor/behavior-tree/BTEditorToolbar.d.ts +0 -75
- package/dist/types/editor/behavior-tree/BTNodePalette.d.ts +0 -72
- package/dist/types/editor/behavior-tree/BTPropertyPanel.d.ts +0 -66
- package/dist/types/editor/behavior-tree/BehaviorTreeEditor.d.ts +0 -186
- package/dist/types/editor/behavior-tree/index.d.ts +0 -14
- package/dist/types/editor/behavior-tree/serialization.d.ts +0 -30
- package/dist/types/editor/behavior-tree/types.d.ts +0 -299
- package/dist/types/editor/index.d.ts +0 -20
- package/dist/types/editor/state-machine/SMEditorCanvas.d.ts +0 -61
- package/dist/types/editor/state-machine/StateMachineEditor.d.ts +0 -139
- package/dist/types/editor/state-machine/index.d.ts +0 -11
- package/dist/types/editor/state-machine/serialization.d.ts +0 -23
- package/dist/types/editor/state-machine/types.d.ts +0 -241
- package/dist/types/engine/index.d.ts +0 -2
- package/dist/types/enterprise/index.d.ts +0 -1
- package/dist/types/epic/index.d.ts +0 -10
- package/dist/types/i18n/index.d.ts +0 -2
- package/dist/types/input/index.d.ts +0 -3
- package/dist/types/kids/index.d.ts +0 -2
- package/dist/types/legendary/index.d.ts +0 -57
- package/dist/types/monetization/index.d.ts +0 -1
- package/dist/types/multiplayer/NiceNetcode.d.ts +0 -434
- package/dist/types/multiplayer/index.d.ts +0 -5
- package/dist/types/network/index.d.ts +0 -2
- package/dist/types/pathfinding/index.d.ts +0 -1
- package/dist/types/performance/AssetCompression.d.ts +0 -137
- package/dist/types/performance/WASMModules.d.ts +0 -65
- package/dist/types/performance/WebGPUCompute.d.ts +0 -71
- package/dist/types/performance/index.d.ts +0 -1
- package/dist/types/physics/RapierIntegration.d.ts +0 -404
- package/dist/types/physics/index.d.ts +0 -2
- package/dist/types/plugins/index.d.ts +0 -2
- package/dist/types/procedural/index.d.ts +0 -2
- package/dist/types/release/index.d.ts +0 -1
- package/dist/types/rendering/WebGPUv2.d.ts +0 -173
- package/dist/types/rendering/index.d.ts +0 -3
- package/dist/types/runtime3d/index.d.ts +0 -2
- package/dist/types/scene/index.d.ts +0 -2
- package/dist/types/scripting/WasmCompiler.d.ts +0 -182
- package/dist/types/scripting/index.d.ts +0 -19
- package/dist/types/social/index.d.ts +0 -1
- package/dist/types/systems/NiceAI.d.ts +0 -637
- package/dist/types/systems/NiceAbility.d.ts +0 -225
- package/dist/types/systems/NiceAccessibility.d.ts +0 -230
- package/dist/types/systems/NiceAchievement.d.ts +0 -153
- package/dist/types/systems/NiceAchievementUI.d.ts +0 -196
- package/dist/types/systems/NiceAchievements.d.ts +0 -230
- package/dist/types/systems/NiceAction.d.ts +0 -81
- package/dist/types/systems/NiceAlchemy.d.ts +0 -195
- package/dist/types/systems/NiceAnalytics.d.ts +0 -493
- package/dist/types/systems/NiceAnimation.d.ts +0 -350
- package/dist/types/systems/NiceArena.d.ts +0 -215
- package/dist/types/systems/NiceAssetLoader.d.ts +0 -136
- package/dist/types/systems/NiceAuction.d.ts +0 -157
- package/dist/types/systems/NiceAudio.d.ts +0 -224
- package/dist/types/systems/NiceAugment.d.ts +0 -187
- package/dist/types/systems/NiceAura.d.ts +0 -193
- package/dist/types/systems/NiceBank.d.ts +0 -158
- package/dist/types/systems/NiceBattlePass.d.ts +0 -150
- package/dist/types/systems/NiceBehavior.d.ts +0 -160
- package/dist/types/systems/NiceBinding.d.ts +0 -96
- package/dist/types/systems/NiceBlacksmith.d.ts +0 -221
- package/dist/types/systems/NiceBuff.d.ts +0 -177
- package/dist/types/systems/NiceBuilding.d.ts +0 -207
- package/dist/types/systems/NiceBullet.d.ts +0 -167
- package/dist/types/systems/NiceCamera.d.ts +0 -252
- package/dist/types/systems/NiceCard.d.ts +0 -171
- package/dist/types/systems/NiceChat.d.ts +0 -148
- package/dist/types/systems/NiceCheat.d.ts +0 -375
- package/dist/types/systems/NiceClimbing.d.ts +0 -186
- package/dist/types/systems/NiceCloud.d.ts +0 -422
- package/dist/types/systems/NiceCollision.d.ts +0 -238
- package/dist/types/systems/NiceCombo.d.ts +0 -131
- package/dist/types/systems/NiceCommand.d.ts +0 -112
- package/dist/types/systems/NiceCompanion.d.ts +0 -182
- package/dist/types/systems/NiceController.d.ts +0 -144
- package/dist/types/systems/NiceCooking.d.ts +0 -193
- package/dist/types/systems/NiceCoroutine.d.ts +0 -101
- package/dist/types/systems/NiceCrafting.d.ts +0 -228
- package/dist/types/systems/NiceCutscene.d.ts +0 -437
- package/dist/types/systems/NiceDaily.d.ts +0 -133
- package/dist/types/systems/NiceDamage.d.ts +0 -271
- package/dist/types/systems/NiceDayNight.d.ts +0 -126
- package/dist/types/systems/NiceDebug.d.ts +0 -255
- package/dist/types/systems/NiceDestructible.d.ts +0 -150
- package/dist/types/systems/NiceDialogue.d.ts +0 -629
- package/dist/types/systems/NiceDungeon.d.ts +0 -202
- package/dist/types/systems/NiceECS.d.ts +0 -151
- package/dist/types/systems/NiceEnchant.d.ts +0 -148
- package/dist/types/systems/NiceEntityPool.d.ts +0 -127
- package/dist/types/systems/NiceEquipment.d.ts +0 -137
- package/dist/types/systems/NiceEvent.d.ts +0 -202
- package/dist/types/systems/NiceEventBus.d.ts +0 -164
- package/dist/types/systems/NiceFaction.d.ts +0 -173
- package/dist/types/systems/NiceFarming.d.ts +0 -163
- package/dist/types/systems/NiceFishing.d.ts +0 -196
- package/dist/types/systems/NiceFlocking.d.ts +0 -156
- package/dist/types/systems/NiceFog.d.ts +0 -137
- package/dist/types/systems/NiceFormation.d.ts +0 -140
- package/dist/types/systems/NiceGacha.d.ts +0 -134
- package/dist/types/systems/NiceGambling.d.ts +0 -175
- package/dist/types/systems/NiceGem.d.ts +0 -165
- package/dist/types/systems/NiceGesture.d.ts +0 -502
- package/dist/types/systems/NiceGrappling.d.ts +0 -154
- package/dist/types/systems/NiceGrid.d.ts +0 -142
- package/dist/types/systems/NiceGuild.d.ts +0 -162
- package/dist/types/systems/NiceHaptics.d.ts +0 -112
- package/dist/types/systems/NiceHousing.d.ts +0 -197
- package/dist/types/systems/NiceInput.d.ts +0 -280
- package/dist/types/systems/NiceInventory.d.ts +0 -534
- package/dist/types/systems/NiceLOD.d.ts +0 -144
- package/dist/types/systems/NiceLeaderboard.d.ts +0 -191
- package/dist/types/systems/NiceLevel.d.ts +0 -304
- package/dist/types/systems/NiceLighting.d.ts +0 -214
- package/dist/types/systems/NiceLocalization.d.ts +0 -148
- package/dist/types/systems/NiceLocomotion.d.ts +0 -398
- package/dist/types/systems/NiceLogger.d.ts +0 -117
- package/dist/types/systems/NiceLoot.d.ts +0 -176
- package/dist/types/systems/NiceMail.d.ts +0 -164
- package/dist/types/systems/NiceMap.d.ts +0 -234
- package/dist/types/systems/NiceMarriage.d.ts +0 -150
- package/dist/types/systems/NiceMastery.d.ts +0 -171
- package/dist/types/systems/NiceMatch.d.ts +0 -196
- package/dist/types/systems/NiceMatch3.d.ts +0 -118
- package/dist/types/systems/NiceMessageBus.d.ts +0 -115
- package/dist/types/systems/NiceMinimap.d.ts +0 -258
- package/dist/types/systems/NiceMining.d.ts +0 -175
- package/dist/types/systems/NiceModding.d.ts +0 -452
- package/dist/types/systems/NiceMount.d.ts +0 -152
- package/dist/types/systems/NiceNavigation.d.ts +0 -307
- package/dist/types/systems/NiceNetwork.d.ts +0 -568
- package/dist/types/systems/NiceNotification.d.ts +0 -438
- package/dist/types/systems/NiceObjective.d.ts +0 -395
- package/dist/types/systems/NiceParticle.d.ts +0 -639
- package/dist/types/systems/NiceParty.d.ts +0 -168
- package/dist/types/systems/NicePerformance.d.ts +0 -144
- package/dist/types/systems/NicePet.d.ts +0 -167
- package/dist/types/systems/NicePhotoMode.d.ts +0 -270
- package/dist/types/systems/NicePhysics.d.ts +0 -326
- package/dist/types/systems/NicePlatformer.d.ts +0 -158
- package/dist/types/systems/NicePool.d.ts +0 -128
- package/dist/types/systems/NicePortal.d.ts +0 -178
- package/dist/types/systems/NicePostProcess.d.ts +0 -254
- package/dist/types/systems/NiceProcedural.d.ts +0 -202
- package/dist/types/systems/NiceProfile.d.ts +0 -223
- package/dist/types/systems/NiceProjectile.d.ts +0 -157
- package/dist/types/systems/NicePvP.d.ts +0 -199
- package/dist/types/systems/NiceQTE.d.ts +0 -160
- package/dist/types/systems/NiceQuest.d.ts +0 -620
- package/dist/types/systems/NiceRaid.d.ts +0 -215
- package/dist/types/systems/NiceRanking.d.ts +0 -399
- package/dist/types/systems/NiceReplay.d.ts +0 -180
- package/dist/types/systems/NiceReputation.d.ts +0 -151
- package/dist/types/systems/NiceResource.d.ts +0 -200
- package/dist/types/systems/NiceRhythm.d.ts +0 -148
- package/dist/types/systems/NiceRoguelike.d.ts +0 -276
- package/dist/types/systems/NiceRune.d.ts +0 -202
- package/dist/types/systems/NiceSaveSystem.d.ts +0 -194
- package/dist/types/systems/NiceSceneManager.d.ts +0 -112
- package/dist/types/systems/NiceScore.d.ts +0 -186
- package/dist/types/systems/NiceScreenFX.d.ts +0 -235
- package/dist/types/systems/NiceScreenshot.d.ts +0 -443
- package/dist/types/systems/NiceScribe.d.ts +0 -239
- package/dist/types/systems/NiceSeason.d.ts +0 -176
- package/dist/types/systems/NiceSerialization.d.ts +0 -89
- package/dist/types/systems/NiceServiceLocator.d.ts +0 -94
- package/dist/types/systems/NiceShop.d.ts +0 -528
- package/dist/types/systems/NiceSignal.d.ts +0 -112
- package/dist/types/systems/NiceSkillTree.d.ts +0 -237
- package/dist/types/systems/NiceSocial.d.ts +0 -580
- package/dist/types/systems/NiceSpawner.d.ts +0 -237
- package/dist/types/systems/NiceSpell.d.ts +0 -216
- package/dist/types/systems/NiceState.d.ts +0 -224
- package/dist/types/systems/NiceStateMachine.d.ts +0 -108
- package/dist/types/systems/NiceStatus.d.ts +0 -116
- package/dist/types/systems/NiceStealth.d.ts +0 -204
- package/dist/types/systems/NiceSteam.d.ts +0 -255
- package/dist/types/systems/NiceStreaming.d.ts +0 -173
- package/dist/types/systems/NiceSwimming.d.ts +0 -166
- package/dist/types/systems/NiceTalent.d.ts +0 -154
- package/dist/types/systems/NiceTarget.d.ts +0 -121
- package/dist/types/systems/NiceTerrain.d.ts +0 -143
- package/dist/types/systems/NiceTilemap.d.ts +0 -218
- package/dist/types/systems/NiceTimer.d.ts +0 -153
- package/dist/types/systems/NiceTournament.d.ts +0 -190
- package/dist/types/systems/NiceTrading.d.ts +0 -238
- package/dist/types/systems/NiceTransmog.d.ts +0 -142
- package/dist/types/systems/NiceTutorial.d.ts +0 -248
- package/dist/types/systems/NiceTween.d.ts +0 -164
- package/dist/types/systems/NiceUI.d.ts +0 -364
- package/dist/types/systems/NiceVFX.d.ts +0 -333
- package/dist/types/systems/NiceVehicle.d.ts +0 -176
- package/dist/types/systems/NiceVoice.d.ts +0 -502
- package/dist/types/systems/NiceWater.d.ts +0 -162
- package/dist/types/systems/NiceWave.d.ts +0 -174
- package/dist/types/systems/NiceWaypoint.d.ts +0 -165
- package/dist/types/systems/NiceWeather.d.ts +0 -225
- package/dist/types/systems/NiceXR.d.ts +0 -187
- package/dist/types/systems/index.d.ts +0 -182
- package/dist/types/templates/index.d.ts +0 -2
- package/dist/types/tilemap/index.d.ts +0 -1
- package/dist/types/tutorials/TutorialEditor.d.ts +0 -43
- package/dist/types/tutorials/VoiceNarration.d.ts +0 -75
- package/dist/types/tutorials/content/Tutorials_T04.d.ts +0 -3
- package/dist/types/tutorials/content/UITutorials.d.ts +0 -14
- package/dist/types/tutorials/content/index.d.ts +0 -5
- package/dist/types/tutorials/index.d.ts +0 -6
- package/dist/types/ui/index.d.ts +0 -2
- package/dist/types/visual-scripting/VisualScriptDebugger.d.ts +0 -145
- package/dist/types/visual-scripting/VisualScriptExecutor.d.ts +0 -100
- package/dist/types/visual-scripting/VisualScriptGraph.d.ts +0 -173
- package/dist/types/visual-scripting/VisualScriptNode.d.ts +0 -157
- package/dist/types/visual-scripting/index.d.ts +0 -6
- package/dist/types/visual-scripting/nodes/ActionNodes.d.ts +0 -152
- package/dist/types/visual-scripting/nodes/EventNodes.d.ts +0 -95
- package/dist/types/visual-scripting/nodes/FlowControlNodes.d.ts +0 -134
- package/dist/types/visual-scripting/nodes/LogicNodes.d.ts +0 -122
- package/dist/types/visual-scripting/nodes/MathNodes.d.ts +0 -170
- package/dist/types/visual-scripting/nodes/UtilityNodes.d.ts +0 -131
- package/dist/types/visual-scripting/nodes/VariableNodes.d.ts +0 -107
- package/dist/types/visual-scripting/nodes/index.d.ts +0 -21
- package/dist/types/visual-scripting/nodes/registerNodes.d.ts +0 -29
- package/dist/types/visual-scripting/types.d.ts +0 -402
- package/dist/types/xr/WebXRLayers.d.ts +0 -319
- package/dist/types/xr/index.d.ts +0 -2
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
export type RaidId = string;
|
|
2
|
-
export type BossId = string;
|
|
3
|
-
export type PhaseId = string;
|
|
4
|
-
export type MechanicId = string;
|
|
5
|
-
export type AchievementId = string;
|
|
6
|
-
export type RaidDifficulty = 'lfr' | 'normal' | 'heroic' | 'mythic';
|
|
7
|
-
export type RaidRole = 'tank' | 'healer' | 'dps';
|
|
8
|
-
export type RaidStatus = 'forming' | 'ready' | 'in_progress' | 'completed' | 'failed' | 'disbanded';
|
|
9
|
-
export type PhaseStatus = 'pending' | 'active' | 'completed';
|
|
10
|
-
export interface MechanicDefinition {
|
|
11
|
-
id: MechanicId;
|
|
12
|
-
name: string;
|
|
13
|
-
description: string;
|
|
14
|
-
type: 'avoidable' | 'stack' | 'spread' | 'soak' | 'interrupt' | 'tank_swap' | 'heal_check';
|
|
15
|
-
damage?: number;
|
|
16
|
-
duration?: number;
|
|
17
|
-
cooldown?: number;
|
|
18
|
-
warningTime?: number;
|
|
19
|
-
icon?: string;
|
|
20
|
-
}
|
|
21
|
-
export interface PhaseDefinition {
|
|
22
|
-
id: PhaseId;
|
|
23
|
-
name: string;
|
|
24
|
-
description?: string;
|
|
25
|
-
healthThreshold?: number;
|
|
26
|
-
timeLimit?: number;
|
|
27
|
-
mechanics: MechanicDefinition[];
|
|
28
|
-
enrageTimer?: number;
|
|
29
|
-
}
|
|
30
|
-
export interface BossDefinition {
|
|
31
|
-
id: BossId;
|
|
32
|
-
name: string;
|
|
33
|
-
title?: string;
|
|
34
|
-
description: string;
|
|
35
|
-
baseHealth: number;
|
|
36
|
-
baseDamage: number;
|
|
37
|
-
phases: PhaseDefinition[];
|
|
38
|
-
lootTable: Array<{
|
|
39
|
-
itemId: string;
|
|
40
|
-
dropChance: number;
|
|
41
|
-
minQuantity: number;
|
|
42
|
-
maxQuantity: number;
|
|
43
|
-
}>;
|
|
44
|
-
minPlayers: number;
|
|
45
|
-
recommendedRoles: {
|
|
46
|
-
tanks: number;
|
|
47
|
-
healers: number;
|
|
48
|
-
dps: number;
|
|
49
|
-
};
|
|
50
|
-
model?: string;
|
|
51
|
-
portrait?: string;
|
|
52
|
-
achievements?: BossAchievement[];
|
|
53
|
-
}
|
|
54
|
-
export interface BossAchievement {
|
|
55
|
-
id: AchievementId;
|
|
56
|
-
name: string;
|
|
57
|
-
description: string;
|
|
58
|
-
condition: string;
|
|
59
|
-
}
|
|
60
|
-
export interface RaidDefinition {
|
|
61
|
-
id: RaidId;
|
|
62
|
-
name: string;
|
|
63
|
-
description: string;
|
|
64
|
-
tier: number;
|
|
65
|
-
minLevel: number;
|
|
66
|
-
minItemLevel?: number;
|
|
67
|
-
minPlayers: number;
|
|
68
|
-
maxPlayers: number;
|
|
69
|
-
bosses: BossDefinition[];
|
|
70
|
-
bossOrder: BossId[];
|
|
71
|
-
difficulties: RaidDifficulty[];
|
|
72
|
-
difficultyScaling: Record<RaidDifficulty, {
|
|
73
|
-
healthMultiplier: number;
|
|
74
|
-
damageMultiplier: number;
|
|
75
|
-
lootMultiplier: number;
|
|
76
|
-
extraMechanics?: string[];
|
|
77
|
-
}>;
|
|
78
|
-
lockoutType: 'boss' | 'raid';
|
|
79
|
-
lockoutDuration: number;
|
|
80
|
-
icon?: string;
|
|
81
|
-
background?: string;
|
|
82
|
-
completionRewards?: Array<{
|
|
83
|
-
type: string;
|
|
84
|
-
itemId: string;
|
|
85
|
-
quantity: number;
|
|
86
|
-
}>;
|
|
87
|
-
}
|
|
88
|
-
export interface RaidMember {
|
|
89
|
-
playerId: string;
|
|
90
|
-
name: string;
|
|
91
|
-
role: RaidRole;
|
|
92
|
-
class?: string;
|
|
93
|
-
itemLevel?: number;
|
|
94
|
-
ready: boolean;
|
|
95
|
-
connected: boolean;
|
|
96
|
-
alive: boolean;
|
|
97
|
-
damageDealt: number;
|
|
98
|
-
damageTaken: number;
|
|
99
|
-
healingDone: number;
|
|
100
|
-
deaths: number;
|
|
101
|
-
mechanicsHit: number;
|
|
102
|
-
}
|
|
103
|
-
export interface BossInstance {
|
|
104
|
-
bossId: BossId;
|
|
105
|
-
status: 'pending' | 'active' | 'defeated' | 'failed';
|
|
106
|
-
currentPhase: number;
|
|
107
|
-
currentHealth: number;
|
|
108
|
-
maxHealth: number;
|
|
109
|
-
startTime?: number;
|
|
110
|
-
endTime?: number;
|
|
111
|
-
pullCount: number;
|
|
112
|
-
bestAttempt?: number;
|
|
113
|
-
lootDropped?: Array<{
|
|
114
|
-
itemId: string;
|
|
115
|
-
quantity: number;
|
|
116
|
-
awardedTo?: string;
|
|
117
|
-
}>;
|
|
118
|
-
}
|
|
119
|
-
export interface RaidInstance {
|
|
120
|
-
instanceId: string;
|
|
121
|
-
raidId: RaidId;
|
|
122
|
-
definition: RaidDefinition;
|
|
123
|
-
difficulty: RaidDifficulty;
|
|
124
|
-
status: RaidStatus;
|
|
125
|
-
leader: string;
|
|
126
|
-
members: Map<string, RaidMember>;
|
|
127
|
-
currentBossIndex: number;
|
|
128
|
-
bosses: Map<BossId, BossInstance>;
|
|
129
|
-
createdAt: number;
|
|
130
|
-
startedAt?: number;
|
|
131
|
-
completedAt?: number;
|
|
132
|
-
totalWipes: number;
|
|
133
|
-
totalDeaths: number;
|
|
134
|
-
totalDamageDealt: number;
|
|
135
|
-
unlockedAchievements: Set<AchievementId>;
|
|
136
|
-
}
|
|
137
|
-
export interface RaidLockout {
|
|
138
|
-
raidId: RaidId;
|
|
139
|
-
difficulty: RaidDifficulty;
|
|
140
|
-
defeatedBosses: Set<BossId>;
|
|
141
|
-
expiresAt: number;
|
|
142
|
-
}
|
|
143
|
-
export type RaidEventType = 'raid-formed' | 'raid-started' | 'raid-completed' | 'raid-disbanded' | 'member-joined' | 'member-left' | 'boss-pulled' | 'boss-defeated' | 'boss-wipe' | 'phase-changed' | 'mechanic-triggered' | 'loot-dropped' | 'achievement-unlocked';
|
|
144
|
-
export interface RaidEvent {
|
|
145
|
-
type: RaidEventType;
|
|
146
|
-
timestamp: number;
|
|
147
|
-
instanceId: string;
|
|
148
|
-
data?: unknown;
|
|
149
|
-
}
|
|
150
|
-
export type RaidEventCallback = (event: RaidEvent) => void;
|
|
151
|
-
export interface RaidConfig {
|
|
152
|
-
readyCheckTimeout: number;
|
|
153
|
-
pullCountdown: number;
|
|
154
|
-
combatLogRetention: number;
|
|
155
|
-
autoDistributeLoot: boolean;
|
|
156
|
-
personalLootEnabled: boolean;
|
|
157
|
-
storageKey: string;
|
|
158
|
-
}
|
|
159
|
-
export declare const DEFAULT_RAID_CONFIG: RaidConfig;
|
|
160
|
-
export declare class NiceRaid {
|
|
161
|
-
private config;
|
|
162
|
-
private definitions;
|
|
163
|
-
private instances;
|
|
164
|
-
private playerInstances;
|
|
165
|
-
private lockouts;
|
|
166
|
-
private eventListeners;
|
|
167
|
-
private instanceCounter;
|
|
168
|
-
constructor(config?: Partial<RaidConfig>);
|
|
169
|
-
on(event: RaidEventType, callback: RaidEventCallback): () => void;
|
|
170
|
-
private emit;
|
|
171
|
-
registerRaid(definition: RaidDefinition): void;
|
|
172
|
-
getRaidDefinition(raidId: RaidId): RaidDefinition | undefined;
|
|
173
|
-
formRaid(raidId: RaidId, leaderId: string, leaderData: {
|
|
174
|
-
name: string;
|
|
175
|
-
role: RaidRole;
|
|
176
|
-
class?: string;
|
|
177
|
-
itemLevel?: number;
|
|
178
|
-
}, difficulty?: RaidDifficulty): RaidInstance | null;
|
|
179
|
-
joinRaid(instanceId: string, playerId: string, data: {
|
|
180
|
-
name: string;
|
|
181
|
-
role: RaidRole;
|
|
182
|
-
class?: string;
|
|
183
|
-
itemLevel?: number;
|
|
184
|
-
}): boolean;
|
|
185
|
-
leaveRaid(instanceId: string, playerId: string): boolean;
|
|
186
|
-
setReady(instanceId: string, playerId: string, ready: boolean): void;
|
|
187
|
-
getRoleCount(instanceId: string): {
|
|
188
|
-
tanks: number;
|
|
189
|
-
healers: number;
|
|
190
|
-
dps: number;
|
|
191
|
-
};
|
|
192
|
-
startRaid(instanceId: string): boolean;
|
|
193
|
-
disbandRaid(instanceId: string): void;
|
|
194
|
-
pullBoss(instanceId: string, bossId: BossId): boolean;
|
|
195
|
-
damageBoss(instanceId: string, bossId: BossId, damage: number, dealerId?: string): void;
|
|
196
|
-
private checkPhaseTransition;
|
|
197
|
-
defeatBoss(instanceId: string, bossId: BossId): void;
|
|
198
|
-
wipeBoss(instanceId: string, bossId: BossId): void;
|
|
199
|
-
triggerMechanic(instanceId: string, bossId: BossId, mechanicId: MechanicId, affectedPlayers: string[]): void;
|
|
200
|
-
private generateLoot;
|
|
201
|
-
awardLoot(instanceId: string, bossId: BossId, itemId: string, playerId: string): boolean;
|
|
202
|
-
private completeRaid;
|
|
203
|
-
private updateLockout;
|
|
204
|
-
getPlayerLockouts(playerId: string): RaidLockout[];
|
|
205
|
-
hasLockout(playerId: string, raidId: RaidId, difficulty: RaidDifficulty, bossId: BossId): boolean;
|
|
206
|
-
private checkBossAchievements;
|
|
207
|
-
getInstance(instanceId: string): RaidInstance | undefined;
|
|
208
|
-
getPlayerRaid(playerId: string): RaidInstance | undefined;
|
|
209
|
-
getActiveRaids(): RaidInstance[];
|
|
210
|
-
private save;
|
|
211
|
-
private load;
|
|
212
|
-
reset(): void;
|
|
213
|
-
destroy(): void;
|
|
214
|
-
}
|
|
215
|
-
export declare function createRaidSystem(config?: Partial<RaidConfig>): NiceRaid;
|
|
@@ -1,399 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* NiceRanking - Ranking & Tier System
|
|
3
|
-
*
|
|
4
|
-
* Comprehensive competitive ranking system with tiers,
|
|
5
|
-
* divisions, ELO/MMR calculations, and seasonal resets.
|
|
6
|
-
*
|
|
7
|
-
* Features:
|
|
8
|
-
* - Multiple ranking algorithms
|
|
9
|
-
* - Tier & division system
|
|
10
|
-
* - Placement matches
|
|
11
|
-
* - Decay system
|
|
12
|
-
* - Seasonal rankings
|
|
13
|
-
* - Leaderboards
|
|
14
|
-
* - Match history
|
|
15
|
-
* - Skill brackets
|
|
16
|
-
* - Group rankings
|
|
17
|
-
* - Regional rankings
|
|
18
|
-
* - Rank protection
|
|
19
|
-
* - Streaks & bonuses
|
|
20
|
-
*
|
|
21
|
-
* @packageDocumentation
|
|
22
|
-
*/
|
|
23
|
-
import { EventEmitter } from 'events';
|
|
24
|
-
/** Unique player ID */
|
|
25
|
-
export type PlayerId = string;
|
|
26
|
-
/** Unique season ID */
|
|
27
|
-
export type SeasonId = string;
|
|
28
|
-
/** Unique match ID */
|
|
29
|
-
export type MatchId = string;
|
|
30
|
-
/** Ranking algorithm type */
|
|
31
|
-
export type RankingAlgorithm = 'elo' | 'glicko2' | 'trueskill' | 'mmr' | 'custom';
|
|
32
|
-
/** Match result */
|
|
33
|
-
export type MatchResult = 'win' | 'loss' | 'draw' | 'abandoned';
|
|
34
|
-
/** Rank tier */
|
|
35
|
-
export type RankTier = 'unranked' | 'bronze' | 'silver' | 'gold' | 'platinum' | 'diamond' | 'master' | 'grandmaster' | 'legend';
|
|
36
|
-
/** Division within tier */
|
|
37
|
-
export type RankDivision = 1 | 2 | 3 | 4 | 5;
|
|
38
|
-
/** Player ranking data */
|
|
39
|
-
export interface PlayerRanking {
|
|
40
|
-
playerId: PlayerId;
|
|
41
|
-
rating: number;
|
|
42
|
-
peakRating: number;
|
|
43
|
-
tier: RankTier;
|
|
44
|
-
division: RankDivision;
|
|
45
|
-
ratingDeviation: number;
|
|
46
|
-
volatility: number;
|
|
47
|
-
wins: number;
|
|
48
|
-
losses: number;
|
|
49
|
-
draws: number;
|
|
50
|
-
winStreak: number;
|
|
51
|
-
lossStreak: number;
|
|
52
|
-
maxWinStreak: number;
|
|
53
|
-
maxLossStreak: number;
|
|
54
|
-
gamesPlayed: number;
|
|
55
|
-
lastMatchTime?: number;
|
|
56
|
-
placementGames: number;
|
|
57
|
-
placementRequired: number;
|
|
58
|
-
isPlaced: boolean;
|
|
59
|
-
rankProtection: number;
|
|
60
|
-
decayWarning: boolean;
|
|
61
|
-
seasonId: SeasonId;
|
|
62
|
-
region?: string;
|
|
63
|
-
percentile?: number;
|
|
64
|
-
createdAt: number;
|
|
65
|
-
updatedAt: number;
|
|
66
|
-
}
|
|
67
|
-
/** Tier configuration */
|
|
68
|
-
export interface TierConfig {
|
|
69
|
-
tier: RankTier;
|
|
70
|
-
name: string;
|
|
71
|
-
minRating: number;
|
|
72
|
-
maxRating: number;
|
|
73
|
-
divisions: number;
|
|
74
|
-
color: string;
|
|
75
|
-
icon?: string;
|
|
76
|
-
rewards?: TierReward[];
|
|
77
|
-
}
|
|
78
|
-
/** Tier reward */
|
|
79
|
-
export interface TierReward {
|
|
80
|
-
type: string;
|
|
81
|
-
id: string;
|
|
82
|
-
name: string;
|
|
83
|
-
tier: RankTier;
|
|
84
|
-
division?: RankDivision;
|
|
85
|
-
}
|
|
86
|
-
/** Match record */
|
|
87
|
-
export interface MatchRecord {
|
|
88
|
-
matchId: MatchId;
|
|
89
|
-
playerId: PlayerId;
|
|
90
|
-
opponentId?: PlayerId;
|
|
91
|
-
teamId?: string;
|
|
92
|
-
result: MatchResult;
|
|
93
|
-
ratingBefore: number;
|
|
94
|
-
ratingAfter: number;
|
|
95
|
-
ratingChange: number;
|
|
96
|
-
tierBefore?: RankTier;
|
|
97
|
-
tierAfter?: RankTier;
|
|
98
|
-
divisionBefore?: RankDivision;
|
|
99
|
-
divisionAfter?: RankDivision;
|
|
100
|
-
timestamp: number;
|
|
101
|
-
seasonId: SeasonId;
|
|
102
|
-
metadata?: Record<string, unknown>;
|
|
103
|
-
}
|
|
104
|
-
/** Season info */
|
|
105
|
-
export interface Season {
|
|
106
|
-
id: SeasonId;
|
|
107
|
-
name: string;
|
|
108
|
-
startDate: number;
|
|
109
|
-
endDate: number;
|
|
110
|
-
isActive: boolean;
|
|
111
|
-
softResetPercentage: number;
|
|
112
|
-
placementGames: number;
|
|
113
|
-
rewards: SeasonReward[];
|
|
114
|
-
config: SeasonConfig;
|
|
115
|
-
}
|
|
116
|
-
/** Season config */
|
|
117
|
-
export interface SeasonConfig {
|
|
118
|
-
decayEnabled: boolean;
|
|
119
|
-
decayStartDays: number;
|
|
120
|
-
decayRatePerDay: number;
|
|
121
|
-
decayMinRating: number;
|
|
122
|
-
decayFloorTier: RankTier;
|
|
123
|
-
rankProtectionGames: number;
|
|
124
|
-
promoGames: number;
|
|
125
|
-
demotionProtection: number;
|
|
126
|
-
}
|
|
127
|
-
/** Season reward */
|
|
128
|
-
export interface SeasonReward {
|
|
129
|
-
tier: RankTier;
|
|
130
|
-
minDivision?: RankDivision;
|
|
131
|
-
rewards: {
|
|
132
|
-
type: string;
|
|
133
|
-
id: string;
|
|
134
|
-
name: string;
|
|
135
|
-
quantity?: number;
|
|
136
|
-
}[];
|
|
137
|
-
}
|
|
138
|
-
/** Rating calculation result */
|
|
139
|
-
export interface RatingCalculation {
|
|
140
|
-
newRating: number;
|
|
141
|
-
ratingChange: number;
|
|
142
|
-
newDeviation?: number;
|
|
143
|
-
newVolatility?: number;
|
|
144
|
-
newTier: RankTier;
|
|
145
|
-
newDivision: RankDivision;
|
|
146
|
-
promotion: boolean;
|
|
147
|
-
demotion: boolean;
|
|
148
|
-
streakBonus: number;
|
|
149
|
-
placementMultiplier: number;
|
|
150
|
-
}
|
|
151
|
-
/** Leaderboard entry */
|
|
152
|
-
export interface LeaderboardEntry {
|
|
153
|
-
rank: number;
|
|
154
|
-
playerId: PlayerId;
|
|
155
|
-
playerName?: string;
|
|
156
|
-
rating: number;
|
|
157
|
-
tier: RankTier;
|
|
158
|
-
division: RankDivision;
|
|
159
|
-
wins: number;
|
|
160
|
-
losses: number;
|
|
161
|
-
winRate: number;
|
|
162
|
-
region?: string;
|
|
163
|
-
}
|
|
164
|
-
/** Matchmaking bracket */
|
|
165
|
-
export interface SkillBracket {
|
|
166
|
-
id: string;
|
|
167
|
-
name: string;
|
|
168
|
-
minRating: number;
|
|
169
|
-
maxRating: number;
|
|
170
|
-
averageQueueTime?: number;
|
|
171
|
-
playerCount?: number;
|
|
172
|
-
}
|
|
173
|
-
/** Team/Group ranking */
|
|
174
|
-
export interface TeamRanking {
|
|
175
|
-
teamId: string;
|
|
176
|
-
name: string;
|
|
177
|
-
rating: number;
|
|
178
|
-
tier: RankTier;
|
|
179
|
-
division: RankDivision;
|
|
180
|
-
members: PlayerId[];
|
|
181
|
-
wins: number;
|
|
182
|
-
losses: number;
|
|
183
|
-
seasonId: SeasonId;
|
|
184
|
-
}
|
|
185
|
-
/** Ranking statistics */
|
|
186
|
-
export interface RankingStatistics {
|
|
187
|
-
totalPlayers: number;
|
|
188
|
-
rankedPlayers: number;
|
|
189
|
-
averageRating: number;
|
|
190
|
-
medianRating: number;
|
|
191
|
-
tierDistribution: Record<RankTier, number>;
|
|
192
|
-
matchesPlayed: number;
|
|
193
|
-
activePlayers: number;
|
|
194
|
-
}
|
|
195
|
-
/** Ranking event types */
|
|
196
|
-
export type RankingEventType = 'rating_changed' | 'tier_changed' | 'division_changed' | 'promoted' | 'demoted' | 'placement_completed' | 'placement_match' | 'win_streak' | 'loss_streak' | 'peak_rating' | 'decay_warning' | 'decay_applied' | 'season_started' | 'season_ended' | 'season_reset' | 'rewards_granted' | 'leaderboard_updated';
|
|
197
|
-
/** Ranking event data */
|
|
198
|
-
export interface RankingEvent {
|
|
199
|
-
type: RankingEventType;
|
|
200
|
-
timestamp: number;
|
|
201
|
-
playerId?: PlayerId;
|
|
202
|
-
data?: unknown;
|
|
203
|
-
}
|
|
204
|
-
/** Ranking event callback */
|
|
205
|
-
export type RankingEventCallback = (event: RankingEvent) => void;
|
|
206
|
-
/** Ranking system configuration */
|
|
207
|
-
export interface RankingConfig {
|
|
208
|
-
algorithm: RankingAlgorithm;
|
|
209
|
-
initialRating: number;
|
|
210
|
-
initialDeviation: number;
|
|
211
|
-
initialVolatility: number;
|
|
212
|
-
kFactor: number;
|
|
213
|
-
minRating: number;
|
|
214
|
-
maxRating: number;
|
|
215
|
-
streakBonusThreshold: number;
|
|
216
|
-
streakBonusMultiplier: number;
|
|
217
|
-
maxStreakBonus: number;
|
|
218
|
-
placementMultiplier: number;
|
|
219
|
-
drawRatingChange: number;
|
|
220
|
-
regionEnabled: boolean;
|
|
221
|
-
teamRankingEnabled: boolean;
|
|
222
|
-
}
|
|
223
|
-
/** Default configuration */
|
|
224
|
-
export declare const DEFAULT_RANKING_CONFIG: RankingConfig;
|
|
225
|
-
/** Default tier configuration */
|
|
226
|
-
export declare const DEFAULT_TIER_CONFIG: TierConfig[];
|
|
227
|
-
/**
|
|
228
|
-
* Ranking and tier system
|
|
229
|
-
*/
|
|
230
|
-
export declare class NiceRanking extends EventEmitter {
|
|
231
|
-
private config;
|
|
232
|
-
private tierConfigs;
|
|
233
|
-
private rankings;
|
|
234
|
-
private matches;
|
|
235
|
-
private seasons;
|
|
236
|
-
private currentSeason?;
|
|
237
|
-
private teamRankings;
|
|
238
|
-
private brackets;
|
|
239
|
-
private decayInterval?;
|
|
240
|
-
constructor(config?: Partial<RankingConfig>, tierConfigs?: TierConfig[]);
|
|
241
|
-
/**
|
|
242
|
-
* Emit ranking event
|
|
243
|
-
*/
|
|
244
|
-
private emitEvent;
|
|
245
|
-
/**
|
|
246
|
-
* Initialize skill brackets
|
|
247
|
-
*/
|
|
248
|
-
private initializeBrackets;
|
|
249
|
-
/**
|
|
250
|
-
* Load state
|
|
251
|
-
*/
|
|
252
|
-
private loadState;
|
|
253
|
-
/**
|
|
254
|
-
* Save state
|
|
255
|
-
*/
|
|
256
|
-
private saveState;
|
|
257
|
-
/**
|
|
258
|
-
* Create season
|
|
259
|
-
*/
|
|
260
|
-
createSeason(name: string, startDate: number, endDate: number, config?: Partial<SeasonConfig>): Season;
|
|
261
|
-
/**
|
|
262
|
-
* Start season
|
|
263
|
-
*/
|
|
264
|
-
startSeason(seasonId: SeasonId): boolean;
|
|
265
|
-
/**
|
|
266
|
-
* End season
|
|
267
|
-
*/
|
|
268
|
-
endSeason(seasonId: SeasonId): boolean;
|
|
269
|
-
/**
|
|
270
|
-
* Generate default season rewards
|
|
271
|
-
*/
|
|
272
|
-
private generateDefaultSeasonRewards;
|
|
273
|
-
/**
|
|
274
|
-
* Grant season rewards
|
|
275
|
-
*/
|
|
276
|
-
private grantSeasonRewards;
|
|
277
|
-
/**
|
|
278
|
-
* Get tier index
|
|
279
|
-
*/
|
|
280
|
-
private getTierIndex;
|
|
281
|
-
/**
|
|
282
|
-
* Get current season
|
|
283
|
-
*/
|
|
284
|
-
getCurrentSeason(): Season | undefined;
|
|
285
|
-
/**
|
|
286
|
-
* Get season
|
|
287
|
-
*/
|
|
288
|
-
getSeason(seasonId: SeasonId): Season | undefined;
|
|
289
|
-
/**
|
|
290
|
-
* Start decay check
|
|
291
|
-
*/
|
|
292
|
-
private startDecayCheck;
|
|
293
|
-
/**
|
|
294
|
-
* Process decay
|
|
295
|
-
*/
|
|
296
|
-
private processDecay;
|
|
297
|
-
/**
|
|
298
|
-
* Register player
|
|
299
|
-
*/
|
|
300
|
-
registerPlayer(playerId: PlayerId, region?: string): PlayerRanking;
|
|
301
|
-
/**
|
|
302
|
-
* Get player ranking
|
|
303
|
-
*/
|
|
304
|
-
getPlayerRanking(playerId: PlayerId): PlayerRanking | undefined;
|
|
305
|
-
/**
|
|
306
|
-
* Record match
|
|
307
|
-
*/
|
|
308
|
-
recordMatch(playerId: PlayerId, opponentId: PlayerId | undefined, result: MatchResult, metadata?: Record<string, unknown>): RatingCalculation | undefined;
|
|
309
|
-
/**
|
|
310
|
-
* Calculate rating change
|
|
311
|
-
*/
|
|
312
|
-
private calculateRating;
|
|
313
|
-
/**
|
|
314
|
-
* Calculate ELO
|
|
315
|
-
*/
|
|
316
|
-
private calculateElo;
|
|
317
|
-
/**
|
|
318
|
-
* Calculate Glicko-2
|
|
319
|
-
*/
|
|
320
|
-
private calculateGlicko2;
|
|
321
|
-
/**
|
|
322
|
-
* Calculate MMR (simpler rating)
|
|
323
|
-
*/
|
|
324
|
-
private calculateMMR;
|
|
325
|
-
/**
|
|
326
|
-
* Get tier from rating
|
|
327
|
-
*/
|
|
328
|
-
getTierFromRating(rating: number): {
|
|
329
|
-
tier: RankTier;
|
|
330
|
-
division: RankDivision;
|
|
331
|
-
};
|
|
332
|
-
/**
|
|
333
|
-
* Get tier config
|
|
334
|
-
*/
|
|
335
|
-
getTierConfig(tier: RankTier): TierConfig | undefined;
|
|
336
|
-
/**
|
|
337
|
-
* Get all tier configs
|
|
338
|
-
*/
|
|
339
|
-
getAllTierConfigs(): TierConfig[];
|
|
340
|
-
/**
|
|
341
|
-
* Check if promotion
|
|
342
|
-
*/
|
|
343
|
-
private isPromotion;
|
|
344
|
-
/**
|
|
345
|
-
* Check if demotion
|
|
346
|
-
*/
|
|
347
|
-
private isDemotion;
|
|
348
|
-
/**
|
|
349
|
-
* Get leaderboard
|
|
350
|
-
*/
|
|
351
|
-
getLeaderboard(options?: {
|
|
352
|
-
limit?: number;
|
|
353
|
-
offset?: number;
|
|
354
|
-
region?: string;
|
|
355
|
-
tier?: RankTier;
|
|
356
|
-
seasonId?: SeasonId;
|
|
357
|
-
}): LeaderboardEntry[];
|
|
358
|
-
/**
|
|
359
|
-
* Get player rank position
|
|
360
|
-
*/
|
|
361
|
-
getPlayerRankPosition(playerId: PlayerId): number;
|
|
362
|
-
/**
|
|
363
|
-
* Update percentiles
|
|
364
|
-
*/
|
|
365
|
-
private updatePercentiles;
|
|
366
|
-
/**
|
|
367
|
-
* Get match history
|
|
368
|
-
*/
|
|
369
|
-
getMatchHistory(playerId: PlayerId, limit?: number): MatchRecord[];
|
|
370
|
-
/**
|
|
371
|
-
* Get skill bracket for rating
|
|
372
|
-
*/
|
|
373
|
-
getSkillBracket(rating: number): SkillBracket | undefined;
|
|
374
|
-
/**
|
|
375
|
-
* Get all brackets
|
|
376
|
-
*/
|
|
377
|
-
getAllBrackets(): SkillBracket[];
|
|
378
|
-
/**
|
|
379
|
-
* Get ranking statistics
|
|
380
|
-
*/
|
|
381
|
-
getStatistics(): RankingStatistics;
|
|
382
|
-
/**
|
|
383
|
-
* Load from storage
|
|
384
|
-
*/
|
|
385
|
-
private loadFromStorage;
|
|
386
|
-
/**
|
|
387
|
-
* Save to storage
|
|
388
|
-
*/
|
|
389
|
-
private saveToStorage;
|
|
390
|
-
/**
|
|
391
|
-
* Destroy ranking system
|
|
392
|
-
*/
|
|
393
|
-
destroy(): void;
|
|
394
|
-
}
|
|
395
|
-
/**
|
|
396
|
-
* Create ranking system instance
|
|
397
|
-
*/
|
|
398
|
-
export declare function createRankingSystem(config?: Partial<RankingConfig>, tierConfigs?: TierConfig[]): NiceRanking;
|
|
399
|
-
export default NiceRanking;
|