Monster Grapples: Difference between revisions

From Gothongs Wiki
Jump to navigationJump to search
Panda (talk | contribs)
Created page with "GoThongs 2.3 introduced a dedicated grapple handler to help offload the hard-coded monster grapples that already exist. Here is a primer on how to use the system together with got LocalConf.NPC.template Terminology:"
 
Panda (talk | contribs)
No edit summary
Line 2: Line 2:
Here is a primer on how to use the system together with got LocalConf.NPC.template
Here is a primer on how to use the system together with got LocalConf.NPC.template


Terminology:
=== Terminology ===
 
* Grapple: A monster grabs one or more players, forcing them to sit on the object and is usually accompanied by a quick time event and some kind of status effect.
* Quick time event: The keypad that pops up on your screen. Can be either "tap specific keys" or "tap left-right alternating". The alternating mode can also be set to allow fail.
* Hookup: A quick time event where two monsters gang up on one player.
* Hookup Host: The monster that grapples a player (PC) in a hookup.
* Hookup Client: The monster that joins the host in a hookup.
* Hostname: A unique identifier for the host that is used by the client to tell if they can join or not.
 
Any NPC that should be able to grapple MUST have the optional got MonsterGrapple script in its inventory.
 
== Setting up a grapple ==
If you want the monster to grapple one or more players. Note that this step is not needed if you only want your NPC to be a client for hookups.
 
<code>
#define cf$GRAPPLE_FLAGS // int - Grapple settings flags. These are the flags used by got Evts quick time events to set things like left/right events.
#define cf$GRAPPLE_DURATION // float - Grapple max duration = 300. Max duration before force releasing the players.
#define cf$GRAPPLE_PREDELAY // float - Grapple predelay = 0. Time before starting the QTE after grapple starts.
#define cf$GRAPPLE_BUTTON_DELAY // float - Grapple button delay = 0. Used in normal QTEs to set a delay before buttons.
#define cf$GRAPPLE_STAGES // int - QTE stages, alternatively speed for quick grapples. = 30
#define cf$GRAPPLE_MONSTERFLAGS // int - Monster to set when grapple starts and unset when it ends = Monster$RF_IMMOBILE|Monster$RF_PACIFIED|Monster$RF_NOROT|Monster$RF_NO_SPELLS
#define cf$GRAPPLE_STRIP // bool  - Strip clothes during the grapple
#define cf$GRAPPLE_NO_QTE // bool - No QTE. call grappleEnd manually
#define cf$GRAPPLE_FAIL_TIMEOUT // float - On failable grapples, wait this long before unsitting the player.
</code>

Revision as of 17:37, 5 April 2024

GoThongs 2.3 introduced a dedicated grapple handler to help offload the hard-coded monster grapples that already exist. Here is a primer on how to use the system together with got LocalConf.NPC.template

Terminology

  • Grapple: A monster grabs one or more players, forcing them to sit on the object and is usually accompanied by a quick time event and some kind of status effect.
  • Quick time event: The keypad that pops up on your screen. Can be either "tap specific keys" or "tap left-right alternating". The alternating mode can also be set to allow fail.
  • Hookup: A quick time event where two monsters gang up on one player.
  • Hookup Host: The monster that grapples a player (PC) in a hookup.
  • Hookup Client: The monster that joins the host in a hookup.
  • Hostname: A unique identifier for the host that is used by the client to tell if they can join or not.

Any NPC that should be able to grapple MUST have the optional got MonsterGrapple script in its inventory.

Setting up a grapple

If you want the monster to grapple one or more players. Note that this step is not needed if you only want your NPC to be a client for hookups.

  1. define cf$GRAPPLE_FLAGS // int - Grapple settings flags. These are the flags used by got Evts quick time events to set things like left/right events.
  2. define cf$GRAPPLE_DURATION // float - Grapple max duration = 300. Max duration before force releasing the players.
  3. define cf$GRAPPLE_PREDELAY // float - Grapple predelay = 0. Time before starting the QTE after grapple starts.
  4. define cf$GRAPPLE_BUTTON_DELAY // float - Grapple button delay = 0. Used in normal QTEs to set a delay before buttons.
  5. define cf$GRAPPLE_STAGES // int - QTE stages, alternatively speed for quick grapples. = 30
  6. define cf$GRAPPLE_MONSTERFLAGS // int - Monster to set when grapple starts and unset when it ends = Monster$RF_IMMOBILE|Monster$RF_PACIFIED|Monster$RF_NOROT|Monster$RF_NO_SPELLS
  7. define cf$GRAPPLE_STRIP // bool - Strip clothes during the grapple
  8. define cf$GRAPPLE_NO_QTE // bool - No QTE. call grappleEnd manually
  9. define cf$GRAPPLE_FAIL_TIMEOUT // float - On failable grapples, wait this long before unsitting the player.