Skip to content

Commit 461bd9b

Browse files
authored
add some missing API dumped from cl_panorama_typescript_declarations (#40)
* add some missing `Abilities` API * add some missing `Game` api * run code lint * add all missing API from `cl_panorama_typescript_declarations` * fixed a return type error * Update api.d.ts
1 parent 725dc0a commit 461bd9b

File tree

1 file changed

+133
-0
lines changed

1 file changed

+133
-0
lines changed

packages/panorama-types/types/api.d.ts

+133
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,23 @@ interface ScreenEntity {
140140
accurateCollision: boolean;
141141
}
142142

143+
interface ContextualTip {
144+
TipAnnotation?: string;
145+
DisplayDuration?: number;
146+
PanoramaClasses?: string[];
147+
PanoramaSnippet?: string;
148+
ReferencedAbilities?: string[];
149+
ReferencedUnits: string[];
150+
Variant?: number;
151+
ForceAnnotation?: boolean;
152+
IntParameter?: number;
153+
IntParameter2?: number;
154+
FloatParameter?: number;
155+
FloatParameter2?: number;
156+
StringParameter?: string;
157+
StringParameter2?: string;
158+
}
159+
143160
interface CDOTA_PanoramaScript_GameUI {
144161
/**
145162
* Control whether the default UI is enabled
@@ -343,6 +360,36 @@ interface CDOTA_PanoramaScript_GameUI {
343360
* Creates a localized version of the number
344361
*/
345362
ConstructNumberString(n: number): string;
363+
364+
/**
365+
* Query to check if Tips are available for the local player
366+
*/
367+
AreTipsAvailable(): boolean;
368+
369+
/**
370+
* Query to see if the local player can tip a specific player
371+
*/
372+
IsPlayerTippable(iPlayerID: number): boolean;
373+
374+
/**
375+
* Tip a player
376+
*/
377+
TipPlayer(iPlayerID: number): void;
378+
379+
/**
380+
* Display a custom contextual tip (wizard tip) with specific loc string and duration
381+
*/
382+
DisplayCustomContextualTip(tip: ContextualTip): void;
383+
384+
/**
385+
* Set the text of a passed label for a DOTA Talent using ability values.
386+
*/
387+
SetupDOTATalentNameLabel(panel: LabelPanel, sAbilityName: string): void;
388+
389+
/**
390+
* Returns true if the passed ability is a talent.
391+
*/
392+
IsAbilityDOTATalent(pszAbilityName: string): boolean;
346393
}
347394

348395
/**
@@ -693,6 +740,11 @@ interface CScriptBindingPR_Players {
693740
*/
694741
GetTeam(iPlayerID: PlayerID): DOTATeam_t;
695742

743+
/**
744+
* Get the player's selected hero id.
745+
*/
746+
GetSelectedHeroID(iPlayerID: PlayerID): HeroID;
747+
696748
/**
697749
* Average gold earned per minute for this player.
698750
*/
@@ -718,8 +770,16 @@ interface CScriptBindingPR_Players {
718770
*/
719771
IsSpectator(iPlayerID: PlayerID): boolean;
720772

773+
/**
774+
* Player portrait click event.
775+
*/
721776
PlayerPortraitClicked(nClickedPlayerID: PlayerID, bHoldingCtrl: boolean, bHoldingAlt: boolean): void;
722777

778+
/**
779+
* Player portrait double click event.
780+
*/
781+
PlayerPortraitDoubleClicked(nClickedPlayerID: PlayerID, bHoldingCtrl: boolean, bHoldingAlt: boolean): void;
782+
723783
BuffClicked(nEntity: EntityIndex, nBuffSerial: number, bAlert: boolean): void;
724784

725785
/**
@@ -1116,6 +1176,11 @@ interface CScriptBindingPR_Entities {
11161176
* Get the item contained in this physical item container.
11171177
*/
11181178
GetContainedItem(nEntityIndex: EntityIndex): ItemEntityIndex;
1179+
1180+
/**
1181+
* Set the minimap icon on this client.
1182+
*/
1183+
SetMinimapIcon(nEntityIndex: number, pszMinimapIcon: string): void;
11191184
}
11201185

11211186
interface CScriptBindingPR_Abilities {
@@ -1159,6 +1224,8 @@ interface CScriptBindingPR_Abilities {
11591224

11601225
GetCurrentCharges(nEntityIndex: AbilityEntityIndex): number;
11611226

1227+
GetCurrentAbilityCharges(nEntityIndex: AbilityEntityIndex): number;
1228+
11621229
GetEffectiveLevel(nEntityIndex: AbilityEntityIndex): number;
11631230

11641231
GetHeroLevelRequiredToUpgrade(nEntityIndex: AbilityEntityIndex): number;
@@ -1225,6 +1292,8 @@ interface CScriptBindingPR_Abilities {
12251292

12261293
IsToggle(nEntityIndex: AbilityEntityIndex): boolean;
12271294

1295+
UsesAbilityCharges(nEntityIndex: AbilityEntityIndex): boolean;
1296+
12281297
GetAOERadius(nEntityIndex: AbilityEntityIndex): number;
12291298

12301299
GetBackswingTime(nEntityIndex: AbilityEntityIndex): number;
@@ -1247,6 +1316,8 @@ interface CScriptBindingPR_Abilities {
12471316

12481317
GetUpgradeBlend(nEntityIndex: AbilityEntityIndex): number;
12491318

1319+
GetAbilityChargeRestoreTimeRemaining(nEntityIndex: AbilityEntityIndex): number;
1320+
12501321
/**
12511322
* Get the local player's current active ability. (Pre-cast targetting state.)
12521323
*/
@@ -1281,6 +1352,9 @@ interface CScriptBindingPR_Abilities {
12811352
* Returns the keybind (as a string) for the specified ability.
12821353
*/
12831354
GetKeybind(nAbilityEntIndex: AbilityEntityIndex): string;
1355+
1356+
/** Get the max ability charge count. */
1357+
GetMaxAbilityCharges(nAbilityEntIndex: number): number;
12841358
}
12851359

12861360
interface CScriptBindingPR_Items {
@@ -1437,6 +1511,12 @@ interface CScriptBindingPR_Game {
14371511

14381512
IsInBanPhase(): boolean;
14391513

1514+
GetConvarBool(name: string): boolean;
1515+
1516+
GetConvarInt(name: string): number;
1517+
1518+
GetConvarFloat(name: string): number;
1519+
14401520
/**
14411521
* Return the team id of the winning team.
14421522
*/
@@ -1685,6 +1765,54 @@ interface CScriptBindingPR_Game {
16851765
* Registers a keybind that can be listened to with Game.AddCommand
16861766
*/
16871767
CreateCustomKeyBind(keyName: string, commandName: string): void;
1768+
1769+
NemesticeGetGameplayTipNumber(): number;
1770+
1771+
NemesticeSetGameplayTipNumber(nGameplayTipNumber: number): void;
1772+
1773+
NemesticeShouldShowGameInfo(): boolean;
1774+
1775+
NemesticeSetShowGameInfo(bShowGameInfo: boolean): void;
1776+
1777+
Winter2022ShouldShowGameInfo(): boolean;
1778+
1779+
Winter2022SetShowGameInfo(bShowGameInfo: boolean): void;
1780+
1781+
Winter2022GetGameplayTipNumber(): number;
1782+
1783+
Winter2022SetGameplayTipNumber(nGameplayTipNumber: number): void;
1784+
1785+
ForceCustomUILoad(): void;
1786+
1787+
CutToDefaultCamera(): void;
1788+
1789+
PlayDataDrivenCamera(pszCameraName: string): number;
1790+
1791+
SetJoyFocusPanel(pPanelArg?: Panel): void;
1792+
1793+
PushJoyFocusPanel(pPanelArg?: Panel): void;
1794+
1795+
PopJoyFocusPanel(): void;
1796+
1797+
/**
1798+
*Whether the local player has muted voice chat for the specified player id
1799+
*/
1800+
IsPlayerMutedVoice(nPlayerID: number): boolean;
1801+
1802+
/**
1803+
* Set whether the local player has muted voice chat for the specified player id
1804+
*/
1805+
SetPlayerMutedVoice(nPlayerID: number, bMutedVoice: boolean): void;
1806+
1807+
/**
1808+
* Whether the local player has muted text chat for the specified player id
1809+
*/
1810+
IsPlayerMutedText(nPlayerID: number): boolean;
1811+
1812+
/**
1813+
* Set whether the local player has muted text chat for the specified player id
1814+
*/
1815+
SetPlayerMutedText(nPlayerID: number, bMutedText: boolean): void;
16881816
}
16891817

16901818
interface CPanoramaScript_SteamUGC {
@@ -1909,6 +2037,11 @@ interface DollarStatic {
19092037
* Convert a string to HTML-safe
19102038
*/
19112039
HTMLEscape(string: string): string;
2040+
2041+
/**
2042+
* Return true if a file exists. Path will usually start with 'file://{images}'
2043+
*/
2044+
BImageFileExists(path: string): boolean;
19122045
}
19132046

19142047
interface AsyncWebRequestResponse {

0 commit comments

Comments
 (0)