@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,140 +0,0 @@
|
|
|
1
|
-
export type FormationId = string;
|
|
2
|
-
export type UnitId = string;
|
|
3
|
-
export type FormationPatternType = 'line' | 'column' | 'wedge' | 'square' | 'circle' | 'arc' | 'scattered' | 'custom';
|
|
4
|
-
export interface Vector2D {
|
|
5
|
-
x: number;
|
|
6
|
-
y: number;
|
|
7
|
-
}
|
|
8
|
-
export interface FormationSlot {
|
|
9
|
-
index: number;
|
|
10
|
-
offset: Vector2D;
|
|
11
|
-
unitId?: UnitId;
|
|
12
|
-
priority: number;
|
|
13
|
-
role?: string;
|
|
14
|
-
facing?: number;
|
|
15
|
-
}
|
|
16
|
-
export interface FormationPattern {
|
|
17
|
-
type: FormationPatternType;
|
|
18
|
-
name: string;
|
|
19
|
-
slots: FormationSlot[];
|
|
20
|
-
spacing: number;
|
|
21
|
-
depth: number;
|
|
22
|
-
width: number;
|
|
23
|
-
rotatable: boolean;
|
|
24
|
-
scalable: boolean;
|
|
25
|
-
}
|
|
26
|
-
export interface Formation {
|
|
27
|
-
id: FormationId;
|
|
28
|
-
pattern: FormationPattern;
|
|
29
|
-
position: Vector2D;
|
|
30
|
-
rotation: number;
|
|
31
|
-
scale: number;
|
|
32
|
-
units: UnitId[];
|
|
33
|
-
leader?: UnitId;
|
|
34
|
-
state: FormationState;
|
|
35
|
-
targetPosition?: Vector2D;
|
|
36
|
-
targetRotation?: number;
|
|
37
|
-
speed: number;
|
|
38
|
-
modifiers: FormationModifier[];
|
|
39
|
-
}
|
|
40
|
-
export type FormationState = 'idle' | 'moving' | 'reforming' | 'engaging' | 'disbanding';
|
|
41
|
-
export interface FormationModifier {
|
|
42
|
-
id: string;
|
|
43
|
-
type: 'spacing' | 'speed' | 'cohesion' | 'facing';
|
|
44
|
-
value: number;
|
|
45
|
-
source?: string;
|
|
46
|
-
}
|
|
47
|
-
export interface UnitFormationState {
|
|
48
|
-
unitId: UnitId;
|
|
49
|
-
formationId: FormationId;
|
|
50
|
-
slotIndex: number;
|
|
51
|
-
targetPosition: Vector2D;
|
|
52
|
-
currentPosition: Vector2D;
|
|
53
|
-
targetFacing: number;
|
|
54
|
-
inPosition: boolean;
|
|
55
|
-
distanceToSlot: number;
|
|
56
|
-
}
|
|
57
|
-
export type FormationEventType = 'formation-created' | 'formation-disbanded' | 'formation-pattern-changed' | 'unit-joined' | 'unit-left' | 'unit-assigned-slot' | 'formation-moving' | 'formation-arrived' | 'formation-reformed' | 'formation-broken' | 'leader-changed';
|
|
58
|
-
export interface FormationEvent {
|
|
59
|
-
type: FormationEventType;
|
|
60
|
-
timestamp: number;
|
|
61
|
-
formationId: FormationId;
|
|
62
|
-
data?: unknown;
|
|
63
|
-
}
|
|
64
|
-
export type FormationEventCallback = (event: FormationEvent) => void;
|
|
65
|
-
export interface FormationConfig {
|
|
66
|
-
/** Default spacing between units */
|
|
67
|
-
defaultSpacing: number;
|
|
68
|
-
/** Position tolerance for "in position" */
|
|
69
|
-
positionTolerance: number;
|
|
70
|
-
/** Reform speed multiplier */
|
|
71
|
-
reformSpeed: number;
|
|
72
|
-
/** Max units per formation */
|
|
73
|
-
maxUnitsPerFormation: number;
|
|
74
|
-
/** Enable automatic slot optimization */
|
|
75
|
-
autoOptimizeSlots: boolean;
|
|
76
|
-
/** Cohesion break distance */
|
|
77
|
-
cohesionBreakDistance: number;
|
|
78
|
-
}
|
|
79
|
-
export declare const DEFAULT_FORMATION_CONFIG: FormationConfig;
|
|
80
|
-
export interface UnitPositionProvider {
|
|
81
|
-
getPosition(unitId: UnitId): Vector2D | null;
|
|
82
|
-
setTargetPosition(unitId: UnitId, position: Vector2D, facing?: number): void;
|
|
83
|
-
getSpeed(unitId: UnitId): number;
|
|
84
|
-
}
|
|
85
|
-
export declare class NiceFormation {
|
|
86
|
-
private config;
|
|
87
|
-
private formations;
|
|
88
|
-
private unitToFormation;
|
|
89
|
-
private unitStates;
|
|
90
|
-
private patterns;
|
|
91
|
-
private positionProvider?;
|
|
92
|
-
private idCounter;
|
|
93
|
-
private eventListeners;
|
|
94
|
-
constructor(config?: Partial<FormationConfig>);
|
|
95
|
-
on(event: FormationEventType, callback: FormationEventCallback): () => void;
|
|
96
|
-
private emit;
|
|
97
|
-
setPositionProvider(provider: UnitPositionProvider): void;
|
|
98
|
-
private registerDefaultPatterns;
|
|
99
|
-
private generateLineSlots;
|
|
100
|
-
private generateColumnSlots;
|
|
101
|
-
private generateWedgeSlots;
|
|
102
|
-
private generateSquareSlots;
|
|
103
|
-
private generateCircleSlots;
|
|
104
|
-
private generateArcSlots;
|
|
105
|
-
private generateScatteredSlots;
|
|
106
|
-
registerPattern(id: string, pattern: FormationPattern): void;
|
|
107
|
-
getPattern(id: string): FormationPattern | undefined;
|
|
108
|
-
getPatternNames(): string[];
|
|
109
|
-
createFormation(patternId: string, position: Vector2D, options?: {
|
|
110
|
-
rotation?: number;
|
|
111
|
-
scale?: number;
|
|
112
|
-
units?: UnitId[];
|
|
113
|
-
leader?: UnitId;
|
|
114
|
-
speed?: number;
|
|
115
|
-
}): FormationId | null;
|
|
116
|
-
disbandFormation(formationId: FormationId): void;
|
|
117
|
-
getFormation(formationId: FormationId): Formation | undefined;
|
|
118
|
-
getAllFormations(): Formation[];
|
|
119
|
-
addUnit(formationId: FormationId, unitId: UnitId): boolean;
|
|
120
|
-
removeUnit(formationId: FormationId, unitId: UnitId): void;
|
|
121
|
-
private assignSlot;
|
|
122
|
-
private selectNewLeader;
|
|
123
|
-
private reorganizeSlots;
|
|
124
|
-
moveFormation(formationId: FormationId, targetPosition: Vector2D): void;
|
|
125
|
-
rotateFormation(formationId: FormationId, targetRotation: number): void;
|
|
126
|
-
setFormationScale(formationId: FormationId, scale: number): void;
|
|
127
|
-
changePattern(formationId: FormationId, patternId: string): void;
|
|
128
|
-
private updateFormation;
|
|
129
|
-
update(deltaTime: number): void;
|
|
130
|
-
private updateFormationState;
|
|
131
|
-
getUnitFormation(unitId: UnitId): FormationId | undefined;
|
|
132
|
-
getUnitState(unitId: UnitId): UnitFormationState | undefined;
|
|
133
|
-
getSlotPosition(formationId: FormationId, slotIndex: number): Vector2D | null;
|
|
134
|
-
isFormationComplete(formationId: FormationId): boolean;
|
|
135
|
-
addModifier(formationId: FormationId, modifier: FormationModifier): void;
|
|
136
|
-
removeModifier(formationId: FormationId, modifierId: string): void;
|
|
137
|
-
private applyModifiers;
|
|
138
|
-
destroy(): void;
|
|
139
|
-
}
|
|
140
|
-
export declare function createFormationSystem(config?: Partial<FormationConfig>): NiceFormation;
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
export type BannerId = string;
|
|
2
|
-
export type ItemId = string;
|
|
3
|
-
export type CurrencyId = string;
|
|
4
|
-
export type GachaRarity = 'common' | 'uncommon' | 'rare' | 'epic' | 'legendary' | 'mythic';
|
|
5
|
-
export interface GachaItem {
|
|
6
|
-
id: ItemId;
|
|
7
|
-
name: string;
|
|
8
|
-
description: string;
|
|
9
|
-
rarity: GachaRarity;
|
|
10
|
-
icon?: string;
|
|
11
|
-
model?: string;
|
|
12
|
-
type: string;
|
|
13
|
-
tags?: string[];
|
|
14
|
-
}
|
|
15
|
-
export interface GachaPullResult {
|
|
16
|
-
item: GachaItem;
|
|
17
|
-
isRateUp: boolean;
|
|
18
|
-
isPity: boolean;
|
|
19
|
-
isSpark: boolean;
|
|
20
|
-
banner: BannerId;
|
|
21
|
-
timestamp: number;
|
|
22
|
-
}
|
|
23
|
-
export interface BannerPool {
|
|
24
|
-
rarity: GachaRarity;
|
|
25
|
-
baseRate: number;
|
|
26
|
-
items: ItemId[];
|
|
27
|
-
rateUpItems?: ItemId[];
|
|
28
|
-
rateUpBonus?: number;
|
|
29
|
-
}
|
|
30
|
-
export interface BannerDefinition {
|
|
31
|
-
id: BannerId;
|
|
32
|
-
name: string;
|
|
33
|
-
description: string;
|
|
34
|
-
startDate?: Date | number;
|
|
35
|
-
endDate?: Date | number;
|
|
36
|
-
pools: BannerPool[];
|
|
37
|
-
currency: CurrencyId;
|
|
38
|
-
singlePullCost: number;
|
|
39
|
-
multiPullCost?: number;
|
|
40
|
-
multiPullCount?: number;
|
|
41
|
-
softPityStart?: number;
|
|
42
|
-
softPityRateIncrease?: number;
|
|
43
|
-
hardPity?: number;
|
|
44
|
-
hardPityRarity?: GachaRarity;
|
|
45
|
-
sparkCost?: number;
|
|
46
|
-
sparkItems?: ItemId[];
|
|
47
|
-
banner?: string;
|
|
48
|
-
featured?: ItemId[];
|
|
49
|
-
dailyLimit?: number;
|
|
50
|
-
totalLimit?: number;
|
|
51
|
-
}
|
|
52
|
-
export interface BannerState {
|
|
53
|
-
bannerId: BannerId;
|
|
54
|
-
pullCount: number;
|
|
55
|
-
pityCounter: number;
|
|
56
|
-
sparkPoints: number;
|
|
57
|
-
dailyPulls: number;
|
|
58
|
-
lastPullDate: string;
|
|
59
|
-
history: GachaPullResult[];
|
|
60
|
-
}
|
|
61
|
-
export type GachaEventType = 'banner-added' | 'banner-removed' | 'pull-single' | 'pull-multi' | 'pity-triggered' | 'spark-redeemed' | 'currency-spent' | 'item-obtained';
|
|
62
|
-
export interface GachaEvent {
|
|
63
|
-
type: GachaEventType;
|
|
64
|
-
timestamp: number;
|
|
65
|
-
data?: unknown;
|
|
66
|
-
}
|
|
67
|
-
export type GachaEventCallback = (event: GachaEvent) => void;
|
|
68
|
-
export interface GachaConfig {
|
|
69
|
-
defaultRates: Record<GachaRarity, number>;
|
|
70
|
-
sparkPointsPerPull: number;
|
|
71
|
-
enableAnimation: boolean;
|
|
72
|
-
maxHistoryPerBanner: number;
|
|
73
|
-
storageKey: string;
|
|
74
|
-
}
|
|
75
|
-
export declare const DEFAULT_GACHA_CONFIG: GachaConfig;
|
|
76
|
-
export declare const RARITY_ORDER: GachaRarity[];
|
|
77
|
-
export declare class NiceGacha {
|
|
78
|
-
private config;
|
|
79
|
-
private items;
|
|
80
|
-
private banners;
|
|
81
|
-
private bannerStates;
|
|
82
|
-
private currencies;
|
|
83
|
-
private eventListeners;
|
|
84
|
-
constructor(config?: Partial<GachaConfig>);
|
|
85
|
-
on(event: GachaEventType, callback: GachaEventCallback): () => void;
|
|
86
|
-
private emit;
|
|
87
|
-
registerItem(item: GachaItem): void;
|
|
88
|
-
registerItems(items: GachaItem[]): void;
|
|
89
|
-
addBanner(banner: BannerDefinition): void;
|
|
90
|
-
removeBanner(bannerId: BannerId): void;
|
|
91
|
-
setCurrency(currencyId: CurrencyId, amount: number): void;
|
|
92
|
-
addCurrency(currencyId: CurrencyId, amount: number): void;
|
|
93
|
-
getCurrency(currencyId: CurrencyId): number;
|
|
94
|
-
private spendCurrency;
|
|
95
|
-
canPull(bannerId: BannerId, count?: number): {
|
|
96
|
-
canPull: boolean;
|
|
97
|
-
reason?: string;
|
|
98
|
-
};
|
|
99
|
-
pull(bannerId: BannerId): GachaPullResult | null;
|
|
100
|
-
multiPull(bannerId: BannerId): GachaPullResult[] | null;
|
|
101
|
-
private performPull;
|
|
102
|
-
private calculateRates;
|
|
103
|
-
private updateBannerState;
|
|
104
|
-
canSpark(bannerId: BannerId, itemId: ItemId): boolean;
|
|
105
|
-
spark(bannerId: BannerId, itemId: ItemId): GachaItem | null;
|
|
106
|
-
getBanner(bannerId: BannerId): BannerDefinition | undefined;
|
|
107
|
-
getBannerState(bannerId: BannerId): BannerState | undefined;
|
|
108
|
-
getActiveBanners(): BannerDefinition[];
|
|
109
|
-
getHistory(bannerId: BannerId, limit?: number): GachaPullResult[];
|
|
110
|
-
getPityInfo(bannerId: BannerId): {
|
|
111
|
-
current: number;
|
|
112
|
-
softPityStart: number | null;
|
|
113
|
-
hardPity: number | null;
|
|
114
|
-
untilSoftPity: number | null;
|
|
115
|
-
untilHardPity: number | null;
|
|
116
|
-
} | null;
|
|
117
|
-
getSparkInfo(bannerId: BannerId): {
|
|
118
|
-
current: number;
|
|
119
|
-
cost: number | null;
|
|
120
|
-
available: ItemId[];
|
|
121
|
-
progress: number;
|
|
122
|
-
} | null;
|
|
123
|
-
getStats(bannerId?: BannerId): {
|
|
124
|
-
totalPulls: number;
|
|
125
|
-
rarityDistribution: Record<GachaRarity, number>;
|
|
126
|
-
rateUpHits: number;
|
|
127
|
-
pityHits: number;
|
|
128
|
-
};
|
|
129
|
-
private save;
|
|
130
|
-
private load;
|
|
131
|
-
reset(bannerId?: BannerId): void;
|
|
132
|
-
destroy(): void;
|
|
133
|
-
}
|
|
134
|
-
export declare function createGachaSystem(config?: Partial<GachaConfig>): NiceGacha;
|
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
export type GameId = string;
|
|
2
|
-
export type JackpotId = string;
|
|
3
|
-
export type GamblingGameType = 'slots' | 'dice' | 'blackjack' | 'poker' | 'roulette' | 'wheel' | 'scratch' | 'custom';
|
|
4
|
-
export type BetResult = 'win' | 'loss' | 'push' | 'jackpot';
|
|
5
|
-
export interface GamblingPayout {
|
|
6
|
-
condition: string;
|
|
7
|
-
multiplier: number;
|
|
8
|
-
chance?: number;
|
|
9
|
-
}
|
|
10
|
-
export interface GamblingGame {
|
|
11
|
-
id: GameId;
|
|
12
|
-
name: string;
|
|
13
|
-
description: string;
|
|
14
|
-
type: GamblingGameType;
|
|
15
|
-
minBet: number;
|
|
16
|
-
maxBet: number;
|
|
17
|
-
currency: string;
|
|
18
|
-
houseEdge: number;
|
|
19
|
-
payouts: GamblingPayout[];
|
|
20
|
-
jackpotContribution?: number;
|
|
21
|
-
cooldown?: number;
|
|
22
|
-
dailyLimit?: number;
|
|
23
|
-
sessionLimit?: number;
|
|
24
|
-
icon?: string;
|
|
25
|
-
theme?: string;
|
|
26
|
-
}
|
|
27
|
-
export interface SlotSymbol {
|
|
28
|
-
id: string;
|
|
29
|
-
name: string;
|
|
30
|
-
icon: string;
|
|
31
|
-
weight: number;
|
|
32
|
-
payoutMultiplier: number;
|
|
33
|
-
isWild?: boolean;
|
|
34
|
-
isScatter?: boolean;
|
|
35
|
-
}
|
|
36
|
-
export interface SlotConfig extends GamblingGame {
|
|
37
|
-
type: 'slots';
|
|
38
|
-
reels: number;
|
|
39
|
-
rows: number;
|
|
40
|
-
symbols: SlotSymbol[];
|
|
41
|
-
paylines: number[][];
|
|
42
|
-
freeSpinsSymbol?: string;
|
|
43
|
-
freeSpinsCount?: number;
|
|
44
|
-
}
|
|
45
|
-
export interface DiceConfig extends GamblingGame {
|
|
46
|
-
type: 'dice';
|
|
47
|
-
numDice: number;
|
|
48
|
-
sides: number;
|
|
49
|
-
targetModes: Array<'over' | 'under' | 'exact'>;
|
|
50
|
-
}
|
|
51
|
-
export type RouletteBetType = 'straight' | 'split' | 'street' | 'corner' | 'line' | 'dozen' | 'column' | 'red' | 'black' | 'odd' | 'even' | 'low' | 'high';
|
|
52
|
-
export interface RouletteConfig extends GamblingGame {
|
|
53
|
-
type: 'roulette';
|
|
54
|
-
numbers: number[];
|
|
55
|
-
hasDoubleZero: boolean;
|
|
56
|
-
betTypes: RouletteBetType[];
|
|
57
|
-
}
|
|
58
|
-
export interface Jackpot {
|
|
59
|
-
id: JackpotId;
|
|
60
|
-
name: string;
|
|
61
|
-
currentAmount: number;
|
|
62
|
-
seedAmount: number;
|
|
63
|
-
contributionRate: number;
|
|
64
|
-
lastWonAt?: number;
|
|
65
|
-
lastWonBy?: string;
|
|
66
|
-
lastWonAmount?: number;
|
|
67
|
-
linkedGames: GameId[];
|
|
68
|
-
}
|
|
69
|
-
export interface Bet {
|
|
70
|
-
id: string;
|
|
71
|
-
gameId: GameId;
|
|
72
|
-
playerId: string;
|
|
73
|
-
amount: number;
|
|
74
|
-
betType?: string;
|
|
75
|
-
betValue?: unknown;
|
|
76
|
-
timestamp: number;
|
|
77
|
-
}
|
|
78
|
-
export interface BetOutcome {
|
|
79
|
-
bet: Bet;
|
|
80
|
-
result: BetResult;
|
|
81
|
-
outcome: unknown;
|
|
82
|
-
winAmount: number;
|
|
83
|
-
multiplier: number;
|
|
84
|
-
jackpotWon?: number;
|
|
85
|
-
animationData?: unknown;
|
|
86
|
-
}
|
|
87
|
-
export interface GamblingPlayerStats {
|
|
88
|
-
playerId: string;
|
|
89
|
-
totalBets: number;
|
|
90
|
-
totalWagered: number;
|
|
91
|
-
totalWon: number;
|
|
92
|
-
totalLost: number;
|
|
93
|
-
netProfit: number;
|
|
94
|
-
biggestWin: number;
|
|
95
|
-
biggestLoss: number;
|
|
96
|
-
currentStreak: number;
|
|
97
|
-
bestWinStreak: number;
|
|
98
|
-
jackpotsWon: number;
|
|
99
|
-
sessionBets: number;
|
|
100
|
-
sessionWagered: number;
|
|
101
|
-
sessionNet: number;
|
|
102
|
-
sessionStart: number;
|
|
103
|
-
dailyBets: number;
|
|
104
|
-
dailyWagered: number;
|
|
105
|
-
lastBetDate: string;
|
|
106
|
-
dailyLimitReached: boolean;
|
|
107
|
-
sessionLimitReached: boolean;
|
|
108
|
-
cooldownUntil?: number;
|
|
109
|
-
}
|
|
110
|
-
export type GamblingEventType = 'bet-placed' | 'bet-result' | 'jackpot-won' | 'jackpot-contribution' | 'streak-bonus' | 'daily-limit-reached' | 'session-limit-reached' | 'game-cooldown';
|
|
111
|
-
export interface GamblingEvent {
|
|
112
|
-
type: GamblingEventType;
|
|
113
|
-
timestamp: number;
|
|
114
|
-
playerId?: string;
|
|
115
|
-
gameId?: GameId;
|
|
116
|
-
data?: unknown;
|
|
117
|
-
}
|
|
118
|
-
export type GamblingEventCallback = (event: GamblingEvent) => void;
|
|
119
|
-
export interface GamblingConfig {
|
|
120
|
-
defaultCurrency: string;
|
|
121
|
-
enableResponsibleGaming: boolean;
|
|
122
|
-
defaultDailyLimit: number;
|
|
123
|
-
defaultSessionLimit: number;
|
|
124
|
-
sessionTimeout: number;
|
|
125
|
-
streakBonusThreshold: number;
|
|
126
|
-
streakBonusMultiplier: number;
|
|
127
|
-
maxStreakBonus: number;
|
|
128
|
-
storageKey: string;
|
|
129
|
-
}
|
|
130
|
-
export declare const DEFAULT_GAMBLING_CONFIG: GamblingConfig;
|
|
131
|
-
export declare class NiceGambling {
|
|
132
|
-
private config;
|
|
133
|
-
private games;
|
|
134
|
-
private jackpots;
|
|
135
|
-
private playerStats;
|
|
136
|
-
private betHistory;
|
|
137
|
-
private eventListeners;
|
|
138
|
-
private betCounter;
|
|
139
|
-
constructor(config?: Partial<GamblingConfig>);
|
|
140
|
-
on(event: GamblingEventType, callback: GamblingEventCallback): () => void;
|
|
141
|
-
private emit;
|
|
142
|
-
registerGame(game: GamblingGame): void;
|
|
143
|
-
registerJackpot(jackpot: Jackpot): void;
|
|
144
|
-
private getOrCreateStats;
|
|
145
|
-
getPlayerStats(playerId: string): GamblingPlayerStats;
|
|
146
|
-
canBet(playerId: string, gameId: GameId, amount: number): {
|
|
147
|
-
can: boolean;
|
|
148
|
-
reason?: string;
|
|
149
|
-
};
|
|
150
|
-
placeBet(playerId: string, gameId: GameId, amount: number, betType?: string, betValue?: unknown): BetOutcome | null;
|
|
151
|
-
private processGameBet;
|
|
152
|
-
private processSlotsBet;
|
|
153
|
-
private weightedRandomSymbol;
|
|
154
|
-
private evaluateSlotLine;
|
|
155
|
-
private processDiceBet;
|
|
156
|
-
private processRouletteBet;
|
|
157
|
-
private getRouletteNumbers;
|
|
158
|
-
private getRoulettePayout;
|
|
159
|
-
private processGenericBet;
|
|
160
|
-
private updatePlayerStats;
|
|
161
|
-
private updateStreak;
|
|
162
|
-
private checkLimits;
|
|
163
|
-
private contributeToJackpot;
|
|
164
|
-
private awardJackpot;
|
|
165
|
-
getGame(gameId: GameId): GamblingGame | undefined;
|
|
166
|
-
getAllGames(): GamblingGame[];
|
|
167
|
-
getJackpot(jackpotId: JackpotId): Jackpot | undefined;
|
|
168
|
-
getAllJackpots(): Jackpot[];
|
|
169
|
-
getBetHistory(playerId?: string, limit?: number): BetOutcome[];
|
|
170
|
-
private save;
|
|
171
|
-
private load;
|
|
172
|
-
reset(): void;
|
|
173
|
-
destroy(): void;
|
|
174
|
-
}
|
|
175
|
-
export declare function createGamblingSystem(config?: Partial<GamblingConfig>): NiceGambling;
|
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
export type GemId = string;
|
|
2
|
-
export type GemSetId = string;
|
|
3
|
-
export type GemType = 'ruby' | 'sapphire' | 'emerald' | 'topaz' | 'diamond' | 'amethyst' | 'onyx' | 'opal' | 'prismatic';
|
|
4
|
-
export type GemQuality = 'chipped' | 'flawed' | 'normal' | 'flawless' | 'perfect' | 'radiant';
|
|
5
|
-
export type SocketColor = 'red' | 'blue' | 'green' | 'yellow' | 'white' | 'prismatic';
|
|
6
|
-
export interface GemDefinition {
|
|
7
|
-
id: GemId;
|
|
8
|
-
name: string;
|
|
9
|
-
description: string;
|
|
10
|
-
type: GemType;
|
|
11
|
-
quality: GemQuality;
|
|
12
|
-
tier: number;
|
|
13
|
-
weaponStats: GemStat[];
|
|
14
|
-
armorStats: GemStat[];
|
|
15
|
-
helmStats: GemStat[];
|
|
16
|
-
socketColor: SocketColor;
|
|
17
|
-
combineInto?: GemId;
|
|
18
|
-
combineCount: number;
|
|
19
|
-
setId?: GemSetId;
|
|
20
|
-
icon: string;
|
|
21
|
-
color: string;
|
|
22
|
-
sparkle?: string;
|
|
23
|
-
sellValue: number;
|
|
24
|
-
tags?: string[];
|
|
25
|
-
}
|
|
26
|
-
export interface GemStat {
|
|
27
|
-
stat: string;
|
|
28
|
-
value: number;
|
|
29
|
-
isPercentage: boolean;
|
|
30
|
-
}
|
|
31
|
-
export interface GemSetDefinition {
|
|
32
|
-
id: GemSetId;
|
|
33
|
-
name: string;
|
|
34
|
-
description?: string;
|
|
35
|
-
gems: GemId[];
|
|
36
|
-
bonuses: GemSetBonus[];
|
|
37
|
-
}
|
|
38
|
-
export interface GemSetBonus {
|
|
39
|
-
count: number;
|
|
40
|
-
stats: GemStat[];
|
|
41
|
-
effect?: string;
|
|
42
|
-
effectDescription?: string;
|
|
43
|
-
}
|
|
44
|
-
export interface GemSocketedItem {
|
|
45
|
-
itemId: string;
|
|
46
|
-
itemType: 'weapon' | 'armor' | 'helm' | 'shield' | 'accessory';
|
|
47
|
-
sockets: GemSocket[];
|
|
48
|
-
maxSockets: number;
|
|
49
|
-
computedStats: Map<string, number>;
|
|
50
|
-
activeSetBonuses: ActiveSetBonus[];
|
|
51
|
-
}
|
|
52
|
-
export interface GemSocket {
|
|
53
|
-
index: number;
|
|
54
|
-
color: SocketColor;
|
|
55
|
-
gem?: GemId;
|
|
56
|
-
locked: boolean;
|
|
57
|
-
}
|
|
58
|
-
export interface ActiveSetBonus {
|
|
59
|
-
setId: GemSetId;
|
|
60
|
-
count: number;
|
|
61
|
-
bonuses: GemSetBonus[];
|
|
62
|
-
}
|
|
63
|
-
export interface PlayerGemData {
|
|
64
|
-
playerId: string;
|
|
65
|
-
gemStash: Map<GemId, number>;
|
|
66
|
-
maxGemSlots: number;
|
|
67
|
-
jewelerLevel: number;
|
|
68
|
-
jewelerXP: number;
|
|
69
|
-
totalGemsFound: number;
|
|
70
|
-
totalGemsCombined: number;
|
|
71
|
-
totalGemsSocketed: number;
|
|
72
|
-
perfectGemsCreated: number;
|
|
73
|
-
}
|
|
74
|
-
export interface CombineResult {
|
|
75
|
-
success: boolean;
|
|
76
|
-
resultGem?: GemId;
|
|
77
|
-
gemsConsumed: number;
|
|
78
|
-
}
|
|
79
|
-
export type GemEventType = 'gem-obtained' | 'gem-socketed' | 'gem-removed' | 'gem-combined' | 'gem-extracted' | 'socket-added' | 'socket-unlocked' | 'set-bonus-activated' | 'jeweler-level-up';
|
|
80
|
-
export interface GemEvent {
|
|
81
|
-
type: GemEventType;
|
|
82
|
-
timestamp: number;
|
|
83
|
-
data?: unknown;
|
|
84
|
-
}
|
|
85
|
-
export type GemEventCallback = (event: GemEvent) => void;
|
|
86
|
-
export interface GemConfig {
|
|
87
|
-
maxGemSlots: number;
|
|
88
|
-
defaultCombineCount: number;
|
|
89
|
-
extractionSuccessRate: number;
|
|
90
|
-
socketUnlockCost: number;
|
|
91
|
-
jewelerXPPerLevel: number;
|
|
92
|
-
jewelerMaxLevel: number;
|
|
93
|
-
storageKey: string;
|
|
94
|
-
}
|
|
95
|
-
export declare const DEFAULT_GEM_CONFIG: GemConfig;
|
|
96
|
-
export declare class NiceGem {
|
|
97
|
-
private config;
|
|
98
|
-
private gems;
|
|
99
|
-
private sets;
|
|
100
|
-
private items;
|
|
101
|
-
private players;
|
|
102
|
-
private eventListeners;
|
|
103
|
-
constructor(config?: Partial<GemConfig>);
|
|
104
|
-
on(event: GemEventType, callback: GemEventCallback): () => void;
|
|
105
|
-
private emit;
|
|
106
|
-
registerGem(gem: GemDefinition): void;
|
|
107
|
-
registerGems(gems: GemDefinition[]): void;
|
|
108
|
-
registerSet(set: GemSetDefinition): void;
|
|
109
|
-
getPlayer(playerId: string): PlayerGemData;
|
|
110
|
-
private createPlayerData;
|
|
111
|
-
addGem(playerId: string, gemId: GemId, count?: number): boolean;
|
|
112
|
-
removeGem(playerId: string, gemId: GemId, count?: number): boolean;
|
|
113
|
-
getGemCount(playerId: string, gemId: GemId): number;
|
|
114
|
-
getGemInventory(playerId: string): Map<GemId, number>;
|
|
115
|
-
getGemsByType(playerId: string, type: GemType): {
|
|
116
|
-
gem: GemDefinition;
|
|
117
|
-
count: number;
|
|
118
|
-
}[];
|
|
119
|
-
registerItem(itemId: string, itemType: GemSocketedItem['itemType'], socketCount: number, socketColors?: SocketColor[]): GemSocketedItem;
|
|
120
|
-
getItem(itemId: string): GemSocketedItem | undefined;
|
|
121
|
-
addSocket(itemId: string, color?: SocketColor, maxSockets?: number): boolean;
|
|
122
|
-
socketGem(playerId: string, itemId: string, socketIndex: number, gemId: GemId): boolean;
|
|
123
|
-
unsocketGem(playerId: string, itemId: string, socketIndex: number): GemId | null;
|
|
124
|
-
unsocketAllGems(playerId: string, itemId: string): GemId[];
|
|
125
|
-
extractGem(playerId: string, itemId: string, socketIndex: number): {
|
|
126
|
-
success: boolean;
|
|
127
|
-
gemId?: GemId;
|
|
128
|
-
destroyed: boolean;
|
|
129
|
-
};
|
|
130
|
-
private gemTypeToSocketColor;
|
|
131
|
-
canCombine(playerId: string, gemId: GemId): boolean;
|
|
132
|
-
combineGems(playerId: string, gemId: GemId): CombineResult;
|
|
133
|
-
combineAllGems(playerId: string, gemId: GemId): CombineResult[];
|
|
134
|
-
private recalculateItem;
|
|
135
|
-
private getGemStatsForItem;
|
|
136
|
-
private calculateSetBonuses;
|
|
137
|
-
addJewelerXP(playerId: string, xp: number): void;
|
|
138
|
-
getJewelerXPForLevel(level: number): number;
|
|
139
|
-
getJewelerProgress(playerId: string): {
|
|
140
|
-
level: number;
|
|
141
|
-
xp: number;
|
|
142
|
-
xpNeeded: number;
|
|
143
|
-
};
|
|
144
|
-
getGem(id: GemId): GemDefinition | undefined;
|
|
145
|
-
getAllGems(): GemDefinition[];
|
|
146
|
-
getGemsByQuality(quality: GemQuality): GemDefinition[];
|
|
147
|
-
getSet(id: GemSetId): GemSetDefinition | undefined;
|
|
148
|
-
getAllSets(): GemSetDefinition[];
|
|
149
|
-
getItemStats(itemId: string): Map<string, number>;
|
|
150
|
-
getItemSetBonuses(itemId: string): ActiveSetBonus[];
|
|
151
|
-
getUpgradeChain(gemId: GemId): GemDefinition[];
|
|
152
|
-
getStats(playerId: string): {
|
|
153
|
-
totalGems: number;
|
|
154
|
-
uniqueGems: number;
|
|
155
|
-
perfectGems: number;
|
|
156
|
-
gemsCombined: number;
|
|
157
|
-
gemsSocketed: number;
|
|
158
|
-
jewelerLevel: number;
|
|
159
|
-
};
|
|
160
|
-
save(): void;
|
|
161
|
-
load(): void;
|
|
162
|
-
reset(): void;
|
|
163
|
-
destroy(): void;
|
|
164
|
-
}
|
|
165
|
-
export declare function createGemSystem(config?: Partial<GemConfig>): NiceGem;
|