-**Note:** The article is written as developer notes to ease developer tasks and save QuakeC terms here.
+_This article is written as developer notes to ease developer tasks and save QuakeC terms here._
+
+# _Table of Contents_
+> ### 1. [CSQC, MENUQC, SVQC and GAMEQC blocks](#csqc-menuqc-svqc-and-gameqc-blocks)
+> ### 2. [MUTATOR functions](#mutator-functions)
+> > 2.1. [How to use MUTATOR functions](#how-to-use-mutator-functions) <br/>
+> > 2.2. [List of MUTATOR functions](#list-of-mutator-functions)
+> ### 3. [Weapon functions](#weapon-functions)
+> > 3.1. [A bit of introduction](#a-bit-of-introduction) <br/>
+> > 3.2. [List of weapon functions](#list-of-weapon-functions)
+> ### 4. [HUD, Menu and Draw functions](#hud-menu-and-draw-functions)
+> ### 5. [Gamemodes](#gamemodes)
+> > 5.1. [Samples](#samples)
+> ### 6. [Effects](#effects)
# CSQC, MENUQC, SVQC and GAMEQC blocks
Example: `cl_chatsound` is clearly a client cvar (**cl_*** cvars are client cvars), only can be declared inside a **`#ifdef CSQC`** block.
+- **hud_*** cvars:
+
+Example: `hud_progressbar_alpha` is a client cvar (**hud_*** cvars belong to client cvars), only can be declared inside a **`#ifdef CSQC`** block.
+
<br />
-# MUTATOR functions (from: [`qcsrc/client/mutators/events.qh`](https://timepath.github.io/scratchspace/d8/d0e/client_2mutators_2events_8qh_source.html), [`qcsrc/common/mutators/events.qh`](https://timepath.github.io/scratchspace/d4/d95/common_2mutators_2events_8qh_source.html), [`qcsrc/server/mutators/events.qh`](https://timepath.github.io/scratchspace/d6/ddd/server_2mutators_2events_8qh_source.html))
+# MUTATOR functions
-### How to use MUTATOR functions:
+### How to use MUTATOR functions
You can look the following link if you're trying/testing your own mutator: [Writing your first mutator](writing-your-first-mutator)
More info inside the code where you can draw/print HUD and menu:
- [**Globals, constants, fonts, prints, error cmds, vector stuff, conversion functions and all drawing/printing HUDs/menus/characters related (`qcsrc/dpdefs/upstream/menudefs.qc`)**](https://timepath.github.io/scratchspace/d8/de2/menudefs_8qc_source.html)
+Important changes about menus we could learn of:
+- [**Terms of Service in window display and multiplayer dialog**](https://gitlab.com/xonotic/xonotic-data.pk3dir/-/commit/19bd3a4f)
+- [**Welcome dialog**](https://gitlab.com/xonotic/xonotic-data.pk3dir/-/commit/19d753312f0deff7bd297822907874d532e9303e)
+- [**A button to properly quit the campaign, a "Game menu" (on ESC) and remove the Disconnect dialogue**](https://gitlab.com/xonotic/xonotic-data.pk3dir/-/commit/2b2f743fc929bbbe0fc765edf8c433c946764607)
<br />
# Gamemodes
## Samples
-There are good examples of the commits of the people who developed gamemodes:
+There are good examples of the commits and repositories of people who developed gamemodes:
+
+- [**Lyberta's GunGame gametype commits**](https://gitlab.com/xonotic/xonotic-data.pk3dir/-/merge_requests/482/diffs)
+
+Taken from: https://forums.xonotic.org/showthread.php?tid=7314
-- [**Lyberta's GunGame gametype**](https://gitlab.com/xonotic/xonotic-data.pk3dir/-/merge_requests/482/diffs) (Taken from: https://forums.xonotic.org/showthread.php?tid=7314)
+You can look and test the [**Lyberta's GunGame gametype repository**](https://gitlab.com/xonotic/xonotic-data.pk3dir/-/tree/Lyberta/GunGame)
+
+- [**How Survival gamemode was developed (first commit)**](https://gitlab.com/xonotic/xonotic-data.pk3dir/-/commit/8f61a40877542ac94baa74c5ed653c77b77bd855)
+
+It's recommended use the final product in this [**repository**](https://gitlab.com/xonotic/xonotic-data.pk3dir/-/tree/Mario/survival). Many changes have been influenced.
-- [**How Survival gamemode was developed (first commit)**](https://gitlab.com/xonotic/xonotic-data.pk3dir/-/commit/8f61a40877542ac94baa74c5ed653c77b77bd855) (It's recommended look the final product in this [**repository**](https://gitlab.com/xonotic/xonotic-data.pk3dir/-/tree/Mario/survival))
[**SMB modpack repository**](https://github.com/MarioSMB/modpack/tree/master/mod/common/gamemodes/survival) has added Survival gamemode and others.
+# Effects
+
+Spawns effect particle in-game.
+
+The effects can be used with `Send_Effect(effect, org, vel, howmany)` function to test the effects from [**qcsrc/common/effects/all.inc**](https://timepath.github.io/scratchspace/d9/d95/effects_2all_8inc_source.html)
+
+**Send_Effect** function definition is inside: [**qcsrc/common/effects/effect.qh**](https://timepath.github.io/scratchspace/d5/de6/effect_8qh_source.html)
+
+For example, you can test the smokes, using `EFFECT_SMOKE_LARGE`:
+```c
+Send_Effect(EFFECT_SMOKE_LARGE, this.origin, '0 0 0', 1);
+```
+
+EFFECT list: [**qcsrc/common/effects/all.inc**](https://timepath.github.io/scratchspace/d9/d95/effects_2all_8inc_source.html)
<br />
\ No newline at end of file