-
Notifications
You must be signed in to change notification settings - Fork 0
DoomWare API
Buu342 edited this page May 13, 2021
·
32 revisions
The following contains a list of scripts and functions which you can use to assist you during the development of new minigames for DoomWare
Minigame Functions
The following scripts are to be used to handle basic minigame logic.| Name | Type | Arguments | Return | Description |
|---|---|---|---|---|
| DoomWare_Server_GameWait | Script | int time | - | Sets the minigame timer to time. |
| DoomWare_Server_TeleportPlayers | Script |
int tid bool telesector bool fog |
- | Teleports all the players to tid.If telesector is enabled, the TeleportInSector method will be used. Otherwise, players will be teleported to individual TID's.Enabling fog will enable the teleport effect+sound |
| DoomWare_Server_TeleportSingle | Script |
int plynum int destination |
- | Teleports a player with PlayerNumber plynum to the destination with ThingID destination
|
| DoomWare_Server_ReturnPlayers | Script | bool fog | - | Returns all teleported players back to the main lobby. If fog is enabled, then a teleport effect+sound will be emitted. |
Player Manipulation
The following functions are used to manipulate player states and abilities.| Name | Type | Arguments | Return | Description |
|---|---|---|---|---|
| Player_Win | Function | int plynum | - | Makes the player with PlayerNumber plynum win the current minigame. |
| Player_Lose | Function |
int plynum bool silent |
- | Makes the player with PlayerNumber plynum lose the current minigame. |
| Player_SavePosition | Function | int plynum | - | Saves the position of the player with PlayerNumber plynum (Used internally by DoomWare_Server_TeleportPlayers). |
| Player_InvalidatePosition | Function | int plynum | - | Clears the stored position of the player with PlayerNumber plynum. |
| Player_Morph | Function |
int plynum str class |
- | Morphs the player with PlayerNumber plynum into the actor class. |
| Player_FreezeTotally | Function | int who | - | Freezes the player totally. Set who to 1 to affect all players, or 0 to affect the activator. |
| Player_UnFreezeTotally | Function | int who | - | Unfreezes the player totally. Set who to 1 to affect all players, or 0 to affect the activator. |
| Give_Achievement | Function |
int plynum int achievement |
- | Gives the player with PlayerNumber plynum the achievement with id achievement. |
Player Information
The following functions are used to retrieve information about players.| Name | Type | Arguments | Return | Description |
|---|---|---|---|---|
| Check_LMS | Function | |||
| Check_LMS_MVMTie | Function | |||
| Check_Player_Won | Function | |||
| Check_Player_Lost | Function | |||
| Check_WonRoundItem | Function | |||
| Check_FailRoundItem | Function |
Observer System
The following functions relate to the observer system| Name | Type | Arguments | Return | Description |
|---|---|---|---|---|
| Add_Observer | Function | |||
| Force_Observe | Function |
Miscellaneous
The following functions don't fit in any other category, but can otherwise prove useful.| Name | Type | Arguments | Return | Description |
|---|---|---|---|---|
| Calc_Speed | Function | |||
| Distance | Function | |||
| Max | Function | |||
| AToI | Function |
DECORATE
The following scripts are solely used in DECORATE.| Name | Type | Arguments | Return | Description |
|---|---|---|---|---|
| DoomWare_Entity_MarkCleanup | Script | - | ||
| DoomWare_Entity_CheckCleanup | Script | - |
The following contains a list of global variables which you can modify during the execution of your minigame.
TODO
This section contains a list of internal functions and scripts used by DoomWare. You should have very little reason to use them, but they're here for documentation's sake.
Server Logic
The following scripts and functions relate to the initialization of the gamemode, as well as the main gamemode logic.| Name | Type | Arguments | Return | Description |
|---|---|---|---|---|
| DoomWare_Server_Boot | Script | - | ||
| DoomWare_Server_Initialize | Script | - | ||
| DoomWare_Server_InitMap | Script | - | ||
| DoomWare_Server_InitHints | Script | - | ||
| SoloBanList | Function | |||
| DoomWare_Server_InitRounds | Script | - | ||
| DoomWare_Server_InitHighscores | Script | - | ||
| DoomWare_Server_InitGlobals | Script | - | ||
| DoomWare_Server_GameLogic | Script | - | ||
| DoomWare_Server_SyncGlobals | Script | - |
Client Logic
The following scripts relate to the initialization of the player, as well as the main player gamemode logic.| Name | Type | Arguments | Return | Description |
|---|---|---|---|---|
| DoomWare_Client_Join | Script | |||
| DoomWare_Client_Initialize | Script | |||
| DoomWare_Client_Death | Script | |||
| DoomWare_Client_Disconnect | Script | |||
| DoomWare_Client_Respawn | Script | |||
| DoomWare_Client_GameLogic | Script | |||
| DoomWare_Client_DrawHUD | Script |
Checking Functions
The following functions are used for checking various gamemode states| Name | Type | Arguments | Return | Description |
|---|---|---|---|---|
| Should_Speedup | Function | |||
| ShouldTieBreak | Function | |||
| Is_1v1_TieBreaker | Function | |||
| No_MidRound_Array | Function |
Wackymods
The following scripts and functions handle wacky modifier logic.| Name | Type | Arguments | Return | Description |
|---|---|---|---|---|
| DoomWare_Server_Wackymod | Script | |||
| Player_SetWackymod | Function | |||
| DoomWare_WackyMod_DoubleJump | Script |
Data Networking
The following functions relate to the networking of global variables to CLIENTSIDE scripts.| Name | Type | Arguments | Return | Description |
|---|---|---|---|---|
| Player_SetCVar | Function | |||
| Player_SetCVarString | Function | |||
| Player_SetCVarStringPacked | Function | |||
| Pack_Global_Array | Function | |||
| Unpack_CVar_Array | Function | |||
| Unpack_CVar_Array_String | Function |
Database Handling
The following scripts and functions relate to [player stat tracking](Player-Stats).| Name | Type | Arguments | Return | Description |
|---|---|---|---|---|
| DoomWare_Server_UpdateDB | Script | - | ||
| DB_NetworkStats | Function | |||
| Load_PlayerDB | Function |
Highscore Table
The following scripts handle the highscore table.| Name | Type | Arguments | Return | Description |
|---|---|---|---|---|
| 257 | Script | - | ||
| DoomWare_Server_CalcHighscore | Script | - | ||
| DoomWare_Client_DrawHighscore | Script | - |
Observer System
The following scripts handle the observer system.| Name | Type | Arguments | Return | Description |
|---|---|---|---|---|
| 988 | Script | - | ||
| DoomWare_Server_ClearObservers | Script | - |
DoomWare Menu
The following scripts are related to the DoomWare menu.| Name | Type | Arguments | Return | Description |
|---|---|---|---|---|
| 999 | Script | - | ||
| DoomWare_Client_DrawMenu | Script | - | ||
| Handle_Menu_Option | Function | |||
| Handle_Menu_Achievement | Function |
Player Hats
The following scripts and functions handle player hats.| Name | Type | Arguments | Return | Description |
|---|---|---|---|---|
| IsBetaTester | Function | |||
| DoomWare_Server_Hats | Script | - |
Miscellaneous
The following scripts did not fit into any other category, but are used in some way by the gamemode.| Name | Type | Arguments | Return | Description |
|---|---|---|---|---|
| DoomWare_Entity_Cleanup | Script | - | ||
| DoomWare_Entity_SetPlayerTranslation | Script | - | ||
| DoomWare_DoLightning | Script | - | ||
| DoomWare_AchievementLog | Script | - |
This section contains a list of internal global variables used by DoomWare. Modifying these variables during gameplay can cause problems with the gamemode, therefore they should be treated as READ ONLY.
TODO