player extensions

From Wiki

Jump to: navigation, search
(jump/corkscrew)
 
(67 intermediate revisions by 2 users not shown)
Line 2: Line 2:
  
 
<onlyinclude>
 
<onlyinclude>
 +
====corkscrew_power====
 +
{{Ex/inival|1.1.1.7|real numbers|exponentiates the corkscrew gesture. The gesture is most sensitive at 1. The default power is 2. Refer to [[#do_not_corkscrew]]|real}}
 +
 
====do_not_corkscrew====
 
====do_not_corkscrew====
 
{{Ex/inival|1.1.1.7|binary statements|in the affirmative eliminates the "corkscrew" maneuver that occurs when turning and moving in the same direction resulting in the player character turning at an accelerated rate. When dashing the accelerated turning is accompanied by ducking resulting in a downward spiral, or corkscrew.  
 
{{Ex/inival|1.1.1.7|binary statements|in the affirmative eliminates the "corkscrew" maneuver that occurs when turning and moving in the same direction resulting in the player character turning at an accelerated rate. When dashing the accelerated turning is accompanied by ducking resulting in a downward spiral, or corkscrew.  
  
 
It is still possible to corkscrew manually using the CORKSCREW extended [[#keyboard key]] code|do}}
 
It is still possible to corkscrew manually using the CORKSCREW extended [[#keyboard key]] code|do}}
 +
 +
====do_not_dash====
 +
{{Ex/inival|1.1.1.7|binary statements|in the affirmative eliminates dashing maneuvers when pressing the SPACE [[#keyboard key]], or "Action" button. Know that "dashing" includes many kinds of actions not limited to climbing, crouching, and sneaking.
 +
 +
It is still possible to dash manually using the DASH extended keyboard key code|do}}
 +
 +
====do_not_duck====
 +
{{Ex/inival|1.1.1.7|binary statements|in the affirmative eliminates ducking, or crouching, when pressing the SPACE [[#keyboard key]], or "Action" button.
 +
 +
It is still possible to duck manually using the DUCK extended keyboard key code|do}}
  
 
====do_not_jump====
 
====do_not_jump====
{{Ex/inival|1.1.1.7|binary statements|in the affirmative eliminates the jumping maneuver that can occur automatically on release of the SPACE [[#keyboard key]] under different input scenarios.
+
{{Ex/inival|1.1.1.7|binary statements|in the affirmative eliminates the jumping maneuver that can occur automatically on release of the DASH extended [[#keyboard key]] code (including the SPACE keyboard key, or "Action" button, when [[#do_not_dash]] is not switched on) under different input scenarios.
  
It is still possible to jump manually using the JUMP extended [[#keyboard key]] code|do}}
+
It is still possible to jump manually using the JUMP extended keyboard key code|do}}
  
 
'''''Tip: manual jumping puts the player at a slight disadvantage, and may prove impossible to execute effectively without a game controller.'''''
 
'''''Tip: manual jumping puts the player at a slight disadvantage, and may prove impossible to execute effectively without a game controller.'''''
 +
 +
====do_not_rush====
 +
{{Ex/inival|1.1.1.7|binary statements|in the affirmative eliminates the dodging and or rushing maneuver normally experienced when tapping the DASH extended [[#keyboard key]] code and the SPACE keyboard key, or "Action" button, when [[#do_not_dash]] is not switched on.
 +
 +
This extension is not recommended. It exists in order to remove the ducking behavior facilitated by [[#player_character_duck...|#player_character_duck]], which should itself be set to 0 to fully remove ducking. Ducking corresponds to the acceleration from walking to dashing speed, so without rushing the duck may be short lived, and then appear unnatural or unpleasant.
 +
 +
There are no plans to add a manual rushing feature (via a RUSH extended [[#keyboard key]] code) at this time|do}}
 +
 +
====player_character_arm====
 +
{{anchor|do_arm}}
 +
''Prior to 1.2.0.8 this extension was named do_arm of [[#Option]]. It's not clear what this number represents yet. By default it is 4, but it's recommended that it only be set to 0 in order to disable it. This number scales the amount of noise introduced by walking, but is subject to change; both what it is and what it does. If 0 the result is as if do_arm was not enabled.''
 +
 +
{{Ex/inival|1.2.0.8|the real number 0|in the affirmative enables management of the player character's arm. Specifically: the shoulder moving independently of the first-person view, as if the viewer is free to look about while attacking; how the arm is displayed, including handheld implements, the appearance of an opposite arm, and auxiliary animations; and abilities|real}}
  
 
====player_character_bob...====
 
====player_character_bob...====
{{Ex/inival|1.1.1.7|positive real numbers|establishes the distances covered by bobbing (and derivative) walking effects when moving at peek speeds. The default value is 0.075, or about 3 inches, when the part after player_character_bob is omitted. Refer to [[#bob_distance_multiplier]] and [[#sway_distance_multiplier]]|real}}
+
{{anchor|player_character_bob}}
 +
{{Ex/inival|1.1.1.7|positive real numbers|establishes the distances covered by bobbing (and derivative) walking effects when moving at peek speeds. The default value ''was'' 0.075, or about 3 inches; The notes below describe the new defaults.|real}}
 +
 
 +
'''player_character_bob2'''
 +
{{anchor|player_character_bob2}}
 +
 
 +
''Since 1.2.0.10, unless explicitly assigned, player_character_bob2 is identical to player_character_bob.''
 +
 
 +
{{Ex/inival|1.2.0.8|positive real numbers|affects the horizontal swaying effect. The default is the same. This replaces sway_distance_multiplier.|real}}
 +
 
 +
'''Note: since 1.2.0.10 it's possible to use [[SomEx/list_of_numbers#pc|pc[12]]] to interpolate between the amount of "bob" whether the character is walking or dashing. It's recommended this is done in order to obtain a more desirable overall effect until a better system can be arrived at and standardized.'''
 +
 
 +
'''Note: since 1.2.1.8 if player_character_bob is not specified if is cut in half (0.025) outside of "dashing" mode. ''0.05/(2-pc[12])'' is the equivalent number. Note, 0.05 is 2/3rds of the original bob effect chosen by From Software.'''
  
 
====player_character_dip...====
 
====player_character_dip...====
 
{{Ex/inival|1.1.1.7|positive real numbers|establishes how far the player character may dip when landing flat footed. Maximum dip is achieved after a relatively short fall, or even a jump. This effect is not intended to encompass falls from great heights. Refer to [[#do_buckle]].
 
{{Ex/inival|1.1.1.7|positive real numbers|establishes how far the player character may dip when landing flat footed. Maximum dip is achieved after a relatively short fall, or even a jump. This effect is not intended to encompass falls from great heights. Refer to [[#do_buckle]].
  
The part after player_character_ can be omitted or 2. player_character_dip2 contributes a nodding effect. Refer to [[#player_character_nod...]]|real}}
+
The part after player_character_ can be omitted or 2. The defaults are 0.3 and 0.532359, or 30 degrees. player_character_dip2 contributes a nodding effect. Refer to [[#player_character_nod...]]|real}}
 +
 
 +
====player_character_duck...====
 +
{{Ex/inival|1.1.1.7|positive real numbers|establishes how far the player character ducks down when dashing and ducking all of the way down to the ground while remaining flat footed. When dashing the lowest point is reached after [[#tap_or_hold_ms_timeout]].
 +
 
 +
The part after player_character_ can be omitted or 2 or 3. The defaults are 0.15, 0.5, and 0.75. 2 is for "squat-walking", 3 is reached by doing a standing jump from the lowest point, also known as ducking|real}}
 +
 
 +
''Note: since 1.2.0.4 player_character_duck is borrowed by the "corkscrew" maneuver, so that it is doubled when dashing.''
 +
 
 +
''Note: I've added an explanation for 2 circa 2020. It was added many years ago, no telling what the version number was.''
  
 
====player_character_fence...====
 
====player_character_fence...====
''Formerly player_character_ascent prior to 1.1.1.7.''
+
''Formerly player_character_ascent in 1.1.1.5 and 6.''
 +
 
 +
{{Ex/inival|1.1.1.7|positive real numbers|establishes the height of obstacles that the player character is able to pass over. The default is 0.3 meters (prior to 1.2.0.8 it was 0.5) when the part after player_character_fence is omitted. This is the height of platforms that Sword of Moonlight will natively step up onto. It is recommended that this figure be lowered to around 0.3, or about a foot, because 0.5 meters is much higher than a tall person is easily able to step up onto, much less the default 1.6 meter tall player character supplied by Sword of Moonlight.
 +
 
 +
1.1.1.7 adds four more levels, player_character_fence2, 3, 4, and 5. At level 2 the player must lean into the obstacle and press the SPACE [[#keyboard key]], or "Action" button, to climb up onto and over it. The way the player character climbs is related to [[#player_character_dip...|#player_character_dip]]. At level 3 the player character should be able to hang down by their hands from the platform. At level 4 the player character is able to reach the platform by performing a standing jump and grabbing with their hands. Finally level 5 is a standing jump lifting off from [[#player_character_duck...|#player_character_duck3]]. Otherwise it works identically to 4.
 +
 
 +
Note that it may not be possible to grip the platform, or the player may lack the strength, but the player is still able to reach interactive elements placed at levels 3 and 4. As for 4, [[#do_g]] (gravity) must be switched on or the player will not be able to jump. Likewise the power of the jump is a function of 4 minus 3 and gravity.
 +
 
 +
The defaults for 2 through 5 are 1.3, 2.0, 2.3, 0 respectively. Prior to 1.2.0.8 they were all 0. Note that currently only the difference between 3 and 4 matters, as it determines the jumping height|real}}
  
{{Ex/inival|1.1.1.5|positive real numbers|establishes the height of obstacles that the player character is able to pass over. The default value is 0.51 when the part after player_character_fence is omitted. The default unit is meters|real}}
+
'''Note: that Sword of Moonlight itself uses 0.51. Just in case the 0.01 part is important, 0.01 is automatically added to each fence.'''
  
 
====player_character_height...====
 
====player_character_height...====
This extension did not make it into 1.1.1.5. It will be implemented as soon as it is convenient and or necessary to do so. Its purpose is to establish the physical height of the player character for purposes of passing underneath obstacles. The default value is ''thought to be'' 1.8 when the part after player_character_height is omitted. This corresponds to the physical height of the character when standing upright.
+
{{anchor|player_character_height}}
 +
{{Ex/inival|1.1.1.7|positive real numbers|establishes the physical height of the player character for purposes of passing underneath obstacles. When the part after player_character_height is omitted the default height is 1.6 meters, or about 5 foot 3 inches, corresponding to the physical height of the character when standing upright. Refer to [[#player_character_stature]]|real}}
  
'''Note: It is recommended that [[#pov_baseline_adjustment]] be used to achieve an apparently taller or shorter player character, either to be in keeping with the narrative of the game or to customize height in order to enhance immersion, without inadvertently making areas of the game inaccessible or the game itself unwinnable.'''
+
'''player_character_height2'''
 +
{{anchor|player_character_height2}}
 +
{{Ex/inival|1.2.0.6|positive real numbers|establishes the squatting height of the player character for purposes of passing underneath obstacles. By default it is 1.25 meters. Squatting happens automatically when running underneath overhead obstacles, and can be performed manually by standing up while moving away while in a crouching position|real}}
 +
 
 +
====player_character_inseam====
 +
{{Ex/inival|1.1.1.8|positive real numbers|establishes a distance roughly analogous to the difference in the player character's height when squatting down, or straddling the side of the highest ledge possible. The default is 0 meters. In which case [[#player_character_fence...|#player_character_fence]] is used where this extension is preferred. This figure is used along with [[#player_character_shape...|#player_character_shape]] to alight from platforms, but is not limited to this role. Normally you set it to be somewhere between player_character_fence and player_character_fence2|real}}
  
 
====player_character_nod...====
 
====player_character_nod...====
{{Ex/inival|1.1.1.7|positive real numbers|establishes symmetric angular limits when the player character looks up and down. The default value is 0.785398 radians, or plus or minus 45 degrees, when the part after player_character_nod is omitted. player_character_nod2 sets an outer limit reached by holding down the controls that defaults to 80 degrees. Values larger than 1.570796 are converted to radians from degrees|real}}
+
{{Ex/inival|1.1.1.7|positive real numbers|establishes symmetric angular limits when the player character looks up and down. The default value is 0.785398 radians, or plus or minus 45 degrees, when the part after player_character_nod is omitted. player_character_nod2 sets an outer limit reached by holding down the controls that defaults to 90 degrees|real}}
  
====player_character_radius====
+
====player_character_radius...====
{{Ex/inival|1.1.1.5|positive real numbers|establishes the player character's shoulder width as measured from the center. Conceptually the classical character is cylindrically shaped, circular around the width and depth. The default value is 0.25. The default unit is meters|real}}
+
{{anchor|player_character_radius|player_character_radius3}}
 +
''Prior to 1.1.1.7 "player_character_radius" referred to [[#player_character_shape...|#player_character_shape]].''
  
'''Note: as of 1.1.1.5 it is absolutely necessary to set this value to something larger than the default in order to accommodate the new analog framework. If not done the player clips into obstacles if held up against one. A larger radius can make preexisting games unwinnable. Ideally the project and or game should be fixed. Using an older version also works, but 1.1.1.5 introduces numerous important fixes. [[#do_dpad]] effectively disables analog, but did not make it into 1.1.1.5. A new [[#Analog]] section is on the way only for now the analog parameters are inaccessible. Until a clipping framework ([[#do_clip]]) is setup a final solution could well prove elusive.'''
+
{{Ex/inival|1.1.1.7|positive real numbers|establishes the interaction distances for in game elements. The default is 1.75 meters when the part after player_character_radius is omitted. This distance applies to NPCs, including "enemies", for purpose of event activation. It is the distance preferred by Sword of Moonlight for event activation, not from the center, but as added to the clipping radius of the in game elements its events are associated with. However 1.75 is <u>not</u> the default radius for non-NPC elements including events and built in facilities. That is established by player_character_radius2 which defaults to <strike>0.75</strike>1.0{{dagger}} meters.
 +
 
 +
'''Caution: <strike>0.75</strike>1.0{{dagger}} meters is a breaking change instituted by the Extension Library. The figure approximates the length of the default player character's legs, or the combined reach of the arm and upper body as if stretching to touch your toes. Care should be taken with games not originally made with this distance in mind (as elements may be inadvertently placed out of reach.)'''
 +
 
 +
{{dagger|SomEx 1.2.2.4 increases this value to 1 meter since the lesser value tended to produce misfires both in screen and VR settings.}}
 +
 
 +
Item pickup is established by player_character_radius3. It defaults to player_character_radius2. Unlike other elements items do not take up any space as such, and so the distance is from center to center. Likewise player_character_radius4 applies to money pickup and defaults to player_character_radius3|real}}
 +
 
 +
'''Note: as of 1.1.1.8 doors (as they are not well understood) are handled differently. Their activation distance is a function of player_character_radius plus half the width of the door. Technically half the depth if greater than the width. Doors will behave like any other non-NPC element as soon as sufficient information about them becomes available.'''
 +
 
 +
====player_character_radius3 (item examination depth)====
 +
 
 +
Since 1.2.2.10 "items" appear closer in menu screens. This is to help with VR so that items don't appear stuck in a wall or other object behind them in terms of stereoscopic depth-perception. It also helps to make items appear to come closer when examined, as opposed to originally appearing to do the opposite, counterintuitively. However, this can make some items appear too close, or to be cut off by the edges of the screen. [[#player_character_radius3]] is used to select a different distance. The new default distance is 1 meter. The original distance was 2 meters. For very small items, like a ring, it may help to position the item even closer, as-if examined closely in hand. The item number is used as a parameter to '''player_character_radius3''' in this context. This distance is not used to determined if the same items are picked up and examined. That standard value is obtain when the item number is unavailable. It's currently a fixed value that is determined at the start of the game player.
 +
 
 +
Note: The new settings were chosen to emulate the game [[King's Field II]].
 +
 
 +
====player_character_shape...====
 +
 
 +
''Formerly player_character_radius prior to 1.1.1.7''
 +
 
 +
{{Ex/inival|1.1.1.7|positive real numbers|establishes the player character's shoulder width as measured from the center. Conceptually the classical character is cylindrically shaped, circular around the width and depth. The default radius is 0.25 meters however it should be noted that this is the radius used by Sword of Moonlight. A number of extensions work best with a radius of at least 0.325 meters. 0.5 meters is a good place to start with a new game project.
 +
 
 +
Since 1.1.1.7 you can set player_character_shape2 to change the "hitbox" radius, however it is unclear whether or not this is best practice, and even if set to near 0 many of Sword of Moonlight's stock monsters have attack radii that will land hits that look like near misses. Their PRF files may require attention|real}}
 +
 
 +
''Note that technically player_character_shape2 is reserved to set the smallest space that the player character is able to squeeze into. Which is then used as its default "hitbox" radius. It is also used to clip against ceilings, so that the player character does not pass through them.''
 +
 
 +
====player_character_shadow====
 +
{{Ex/inival|1.2.0.8|positive real numbers|establishes the radius of the player character's classical [[NPC]]-style shadow. By default it is 0.35 meters. This extension is dependent on [[Wikipedia:Shader Model 3|Shader Model 3]] for support|real}}
 +
 
 +
====player_character_slip====
 +
{{Ex/inival|1.1.1.8|positive real numbers|enables a "slip" effect and establishes the ground speed at which the player character will "fly" over platforms below [[#player_character_fence...|#player_character_fence]] without losing speed. True to life. Lower speeds are met with ever greater adversity.
 +
 
 +
The default is 4 meters per second (prior to 1.2.0.8 it was 0.) How this effect works is a more involved than usual. Conceptually two circles exist at the player character's feet. The "slip" goes both ways. They can slip up stairs, for example. Or slip off of a step. Moving more quickly and pushing against obstacles causes one of the circles&mdash;lets call it the first&mdash;to grow. In the absence of moving and pushing the circle shrinks to a pinpoint. If it rests on a platform the player character does too. If it shrinks down until it no longer does so, then they slip off. At which point the second circle is initially the same size. This circle makes it possible to straddle the edge of the platform so that its side does not behave like a wall.  
 +
 
 +
Fall further than [[#player_character_inseam]] and the circle grows to regular size, so that the side of the platform behaves like a wall, and it appears that the player character has taken a tumble. Otherwise the size of the circles do not change while slipping off, or falling, or stepping down, really the description depends upon the context, but the mechanics of the effect remain the same. The second circle grows along with the first as they move away|real}}
 +
 
 +
====player_character_stature====
 +
{{Ex/inival|1.2.0.8|real numbers|specifies the eye level of the player character. By default it is 1.5 meters. It replaces pov_baseline_adjustment|real}}
 +
 
 +
====player_character_stride====
 +
{{Ex/inival|1.2.0.10|real numbers|specifies the distance over which the walking effect completes a single bobbing cycle when walking at full speed. It replaces "bob_frequency_multiplier".
 +
 
 +
Starting in 1.2.3.4 the walk (_WALK) and dash (_DASH) [[#Number]] constants are multiplied by this value so it's unnecessary to change them to speed up or slow down a game's movement speed|real}}
 +
 
 +
====player_character_weight...====
 +
{{anchor|player_character_weight|player_character_weight2}}
 +
{{Ex/inival|1.1.1.7|positive real numbers|establishes the player character's weight to be added to equipment and or inventory weight where applicable. The default weight is 50 kilograms, or about 110 pounds.
 +
 
 +
As of 1.1.2.2 player_character_weight is used by the default damage formula of [[#do_fix_damage_calculus]] to figure the first stat, aka. Strength, based bonuses. And player_character_weight2 is used to figure the second stat, aka. Magic, based bonuses. In 1.1.2.2 _weight2 defaults to 50. In 1.1.2.3 its default is _weight|real}}
 +
 
 +
====subtitles_ms_interim====
 +
{{Ex/inival|1.1.1.7|whole numbers|establishes the interval between (in fact each subtitle waits for the interval) subtitles. The time is in addition to [[#tap_or_hold_ms_timeout]], and double that if a subtitle is the result of pressing the SPACE [[#keyboard key]], or "Action" button, when [[#player_character_duck...|#player_character_duck]] is non-zero and [[#do_not_dash]] is not switched on. The default is 300 milliseconds|whole}}
 +
 
 +
'''''Tip: negative times are allowed to subtract from the overall interval.'''''
 +
 
 +
====subtitles_ms_timeout====
 +
{{Ex/inival|1.1.1.7|positive whole numbers|establishes the duration of subtitles. The default is 1300 milliseconds. Note that the default is slightly more than what Sword of Moonlight uses, or 1000|whole}}
  
 
====tap_or_hold_ms_timeout====
 
====tap_or_hold_ms_timeout====
 +
{{dagger|Since about version 1.2.0.8 the default is 375. The previous default and classical value was/is 750.}}
 +
 
{{Ex/inival|1.1.1.7|positive whole numbers|tweaks keyboard and button gesture recognition. A press is determined to be a ''tap'' if release occurs before tap_or_hold_ms_timeout milliseconds. A press is determined to be a ''hold'' if not released in time.  
 
{{Ex/inival|1.1.1.7|positive whole numbers|tweaks keyboard and button gesture recognition. A press is determined to be a ''tap'' if release occurs before tap_or_hold_ms_timeout milliseconds. A press is determined to be a ''hold'' if not released in time.  
  
Taps and holds may often result in different outcomes. The default timeout is 750 milliseconds. This is the timeout used by Sword of Moonlight's dashing game mechanic. If the timeout is shortened the transition from walking to dashing is shortened|whole}}
+
Taps and holds may often result in different outcomes. The default timeout is 750{{dagger}} milliseconds. This is the timeout used by Sword of Moonlight's dashing game mechanic. If the timeout is shortened the transition from walking to dashing is shortened|whole}}
  
'''Note: that this is an accessibility feature. 500 may make input appear more responsive, but some players may have a difficult time releasing the button with a half second. Sword of Moonlight's 750 figure likely constitutes a compromise.'''
+
'''Note: that this is an accessibility feature. 500 may make input appear more responsive, but some players may have a difficult time releasing the button with a half second. Sword of Moonlight's 750 figure likely constitutes a compromise. It should also be noted that this setting is roughly analogous to reaction and response times and may be lowered or raised according to in game parameters (eg. "Speed") so that players have the opportunity to train or practice to be able to play faster, or just to find a personal speed.'''
  
 
</onlyinclude>
 
</onlyinclude>

Latest revision as of 00:39, 12 October 2020


corkscrew_power[edit]

Introduced around 1.1.1.7, this extension exponentiates the corkscrew gesture. The gesture is most sensitive at 1. The default power is 2. Refer to #do_not_corkscrew. Values are limited to real numbers.[#]

do_not_corkscrew[edit]

Introduced around 1.1.1.7, this extension in the affirmative eliminates the "corkscrew" maneuver that occurs when turning and moving in the same direction resulting in the player character turning at an accelerated rate. When dashing the accelerated turning is accompanied by ducking resulting in a downward spiral, or corkscrew.

It is still possible to corkscrew manually using the CORKSCREW extended #keyboard key code. Values are limited to binary statements.[#]

do_not_dash[edit]

Introduced around 1.1.1.7, this extension in the affirmative eliminates dashing maneuvers when pressing the SPACE #keyboard key, or "Action" button. Know that "dashing" includes many kinds of actions not limited to climbing, crouching, and sneaking.

It is still possible to dash manually using the DASH extended keyboard key code. Values are limited to binary statements.[#]

do_not_duck[edit]

Introduced around 1.1.1.7, this extension in the affirmative eliminates ducking, or crouching, when pressing the SPACE #keyboard key, or "Action" button.

It is still possible to duck manually using the DUCK extended keyboard key code. Values are limited to binary statements.[#]

do_not_jump[edit]

Introduced around 1.1.1.7, this extension in the affirmative eliminates the jumping maneuver that can occur automatically on release of the DASH extended #keyboard key code (including the SPACE keyboard key, or "Action" button, when #do_not_dash is not switched on) under different input scenarios.

It is still possible to jump manually using the JUMP extended keyboard key code. Values are limited to binary statements.[#]

Tip: manual jumping puts the player at a slight disadvantage, and may prove impossible to execute effectively without a game controller.

do_not_rush[edit]

Introduced around 1.1.1.7, this extension in the affirmative eliminates the dodging and or rushing maneuver normally experienced when tapping the DASH extended #keyboard key code and the SPACE keyboard key, or "Action" button, when #do_not_dash is not switched on.

This extension is not recommended. It exists in order to remove the ducking behavior facilitated by #player_character_duck, which should itself be set to 0 to fully remove ducking. Ducking corresponds to the acceleration from walking to dashing speed, so without rushing the duck may be short lived, and then appear unnatural or unpleasant.

There are no plans to add a manual rushing feature (via a RUSH extended #keyboard key code) at this time. Values are limited to binary statements.[#]

player_character_arm[edit]

Prior to 1.2.0.8 this extension was named do_arm of #Option. It's not clear what this number represents yet. By default it is 4, but it's recommended that it only be set to 0 in order to disable it. This number scales the amount of noise introduced by walking, but is subject to change; both what it is and what it does. If 0 the result is as if do_arm was not enabled.

Introduced around 1.2.0.8, this extension in the affirmative enables management of the player character's arm. Specifically: the shoulder moving independently of the first-person view, as if the viewer is free to look about while attacking; how the arm is displayed, including handheld implements, the appearance of an opposite arm, and auxiliary animations; and abilities. Values are limited to the real number 0.[#]

player_character_bob...[edit]

Introduced around 1.1.1.7, this extension establishes the distances covered by bobbing (and derivative) walking effects when moving at peek speeds. The default value was 0.075, or about 3 inches; The notes below describe the new defaults.. Values are limited to positive real numbers.[#]

player_character_bob2

Since 1.2.0.10, unless explicitly assigned, player_character_bob2 is identical to player_character_bob.

Introduced around 1.2.0.8, this extension affects the horizontal swaying effect. The default is the same. This replaces sway_distance_multiplier.. Values are limited to positive real numbers.[#]

Note: since 1.2.0.10 it's possible to use pc[12] to interpolate between the amount of "bob" whether the character is walking or dashing. It's recommended this is done in order to obtain a more desirable overall effect until a better system can be arrived at and standardized.

Note: since 1.2.1.8 if player_character_bob is not specified if is cut in half (0.025) outside of "dashing" mode. 0.05/(2-pc[12]) is the equivalent number. Note, 0.05 is 2/3rds of the original bob effect chosen by From Software.

player_character_dip...[edit]

Introduced around 1.1.1.7, this extension establishes how far the player character may dip when landing flat footed. Maximum dip is achieved after a relatively short fall, or even a jump. This effect is not intended to encompass falls from great heights. Refer to #do_buckle.

The part after player_character_ can be omitted or 2. The defaults are 0.3 and 0.532359, or 30 degrees. player_character_dip2 contributes a nodding effect. Refer to #player_character_nod.... Values are limited to positive real numbers.[#]

player_character_duck...[edit]

Introduced around 1.1.1.7, this extension establishes how far the player character ducks down when dashing and ducking all of the way down to the ground while remaining flat footed. When dashing the lowest point is reached after #tap_or_hold_ms_timeout.

The part after player_character_ can be omitted or 2 or 3. The defaults are 0.15, 0.5, and 0.75. 2 is for "squat-walking", 3 is reached by doing a standing jump from the lowest point, also known as ducking. Values are limited to positive real numbers.[#]

Note: since 1.2.0.4 player_character_duck is borrowed by the "corkscrew" maneuver, so that it is doubled when dashing.

Note: I've added an explanation for 2 circa 2020. It was added many years ago, no telling what the version number was.

player_character_fence...[edit]

Formerly player_character_ascent in 1.1.1.5 and 6.

Introduced around 1.1.1.7, this extension establishes the height of obstacles that the player character is able to pass over. The default is 0.3 meters (prior to 1.2.0.8 it was 0.5) when the part after player_character_fence is omitted. This is the height of platforms that Sword of Moonlight will natively step up onto. It is recommended that this figure be lowered to around 0.3, or about a foot, because 0.5 meters is much higher than a tall person is easily able to step up onto, much less the default 1.6 meter tall player character supplied by Sword of Moonlight.

1.1.1.7 adds four more levels, player_character_fence2, 3, 4, and 5. At level 2 the player must lean into the obstacle and press the SPACE #keyboard key, or "Action" button, to climb up onto and over it. The way the player character climbs is related to #player_character_dip. At level 3 the player character should be able to hang down by their hands from the platform. At level 4 the player character is able to reach the platform by performing a standing jump and grabbing with their hands. Finally level 5 is a standing jump lifting off from #player_character_duck3. Otherwise it works identically to 4.

Note that it may not be possible to grip the platform, or the player may lack the strength, but the player is still able to reach interactive elements placed at levels 3 and 4. As for 4, #do_g (gravity) must be switched on or the player will not be able to jump. Likewise the power of the jump is a function of 4 minus 3 and gravity.

The defaults for 2 through 5 are 1.3, 2.0, 2.3, 0 respectively. Prior to 1.2.0.8 they were all 0. Note that currently only the difference between 3 and 4 matters, as it determines the jumping height. Values are limited to positive real numbers.[#]

Note: that Sword of Moonlight itself uses 0.51. Just in case the 0.01 part is important, 0.01 is automatically added to each fence.

player_character_height...[edit]

Introduced around 1.1.1.7, this extension establishes the physical height of the player character for purposes of passing underneath obstacles. When the part after player_character_height is omitted the default height is 1.6 meters, or about 5 foot 3 inches, corresponding to the physical height of the character when standing upright. Refer to #player_character_stature. Values are limited to positive real numbers.[#]

player_character_height2 Introduced around 1.2.0.6, this extension establishes the squatting height of the player character for purposes of passing underneath obstacles. By default it is 1.25 meters. Squatting happens automatically when running underneath overhead obstacles, and can be performed manually by standing up while moving away while in a crouching position. Values are limited to positive real numbers.[#]

player_character_inseam[edit]

Introduced around 1.1.1.8, this extension establishes a distance roughly analogous to the difference in the player character's height when squatting down, or straddling the side of the highest ledge possible. The default is 0 meters. In which case #player_character_fence is used where this extension is preferred. This figure is used along with #player_character_shape to alight from platforms, but is not limited to this role. Normally you set it to be somewhere between player_character_fence and player_character_fence2. Values are limited to positive real numbers.[#]

player_character_nod...[edit]

Introduced around 1.1.1.7, this extension establishes symmetric angular limits when the player character looks up and down. The default value is 0.785398 radians, or plus or minus 45 degrees, when the part after player_character_nod is omitted. player_character_nod2 sets an outer limit reached by holding down the controls that defaults to 90 degrees. Values are limited to positive real numbers.[#]

player_character_radius...[edit]

Prior to 1.1.1.7 "player_character_radius" referred to #player_character_shape.

Introduced around 1.1.1.7, this extension establishes the interaction distances for in game elements. The default is 1.75 meters when the part after player_character_radius is omitted. This distance applies to NPCs, including "enemies", for purpose of event activation. It is the distance preferred by Sword of Moonlight for event activation, not from the center, but as added to the clipping radius of the in game elements its events are associated with. However 1.75 is not the default radius for non-NPC elements including events and built in facilities. That is established by player_character_radius2 which defaults to 0.751.0+ meters.

Caution: 0.751.0+ meters is a breaking change instituted by the Extension Library. The figure approximates the length of the default player character's legs, or the combined reach of the arm and upper body as if stretching to touch your toes. Care should be taken with games not originally made with this distance in mind (as elements may be inadvertently placed out of reach.)

+SomEx 1.2.2.4 increases this value to 1 meter since the lesser value tended to produce misfires both in screen and VR settings.

Item pickup is established by player_character_radius3. It defaults to player_character_radius2. Unlike other elements items do not take up any space as such, and so the distance is from center to center. Likewise player_character_radius4 applies to money pickup and defaults to player_character_radius3. Values are limited to positive real numbers.[#]

Note: as of 1.1.1.8 doors (as they are not well understood) are handled differently. Their activation distance is a function of player_character_radius plus half the width of the door. Technically half the depth if greater than the width. Doors will behave like any other non-NPC element as soon as sufficient information about them becomes available.

player_character_radius3 (item examination depth)[edit]

Since 1.2.2.10 "items" appear closer in menu screens. This is to help with VR so that items don't appear stuck in a wall or other object behind them in terms of stereoscopic depth-perception. It also helps to make items appear to come closer when examined, as opposed to originally appearing to do the opposite, counterintuitively. However, this can make some items appear too close, or to be cut off by the edges of the screen. #player_character_radius3 is used to select a different distance. The new default distance is 1 meter. The original distance was 2 meters. For very small items, like a ring, it may help to position the item even closer, as-if examined closely in hand. The item number is used as a parameter to player_character_radius3 in this context. This distance is not used to determined if the same items are picked up and examined. That standard value is obtain when the item number is unavailable. It's currently a fixed value that is determined at the start of the game player.

Note: The new settings were chosen to emulate the game King's Field II.

player_character_shape...[edit]

Formerly player_character_radius prior to 1.1.1.7

Introduced around 1.1.1.7, this extension establishes the player character's shoulder width as measured from the center. Conceptually the classical character is cylindrically shaped, circular around the width and depth. The default radius is 0.25 meters however it should be noted that this is the radius used by Sword of Moonlight. A number of extensions work best with a radius of at least 0.325 meters. 0.5 meters is a good place to start with a new game project.

Since 1.1.1.7 you can set player_character_shape2 to change the "hitbox" radius, however it is unclear whether or not this is best practice, and even if set to near 0 many of Sword of Moonlight's stock monsters have attack radii that will land hits that look like near misses. Their PRF files may require attention. Values are limited to positive real numbers.[#]

Note that technically player_character_shape2 is reserved to set the smallest space that the player character is able to squeeze into. Which is then used as its default "hitbox" radius. It is also used to clip against ceilings, so that the player character does not pass through them.

player_character_shadow[edit]

Introduced around 1.2.0.8, this extension establishes the radius of the player character's classical NPC-style shadow. By default it is 0.35 meters. This extension is dependent on Shader Model 3 for support. Values are limited to positive real numbers.[#]

player_character_slip[edit]

Introduced around 1.1.1.8, this extension enables a "slip" effect and establishes the ground speed at which the player character will "fly" over platforms below #player_character_fence without losing speed. True to life. Lower speeds are met with ever greater adversity.

The default is 4 meters per second (prior to 1.2.0.8 it was 0.) How this effect works is a more involved than usual. Conceptually two circles exist at the player character's feet. The "slip" goes both ways. They can slip up stairs, for example. Or slip off of a step. Moving more quickly and pushing against obstacles causes one of the circles—lets call it the first—to grow. In the absence of moving and pushing the circle shrinks to a pinpoint. If it rests on a platform the player character does too. If it shrinks down until it no longer does so, then they slip off. At which point the second circle is initially the same size. This circle makes it possible to straddle the edge of the platform so that its side does not behave like a wall.

Fall further than #player_character_inseam and the circle grows to regular size, so that the side of the platform behaves like a wall, and it appears that the player character has taken a tumble. Otherwise the size of the circles do not change while slipping off, or falling, or stepping down, really the description depends upon the context, but the mechanics of the effect remain the same. The second circle grows along with the first as they move away. Values are limited to positive real numbers.[#]

player_character_stature[edit]

Introduced around 1.2.0.8, this extension specifies the eye level of the player character. By default it is 1.5 meters. It replaces pov_baseline_adjustment. Values are limited to real numbers.[#]

player_character_stride[edit]

Introduced around 1.2.0.10, this extension specifies the distance over which the walking effect completes a single bobbing cycle when walking at full speed. It replaces "bob_frequency_multiplier".

Starting in 1.2.3.4 the walk (_WALK) and dash (_DASH) #Number constants are multiplied by this value so it's unnecessary to change them to speed up or slow down a game's movement speed. Values are limited to real numbers.[#]

player_character_weight...[edit]

Introduced around 1.1.1.7, this extension establishes the player character's weight to be added to equipment and or inventory weight where applicable. The default weight is 50 kilograms, or about 110 pounds.

As of 1.1.2.2 player_character_weight is used by the default damage formula of #do_fix_damage_calculus to figure the first stat, aka. Strength, based bonuses. And player_character_weight2 is used to figure the second stat, aka. Magic, based bonuses. In 1.1.2.2 _weight2 defaults to 50. In 1.1.2.3 its default is _weight. Values are limited to positive real numbers.[#]

subtitles_ms_interim[edit]

Introduced around 1.1.1.7, this extension establishes the interval between (in fact each subtitle waits for the interval) subtitles. The time is in addition to #tap_or_hold_ms_timeout, and double that if a subtitle is the result of pressing the SPACE #keyboard key, or "Action" button, when #player_character_duck is non-zero and #do_not_dash is not switched on. The default is 300 milliseconds. Values are limited to whole numbers.[#]

Tip: negative times are allowed to subtract from the overall interval.

subtitles_ms_timeout[edit]

Introduced around 1.1.1.7, this extension establishes the duration of subtitles. The default is 1300 milliseconds. Note that the default is slightly more than what Sword of Moonlight uses, or 1000. Values are limited to positive whole numbers.[#]

tap_or_hold_ms_timeout[edit]

+Since about version 1.2.0.8 the default is 375. The previous default and classical value was/is 750.

Introduced around 1.1.1.7, this extension tweaks keyboard and button gesture recognition. A press is determined to be a tap if release occurs before tap_or_hold_ms_timeout milliseconds. A press is determined to be a hold if not released in time.

Taps and holds may often result in different outcomes. The default timeout is 750+ milliseconds. This is the timeout used by Sword of Moonlight's dashing game mechanic. If the timeout is shortened the transition from walking to dashing is shortened. Values are limited to positive whole numbers.[#]

Note: that this is an accessibility feature. 500 may make input appear more responsive, but some players may have a difficult time releasing the button with a half second. Sword of Moonlight's 750 figure likely constitutes a compromise. It should also be noted that this setting is roughly analogous to reaction and response times and may be lowered or raised according to in game parameters (eg. "Speed") so that players have the opportunity to train or practice to be able to play faster, or just to find a personal speed.