• How Reaction fire works

  • Turn-based game systems in general…

  • Describing all features related to BlitzArena combat system

    Visual representations and the like.

  • SIMPLE MODE TODO:

    None-free Aiming… abstraction approach (temp not-so-realistic approach) **:

    PROBMEM IS THIS POINT ONWARDS, doesn’t seem to work well. Because all shots are tailored to drop to enemy’s feet (as stated in next point), firing over friends (particular direct fire), will, ifton, will always drop the shot, causing shot to possibly end up hitting friends even though the shot was aimed high. This isn’t ideal. However, this works fairly ok for interception fire due to the friendly fire being avoided purposely. For direct fire, since everyoen isn’t moving, the target resolution can easily be determined immediately. Thus, free aiming can be used for direct fire system. See milestones checklist on how to handle this.

  • Stance Bonuses/penalities

    • CROUCHED:
    • PRONE: (kiv with prone movement)
  • TODO.

    ADVANCED MODE:

    Free Aiming vs cover:

    Simulated rpg hits/misses:

    Proper Camera movement/models:

    Prone:

    Remaining adv stuff for blitz arena system (kiv):

  • The Nature Of Projectiles

    A universal approach at handling pre-rolled stat-based projectiles that can either simulate/fake misses/hits accordingly, taking into consideration the target’s stats/stance, the firer’s stats/stance, the range to the target, and the surrounding 3d units/obstacles. Bullets will be slated to whizz by the target in such situations, or home in to hit him. Bullets might be deflected as well while it travels.

    As far as player reaction goes, this system doesn’t really reward the player for being able to dodge projectiles with his 3d controls (this is more for rpgs and not action games requiring twitch skills). However, he can prevent himself from getting hit by by diving into cover or ducking at the last minute. Thus, navigating careufully through places with availability of cover is a great strategy to avoid getting hit since he can run into cover at the last minute to negate projectiles that were originally destined to hit him. Also, the movement direction he takes while running can improve his chances of successfuly dodging projectiles forcing a firer to have to “lead” the shot, thus requiring more skill from the firer.

    The system also ensures friendly fire exploits cannot be done with the enemy AI aggro, something which Valkyria Chronicles is pretty prone of.

    Enemy Aggro targeting Raycast is made based off center of mass of target, but if there’s no LOS to it, a chosen unobstructed ellipsoid point of target closest to center of mass is used.

    Depending on the firer’s accruacy, it sometimes hits on-target (with the maximum weapon accruacy grouping cone), or fires randomly around the cone spreaded, thus determining the Final Raycast.

    Final Raycast is then used to determine if it still happens to hit on the target’s hitbox/hit-ellipsoid, therefore signifying a pass or failed shot.

  • if Final Raycast passed

    (passed shot)

  • if Final Raycast failed

    (failed shot)

  • All Shots

    Velocity and path of projectiles is tracked per frame to determine if it hits anything or potentially hits anything. Rolls are made against potential hits, allowing reaction from units that are being rolled against. Results are indicated as below.

  • Potentially hits any other unit

    If it can potentially hit another different unit en-route, another seperate damage hit roll is made against the unit, which either yields zero (for a failed hit) or some damage. This is known as Deflected Fire. Deflected fire cannot deal any headshots or criticals. The target will respond accordingly in “Indirect potential projectile hit animations” (see below).

    When damage taken due to deflected fire occurs, the unit will turn to face the direction of the deflected fire, regardless of damage dealt, unless he dies due to it as time passes.

  • Indirect potential projectile hit animations

    Dodge is zero for indirect fire potential hit rolls which lie lower or equal to prone position, or the character is already in prone position. Otherwise, if the dodge succeeds, the character will drop prone to in an attempt to evade the projectile, and no damage is taken. However, a unit might want to take the damage by purposely not attempt to dodge, and this is an option based off an ability.

    If the character can’t go prone, than the dodge will be zero.

    Block is avilable by default, and units will raise shield up immediately if they haven’t already, assuming the block succeeds.

  • Potentially hit a friendly target

    • Homing Shot to Stray Shot
      If it’s a homing shot, shot must always permanently become a stray shot from last known homing position. This is to prevent exploiting homing fire from being guided into friendly fire areas.

    • Stray shot
      If it’s a stray shot from the start, the shot should not have been fired in the first place unless explictly intended by the player, in which case friendly fire roll and damage will be dealt with accordingly if the projectile potentially hits.

  • Potentially hit obstacle

    • Homing Body Hit to Stray Hit pass
      If it’s a homing shot that is homed to deal hit damage, shot must always turns to stray shot from last known homing position. This often occurs when you go about “diving into cover”, thus negating shots that were slated to hit you. However, if you dived into cover and exited from it, thus getting hit by the stray shot, you will still take the full damage of the shot.

    If it’s a homing shot NOT meant to deal any damage, the shot continues as per normal until it actually hits something.

  • Stray shots

    Stray shots have a fixed straight path, and therefore can be slated to hit/miss any other static targets accordingly.

    They can potentially hit other moving targets, and sweep checks are only done against dynamic targets per frame.

    • Stray Miss pass
    • Stray Hit pass
  • Homing shots

    Homing shots don’t have a fixed path but follow a moving target unless the target isn’t moving, so they can hit just about anything as the path sweeps across the map, dealing potential damage rolls to the various units while the various units attempt to evade/block that shot if they are successful.

    Assuming target is moving, all homing shots will check for any sweep static/dynamic collisions per frame.

    • Homing Miss Pass
    • Homing Feet Miss
    • Homing Body Hit
    • Homing Body Miss

    List:

    • Homing Shield upon hit? Check direction validity to determine if need to re-roll damage.
    • Homing Miss Pass? Convert to Stray Miss Pass when end of time is reached.
  • Summary of Rules regarding shots: >>

    • Turn flow:

      • Team based initiative (with optional switchable/CP/CP repeatable)
        or
        Individual initiative

      Movement style:

      • Expended AP via movement
        or
        Reversible AP via movement

      Turn mechanics:

      • Single action only or multiple actions deplete AP
      • Support movement (always with AP cost)
      • Support fire (Free or with AP cost)

      Counter-turn mechanics:

      • Interception fire (free or with Ammo+/AP cost): Aim and attack at any actively moving player within range across entire duration of turn
      • Overwatch (with Ammo+/AP cost): Aim and attack at any actively moving player within range once in a turn
      • Opputunity Strike (always free): Aim and quickly strike at any actively moving player that moves out of melee range for melee hero.
      • Retailiatory/counter strike (free or with AP cost): Return strike against any in-range assailant

      Active Counter turn states:

      • Counter-waiting (for retailiatory strike)
      • Overwatch (for overwatch)
      • On-Watch-firing (for interception fire)
    • Simple Mode is a slightly non-action based (numeric percentage/dice-roll driven) abstraction of determining whether shots hit targets or miss, particularly for interception fire. There is no per-frame live projectile tracking involved, thus there can be visual artifacts with projectiles/tracers going through walls/units in some cases. It serves as an approximation preliminary of actual intended BlitzArena game mechanic, which will combines srpg with some action.

    • #Direct Fire Projectiles

      • Dodge success:
      • Block success:
      • Hit success:
    • #Interception Fire Projectiles

      • Dodge success:
      • Block success:
      • Hit success:
    • if Final raycast is passed

    • if Final Raycast failed

      Friendly fire case

    • General starting rules:

      • Auto aim trajectory vs free aim trajectory… Aim pitch offset tweento prior to launch
      • Readjust accruacy spread and determine final ray if it still hits
      • If it does, home in on target spot from center, else home in on missed spot from center plane hit, or feet, particularly if roll fails due to evade/block.
        ( Realistically, blocked hits should always be homed to hit shield facing zone, but this is hard to do without complications particuarly when user changes direction, as such shots would still need to fall back to feet to avoid the appearance of getting hit..)

      Arcs and hits:

      • Homing arcs will always hit obstacles in path by becoming stray shots.
      • Homing or stray arcs will always be re-rolled upon hitting other enemy targets. If rolled to evade, shot flies through target regardless. If rolled to block, shot will be absorbed by target.
      • Stray shots that were rolled to hit player will always hit player, but stray shots that were rolled to miss will always miss regardless even if shot touches. If shot is rolled to evade, shot flies through player, else if shot is blocked, shot is absorbed by player.

      Friendly fire exploits management:

      • Homing arcs will always turn to stray shots before hitting friendly targets to prevent FF
      • AI shot ray attempts that would hit friendly targets will be skipped.
      • Player shot attempts that would hit friendly targets will deal friendly fire.
    • GAME EXAMPLES:


      Valkyria chronicles:

      Team based initiative with CP repeatable
      Single action only
      Expended AP via movement

      • Support fire (free)
      • Retailiatory/counter strike (free)
      • Interception fire (free)

      Shining Blade:

      • Support movement (always with AP cost)

      Shining Ark:

      Same as above but with Individual initiative instead.


      Divinity Original Sin:

      Individual initiative
      Multiple actions deplete AP
      Expended AP via movement

      • Opputunity Strike (always free)

      X-Com:

      Team based initiative
      Single Action (or Multiple actions deplete AP for classic)
      Expended AP via movement

      • Overwatch with Ammo+/AP cost
      • Retailiatory/counter strike

      Kingturn:

      Team based initiative
      Single Action
      Reversible AP via movement

      • Retailiatory/counter strike

      Codename Steam:

      Team based initiative
      Multiple actions deplete AP
      Reversible AP via movement

      • Overwatch with Ammo+/AP cost
      • Retailiatory/counter strike

      Skulls of the Shogun:

      Team based initiative (with CP)
      Single Action
      Reversible AP via movement

      • Retailiatory/counter strike
        • Asharena

          Same as Shining Blade but with:

          • Special actions/buffs can require AP or/and cooldown, similar to Divinity Original sin.

          Balancing for melee advantage:

          • Opputunity strike for melee characters (free quick-strike) (+ melee characters)

          • Interception fire/Overwatch will likely be a special buff requiring AP but will lower evasion. ( -ranged characters)

          • Most typical melee characters will always have retailiatory/counter-strike buff. (this may still cause AP or be freely available as a passive) (+melee characters)

          • Support fire/strikes will be an optional special action that will affect remaining AP of all support-firers by activating them if they are currently not activated. Initiating one may cause AP as well, particularly for ranged. Those that are already activated may not deal support fire again, to prevent spamming. (- ranged characters)

          • All ranged characters DO not have personal retailiatory/counter-strike (- ranged characters characters)

          • Ranged characters with support retailiatory strike as a special action only, requiring AP and cannot be attacked/suppressed in order to execute it.

          Support/interception fire Implications:
          This means that full retreats will mean your counter/support attacking ability will be more limited, since even supported/interception attacks will require AP.

          More surprises due to interception fire not something that exist all the time, but can be predicted based on user actions (ie. how many percentage of AP preserved).

          Option for party to include various trigger-activated buffs such as Interception fire/Overwatch as default ones that are activated upon enemey encounter where enemy team has the initiative. This will affect APs on the next turn though, if the buffs gets activated. However, it can help make blitzs not so effective. Facing direction determines the interception fire/overwatch trigger.

        {"cards":[{"_id":"5b6dd14091639702f40000ad","treeId":"4ff1729f12ca18011a00000e","seq":4088471,"position":0.0625,"parentId":null,"content":"# How Reaction fire works"},{"_id":"56add1ba22785d93d0000098","treeId":"4ff1729f12ca18011a00000e","seq":2651767,"position":0.125,"parentId":null,"content":"# Turn-based game systems in general..."},{"_id":"56add21e22785d93d0000099","treeId":"4ff1729f12ca18011a00000e","seq":2651812,"position":1,"parentId":"56add1ba22785d93d0000098","content":"Turn flow:\n------------\n* Team based initiative (with optional switchable/CP/CP repeatable) \nor \nIndividual initiative\n\nMovement style:\n------------------------\n- Expended AP via movement\nor\nReversible AP via movement\n\n\nTurn mechanics:\n----------------------------\n* Single action only or multiple actions deplete AP \n- Support movement (always with AP cost)\n- Support fire (Free or with AP cost)\n\n\nCounter-turn mechanics:\n-----------------------------\n- Interception fire (free or with Ammo+/AP cost): Aim and attack at any actively moving player within range across entire duration of turn\n- Overwatch (with Ammo+/AP cost): Aim and attack at any actively moving player within range once in a turn\n- Opputunity Strike (always free): Aim and quickly strike at any actively moving player that moves out of melee range for melee hero. \n- Retailiatory/counter strike (free or with AP cost): Return strike against any in-range assailant \n\n\nActive Counter turn states:\n---------------------\n- Counter-waiting (for retailiatory strike)\n- Overwatch (for overwatch)\n- On-Watch-firing (for interception fire)"},{"_id":"56add26e22785d93d000009a","treeId":"4ff1729f12ca18011a00000e","seq":2660703,"position":1,"parentId":"56add21e22785d93d0000099","content":"GAME EXAMPLES:\n_____________________________\n\n###Valkyria chronicles: \nTeam based initiative with CP repeatable\nSingle action only\nExpended AP via movement\n\n- Support fire (free)\n- Retailiatory/counter strike (free)\n- Interception fire (free)\n\n###Shining Blade:\n+ Support movement (always with AP cost)\n\n\n### Shining Ark:\nSame as above but with Individual initiative instead.\n\n__________________________\n\n###Divinity Original Sin:\nIndividual initiative\nMultiple actions deplete AP \nExpended AP via movement\n\n- Opputunity Strike (always free)\n\n_______________________\n###X-Com:\nTeam based initiative\nSingle Action (or Multiple actions deplete AP for classic)\nExpended AP via movement\n\n- Overwatch with Ammo+/AP cost\n- Retailiatory/counter strike\n________________________\n###Kingturn:\nTeam based initiative\nSingle Action\nReversible AP via movement\n\n- Retailiatory/counter strike\n\n_____________________\n\n### Codename Steam:\nTeam based initiative\nMultiple actions deplete AP \nReversible AP via movement\n\n- Overwatch with Ammo+/AP cost\n- Retailiatory/counter strike\n\n_____________________\n\n### Skulls of the Shogun:\nTeam based initiative (with CP)\nSingle Action\nReversible AP via movement\n\n- Retailiatory/counter strike\n"},{"_id":"56ba5d86020c893b9d0000a5","treeId":"4ff1729f12ca18011a00000e","seq":2661347,"position":1,"parentId":"56add26e22785d93d000009a","content":"### Asharena\nSame as Shining Blade but with:\n\n+ Special actions/buffs can require AP or/and cooldown, similar to Divinity Original sin.\n\nBalancing for melee advantage:\n\n+ Opputunity strike for melee characters (free quick-strike) (+ melee characters)\n\n+ Interception fire/Overwatch will likely be a special buff requiring AP but will lower evasion. ( -ranged characters)\n\n+ Most typical melee characters will always have retailiatory/counter-strike buff. (this may still cause AP or be freely available as a passive) (+melee characters)\n\n+ Support fire/strikes will be an optional special action that will affect remaining AP of all support-firers by activating them if they are currently not activated. Initiating one may cause AP as well, particularly for ranged. Those that are already activated may not deal support fire again, to prevent spamming. (- ranged characters)\n\n+ All ranged characters DO not have personal retailiatory/counter-strike (- ranged characters characters)\n\n+ Ranged characters with support retailiatory strike as a special action only, requiring AP and cannot be attacked/suppressed in order to execute it. \n\n\nSupport/interception fire Implications:\nThis means that full retreats will mean your counter/support attacking ability will be more limited, since even supported/interception attacks will require AP.\n\nMore surprises due to interception fire not something that exist all the time, but can be predicted based on user actions (ie. how many percentage of AP preserved).\n\nOption for party to include various trigger-activated buffs such as Interception fire/Overwatch as default ones that are activated upon enemey encounter where enemy team has the initiative. This will affect APs on the next turn though, if the buffs gets activated. However, it can help make blitzs not so effective. Facing direction determines the interception fire/overwatch trigger."},{"_id":"50239ed4ee2792596f000233","treeId":"4ff1729f12ca18011a00000e","seq":1667469,"position":0.25,"parentId":null,"content":"# Describing all features related to BlitzArena combat system\nVisual representations and the like."},{"_id":"5032dd463af2ea5d140000b7","treeId":"4ff1729f12ca18011a00000e","seq":1670389,"position":0.375,"parentId":null,"content":"SIMPLE MODE TODO: \n--------------\n\nNone-free Aiming... abstraction approach (temp not-so-realistic approach) `**`:\n\n[X] Range /Exposure factored into determining hit/miss dice roll directly, without using a cone spread raycast against 3d environment.\n[ ] Aggro attempts aiming across various ellipsoid aim index cycling. Lesser exposure means longer time for aggro to take a shot due to having to find a suitable spot to shoot at.\n[ ] getExposure() Some generic hit planes are required for this for friendly/enemy units at the time targeting is being made, because both friendly/enemy units can reduce exposure..\n\nPROBMEM IS THIS POINT ONWARDS, doesn't seem to work well. Because all shots are tailored to drop to enemy's feet (as stated in next point), firing over friends (particular direct fire), will, ifton, will always drop the shot, causing shot to possibly end up hitting friends even though the shot was aimed high. This isn't ideal. However, this works fairly ok for interception fire due to the friendly fire being avoided purposely. For direct fire, since everyoen isn't moving, the target resolution can easily be determined immediately. Thus, free aiming can be used for direct fire system. See milestones checklist on how to handle this."},{"_id":"5036c5b91e3a763d0900001d","treeId":"4ff1729f12ca18011a00000e","seq":1669780,"position":1,"parentId":"5032dd463af2ea5d140000b7","content":"Simple Mode is a slightly non-action based (numeric percentage/dice-roll driven) abstraction of determining whether shots hit targets or miss, particularly for interception fire. There is no per-frame live projectile tracking involved, thus there can be visual artifacts with projectiles/tracers going through walls/units in some cases. It serves as an approximation preliminary of actual intended BlitzArena game mechanic, which will combines srpg with some action."},{"_id":"4ff1735312ca18011a000011","treeId":"4ff1729f12ca18011a00000e","seq":1667846,"position":0.4375,"parentId":null,"content":"# Stance Bonuses/penalities\n* **CROUCHED: **\n[ ] Blocked increase: +.22 while duck-walking. Dodge decreased by half at all times. `**`\n[ ] For aggro, consider aggro turning speed reduced by .65 in exchange for a block increase of +.22. (kiv consider optional)\n* **PRONE:** (kiv with prone movement)\n[ ] Dodge set to zero. Block set to zero.\n[X] For dodge, unless got activated ability and space to do rolling dodge. (kiv)"},{"_id":"4ff1ac3812ca18011a000017","treeId":"4ff1729f12ca18011a00000e","seq":1670312,"position":0.5,"parentId":null,"content":"TODO.\n\n**ADVANCED MODE:**\n\nFree Aiming vs cover:\n[ ] Soft Targeting and autoaim `**`\n[ ] Show universal healthbar for targetted and self healthbar. `**`\n[ ] Targeting Bullet spread indicator x deviation and 360 degree random for each target for ranged weapons. Show HUD crosshairs for this when doing direct fire. `**`\n[ ] Direct fire implementation for above. `**`\n[ ] Final Raycast test `*`\n[ ] Aggro Aiming on exposed body spot for both melee and ranged. `*`\n[ ] Aggro Aiming to ensure Final Raycast for ranged doesn't hit friendly, if so, skip fire and go straight to some form of hesitation cooldown. `*`\n[X] Implement critical hit chance with getTotalExposure() under IWeaponLOSChecker. `**`\n\n[ ] Proper weapon switching for modes of fire instead. Basic generic melee crosshair to be used first. `*`\n[ ] For melee strikes, you need to be pointed at or sweep at a target within ellipsoid, which is good enough for a hit, that isn't headshot or legshot based. `*`\n[ ] Hitboxes instead of hit blocks.\n[ ] Ensure got seperate Swing/Thrust crosshairs, and proper targeting for those. \n\nSimulated rpg hits/misses:\n[ ] Determine Stray fire trajectory time of impact against 3d environment. Draw preview arc. `**`\n[ ] Stray vs Homing hits/misses according to situation with conversions.\n[ ] Pre-damage rolls and responsive animations for blocking + health bar showing only if damage taken.\n[ ] Pre-damage rolls and responsive animations for dodging (kiv. with prone, for now, dodge is zero for such units.)\n\nProper Camera movement/models:\n[ ] Proper 3rd person console camera Valkyria Chronicles style.\n\nProne:\n[ ] Prone stance and movement. (kiv)\n\n## Remaining adv stuff for blitz arena system (kiv):\n[ ] Automatic Fire capability\n[ ] Headshot/legshot (need hitboxes for this)\n"},{"_id":"4ff18e9d12ca18011a000015","treeId":"4ff1729f12ca18011a00000e","seq":1668039,"position":2.75,"parentId":null,"content":"# The Nature Of Projectiles\n\nA universal approach at handling pre-rolled stat-based projectiles that can either simulate/fake misses/hits accordingly, taking into consideration the target's stats/stance, the firer's stats/stance, the range to the target, and the surrounding 3d units/obstacles. Bullets will be slated to whizz by the target in such situations, or home in to hit him. Bullets might be deflected as well while it travels.\n\nAs far as player reaction goes, this system doesn't really reward the player for being able to dodge projectiles with his 3d controls (this is more for rpgs and not action games requiring twitch skills). However, he can prevent himself from getting hit by by diving into cover or ducking at the last minute. Thus, navigating careufully through places with availability of cover is a great strategy to avoid getting hit since he can run into cover at the last minute to negate projectiles that were originally destined to hit him. Also, the movement direction he takes while running can improve his chances of successfuly dodging projectiles forcing a firer to have to \"lead\" the shot, thus requiring more skill from the firer.\n\nThe system also ensures friendly fire exploits cannot be done with the enemy AI aggro, something which Valkyria Chronicles is pretty prone of.\n\nEnemy Aggro targeting Raycast is made based off center of mass of target, but if there's no LOS to it, a chosen unobstructed ellipsoid point of target closest to center of mass is used.\n\nDepending on the firer's accruacy, it sometimes hits on-target (with the maximum weapon accruacy grouping cone), or fires randomly around the cone spreaded, thus determining the Final Raycast.\n\nFinal Raycast is then used to determine if it still happens to hit on the target's hitbox/hit-ellipsoid, therefore signifying a pass or failed shot.\n\n"},{"_id":"4ff1b40e12ca18011a000019","treeId":"4ff1729f12ca18011a00000e","seq":2361238,"position":0.25,"parentId":"4ff18e9d12ca18011a000015","content":"#Direct Fire Projectiles\n\n* **Dodge success:**\n[ ] Ranged: If character is standing or crouched, crouch or drop prone respectively. Bullets slated to fly over character.\n[ ] Melee: Should either duck/prone or jump to evade blow. May not be easy to implement perfectly for multiple blows and such. Consider just no flinch animations appearing.\n* **Block success**: \n[ ] Raise shield if haven't already from standing/crouching stance. `**`\n* **Hit success:**\n[X] Flinch character upon hit.\n[ ] Homed to hit targeted 3d spot as aimed by player. (Homing Body Hit) `*`\n"},{"_id":"4ff1b5dd12ca18011a00001c","treeId":"4ff1729f12ca18011a00000e","seq":1667471,"position":2,"parentId":"4ff18e9d12ca18011a000015","content":"#Interception Fire Projectiles\n\n* **Dodge success:** \n[ ] Stray shot behind character's movement direction. (Stray miss pass)\n[ ] Homing shot around player character's missing sphere. (Homing miss pass)\n* **Block success**:\n[ ] Homing shot zeroed on feet. (Homing Feet Hit)\n[ ] Homed to hit center of mass or re-roll damage if shield not facing the right direction.\n[ ] Stray shot aimed at feet (Stray Miss pass) `*`\n[ ] Keep shield raised up if got shots that are being blocked. `**`\n* **Hit success:**\n[ ] Homed to hit target based off center of mass or available targeted 3d raycast spot within target ellipsoid as chosen by aggro. (Homing Body Hit)\n"},{"_id":"4ff1fb8b12ca18011a000020","treeId":"4ff1729f12ca18011a00000e","seq":1635355,"position":3.5,"parentId":null,"content":"## if Final Raycast passed \n(passed shot)"},{"_id":"4ff1fc7112ca18011a000021","treeId":"4ff1729f12ca18011a00000e","seq":1657000,"position":1,"parentId":"4ff1fb8b12ca18011a000020","content":"### if Final raycast is passed\n\n[ ] An additional roll is made to determine either a hit or miss against the characters' defensive block/evade ability. (See above) on the final result (dodge/block/hit success). `*`"},{"_id":"4ff1fcd612ca18011a000022","treeId":"4ff1729f12ca18011a00000e","seq":1635354,"position":3.75,"parentId":null,"content":"## if Final Raycast failed \n(failed shot)"},{"_id":"4ff2002612ca18011a000023","treeId":"4ff1729f12ca18011a00000e","seq":1667320,"position":1,"parentId":"4ff1fcd612ca18011a000022","content":"### if Final Raycast failed\n[ ] Homed to miss based off final raycast hit spot at aim plane of target. (Homing miss pass)\n[ ] Or as a stray shot towards the player's feet that will NOT damage the player target regardless. (Stray miss pass) `*`\n\nFriendly fire case\n[ ] If failed shot in interception fire is slated to hit a friendly target for AI-controlled firers, DO not launch projectile. There will be a hesitation to fire on the AI's part, so you can't trick AI into killing their own teammates. However, direct aimed fire as determined by the player will yield friendly fire damage. `*`\n"},{"_id":"4ff207ac12ca18011a000024","treeId":"4ff1729f12ca18011a00000e","seq":1657007,"position":3.9453125,"parentId":null,"content":"## All Shots\n\n[ ] All ranged projectiles, while traveling, might potentially hit various targets or obstacles.\n\nVelocity and path of projectiles is tracked per frame to determine if it hits anything or potentially hits anything. Rolls are made against potential hits, allowing reaction from units that are being rolled against. Results are indicated as below."},{"_id":"4ff21acdc8c811cb84000016","treeId":"4ff1729f12ca18011a00000e","seq":1653566,"position":3.95703125,"parentId":null,"content":"## Potentially hits any other unit\n\nIf it can potentially hit another different unit en-route, another seperate damage hit roll is made against the unit, which either yields zero (for a failed hit) or some damage. This is known as Deflected Fire. Deflected fire cannot deal any headshots or criticals. The target will respond accordingly in \"Indirect potential projectile hit animations\" (see below).\n\nWhen damage taken due to deflected fire occurs, the unit will turn to face the direction of the deflected fire, regardless of damage dealt, unless he dies due to it as time passes."},{"_id":"4ff22de4c8c811cb8400001b","treeId":"4ff1729f12ca18011a00000e","seq":2361281,"position":3.962890625,"parentId":null,"content":"## Indirect potential projectile hit animations\n\nDodge is zero for indirect fire potential hit rolls which lie lower or equal to prone position, or the character is already in prone position. Otherwise, if the dodge succeeds, the character will drop prone to in an attempt to evade the projectile, and no damage is taken. However, a unit might want to take the damage by purposely not attempt to dodge, and this is an option based off an ability.\n\nIf the character can't go prone, than the dodge will be zero.\n\nBlock is avilable by default, and units will raise shield up immediately if they haven't already, assuming the block succeeds."},{"_id":"4ff228bbc8c811cb8400001a","treeId":"4ff1729f12ca18011a00000e","seq":1668021,"position":3.96875,"parentId":null,"content":"## Potentially hit a friendly target\n\n* Homing Shot to Stray Shot\nIf it's a homing shot, shot must always permanently become a stray shot from last known homing position. This is to prevent exploiting homing fire from being guided into friendly fire areas.\n\n* Stray shot\nIf it's a stray shot from the start, the shot should not have been fired in the first place unless explictly intended by the player, in which case friendly fire roll and damage will be dealt with accordingly if the projectile potentially hits."},{"_id":"4ff239fdc8c811cb8400001c","treeId":"4ff1729f12ca18011a00000e","seq":1653459,"position":3.9921875,"parentId":null,"content":"## Potentially hit obstacle\n\n* Homing Body Hit to Stray Hit pass\nIf it's a homing shot that is homed to deal hit damage, shot must always turns to stray shot from last known homing position. This often occurs when you go about \"diving into cover\", thus negating shots that were slated to hit you. However, if you dived into cover and exited from it, thus getting hit by the stray shot, you will still take the full damage of the shot.\n\nIf it's a homing shot NOT meant to deal any damage, the shot continues as per normal until it actually hits something."},{"_id":"4ff1f77712ca18011a00001d","treeId":"4ff1729f12ca18011a00000e","seq":2361280,"position":4,"parentId":null,"content":"##Stray shots\n\nStray shots have a fixed straight path, and therefore can be slated to hit/miss any other static targets accordingly.\n\nThey can potentially hit other moving targets, and sweep checks are only done against dynamic targets per frame.\n\n* Stray Miss pass\n* Stray Hit pass"},{"_id":"4ff1f7d712ca18011a00001e","treeId":"4ff1729f12ca18011a00000e","seq":1657024,"position":5,"parentId":null,"content":"##Homing shots\nHoming shots don't have a fixed path but follow a moving target unless the target isn't moving, so they can hit just about anything as the path sweeps across the map, dealing potential damage rolls to the various units while the various units attempt to evade/block that shot if they are successful.\n\nAssuming target is moving, all homing shots will check for any sweep static/dynamic collisions per frame.\n\n* Homing Miss Pass\n* Homing Feet Miss\n* Homing Body Hit\n* Homing Body Miss\n\nList:\n\n* Homing Shield upon hit? Check direction validity to determine if need to re-roll damage.\n* Homing Miss Pass? Convert to Stray Miss Pass when end of time is reached."},{"_id":"54e25bc6120955ad54000105","treeId":"4ff1729f12ca18011a00000e","seq":2361248,"position":6,"parentId":null,"content":"## Summary of Rules regarding shots: >>"},{"_id":"54e25cbe120955ad54000106","treeId":"4ff1729f12ca18011a00000e","seq":2361278,"position":1,"parentId":"54e25bc6120955ad54000105","content":"General starting rules:\n\n- Auto aim trajectory vs free aim trajectory... Aim pitch offset tweento prior to launch\n- Readjust accruacy spread and determine final ray if it still hits\n- If it does, home in on target spot from center, else home in on missed spot from center plane hit, or feet, particularly if roll fails due to evade/block.\n( Realistically, blocked hits should always be homed to hit shield facing zone, but this is hard to do without complications particuarly when user changes direction, as such shots would still need to fall back to feet to avoid the appearance of getting hit..)\n\nArcs and hits:\n\n- Homing arcs will always hit obstacles in path by becoming stray shots.\n- Homing or stray arcs will always be re-rolled upon hitting other enemy targets. If rolled to evade, shot flies through target regardless. If rolled to block, shot will be absorbed by target.\n- Stray shots that were rolled to hit player will always hit player, but stray shots that were rolled to miss will always miss regardless even if shot touches. If shot is rolled to evade, shot flies through player, else if shot is blocked, shot is absorbed by player.\n\nFriendly fire exploits management:\n- Homing arcs will always turn to stray shots before hitting friendly targets to prevent FF\n- AI shot ray attempts that would hit friendly targets will be skipped.\n- Player shot attempts that would hit friendly targets will deal friendly fire."}],"tree":{"_id":"4ff1729f12ca18011a00000e","name":"BlitzArenaDev Mechanics","publicUrl":"blitzarenadev"}}