Difference between pages "Variables" and "Ho-Ri Production"

From War Thunder Wiki
(Difference between pages)
Jump to: navigation, search
m (Some grammar corrections)
 
m (Pros and cons: repair cost)
 
Line 1: Line 1:
{{DISPLAYTITLE:CDK Mission Editor: Variables}}
+
{{Specs-Card|code=jp_type_5_ho_ri_production}}
 +
{{About
 +
|about=tank destroyer '''{{PAGENAME}}'''
 +
|usage=the bundle version
 +
|link=Ho-Ri Prototype
 +
}}
  
__TOC__
+
== Description ==
 +
<!--''In the description, the first part should be about the history of the creation and combat usage of the vehicle, as well as its key features. In the second part, tell the reader about the ground vehicle in the game. Insert a screenshot of the vehicle, so that if the novice player does not remember the vehicle by name, he will immediately understand what kind of vehicle the article is talking about.''-->
 +
[[File:GarageImage_Ho-RiProduction.jpg|420px|thumb|left]]
 +
{{break}}
 +
The '''{{specs|name}}''' is a rank {{specs|rank}} Japanese tank destroyer {{Battle-rating}}. It was introduced in [[Update 1.73 "Vive la France"]].
  
Variables in mission editor are used to store information like text, numbers or booleans used for creating true or false statements, they can be used to optimize code of your mission and also to create things that are normally impossible without using them.
+
The Ho-Ri has a distinctive sloped UFP, small gun mantlet, and long casemate hull. Note the large lower plate - it is quite vulnerable and shots there can get its transmission destroyed.
If you create a string variable named '''t1_unit_01''' you will be able to see it in '''target''' or '''object''' tab which you can find in actions similar to '''unitSetProperties''' where you can select AI or player units, it's name will be displayed as '''@t1_unit_01''', it will be displayed similarly in other actions too.
 
As mentioned before, they can also be used to optimize missions, but only when you need a really high amount of triggers that do perform similar functions, in case of small mission you won't even notice a difference and usually you will need more triggers than when just using simple actions without variables, so this article will explain how to use them and show a good use of them.
 
  
You can find some basic information about [https://wiki.warthunder.com/Triggers#List_of_all_Actions actions] and [https://wiki.warthunder.com/Triggers#List_of_all_Conditions conditions] with variables [https://wiki.warthunder.com/Triggers here], all their names start with '''var'''.
+
== General info ==
 +
=== Survivability and armour ===
 +
<!--''Describe armour protection. Note the most well protected and key weak areas. Appreciate the layout of modules as well as the number and location of crew members. Is the level of armour protection sufficient, is the placement of modules helpful for survival in combat?''
  
 +
''If necessary use a visual template to indicate the most secure and weak zones of the armour.''-->
 +
[[File:Ho-Ri frontal weak spot demonstration.jpg|450px|thumb|right|Destroying Ho-Ri with APHE in direct battle isn't really all that hard - simply aim for these square sheets protecting its radiators and fire. As long as your shell can penetrate 200 mm of armour it will instantly explode the tank, or at least take out the entirety of the crew in that part of the tank. If you are ''very'' good at aiming, you can aim a bit higher to hit the window which has only 175 mm of armour with potential of hitting an outer ammo rack directly, but reduced likelyhood of APHE hitting the ammo on the bottom of the tank.]]
 +
If you spot a Ho-Ri, '''never''' shoot it in the sloped UFP. It can bounce shells from even an Object 120 and the only good thing that can come from it is if you get lucky and it bounces into the barrel. Instead, aim for the 120mm lower plate to destroy its mobility, or the right side of the mantlet to knock out the gunner. Note that the outer edges of the mantlet are slightly weaker, so if using APHE aim for that if possible.
  
'''Important notes:'''
+
While transmission is very sturdy and LFP is rather thick for lighter tanks and APHE, some heavy pure AP tanks like [[Lorraine 40t]] can shoot through it and ammo rack Ho-Ri in one shot.
  
:* You can't store more than one information in the same variable
+
There is also a minor, but important detail - whenever your gun is pointing down, it opens the hatch on top of your vehicle, so if the enemy attacker is trying to top-down your SPG, pull your gun up to make sure it won't destroy the vehicle. It is also possible to push HE inside of compartment when the hatch is opened, but for anything, with exception of rank I tanks, it would be easier to just shoot your tank directly.
:* All of these instructions from this article are valid for both singleplayer and multiplayer missions
 
  
= Basics =
+
Overall, the Ho-Ri is highly resistant to light tanks and many relatively low-velocity shells when angled (such as even it's own APHE), however at flat angle front can be easily penetrated (especially when fired at point blank), flat sides can be easily penetrated by anything at the BR, and even the rear can be penetrated by SPAA. As such, in urban enviroment, it's best to cut corners and drive out onto enemy while already being angled.
''Note: Before reading this make sure that you know basics about creating triggers and other things related to them (events, actions, conditions), if not then check the links above''
 
  
== How to create a variable ==
+
Worst case scenario, Ho-Ri has 6 crew members, which are located in a very practical way (not just standing straight in the middle of the tank, but rather stand closer to the hull), so taking all of them out is a challenge in itself, and if player took less than maximal amount of ammo into fight, only the best-aimed shots can indefinitely one-shot the tank.
[[File:Variables window.jpg|thumb|250x250px|Variables window]]
 
''Note: You will need a working singleplayer mission before you start''
 
  
:1. Choose on the side toolbar '''Variables''', you can find it under '''Triggers''' tab
+
'''Armour type:'''
:: Now you should be able to see a window with multiple tabs that can be pressed, '''Add''' for adding new variables, '''Edit''' for editing, '''Del''' for deleting and '''Up''' and '''Down''' to move them.
 
:2. Press '''Add''' to add a new variable
 
:: After pressing it a new window should appear, you can select a name for it under '''Variable name:''' and select its type under '''Variable type:''', there are 10 of them, but for now I'll only explain how to use string (text), integer (number without a fractional component), real (number with a fractional component) and bool (used for creating true or false statements)
 
:3. Set the variable name to '''t1_unit_string_01''' and it's type to '''string'''
 
:: Now you should have created a new string variable, the next thing to do is set its value and assign it to something
 
:4. Select created variable
 
:: After selecting there should appear a new field where you can set its value
 
:5. Set the variable value to '''t1_unit_01'''
 
:: Now you need a new action where you can assign this variable
 
:6. Go to the '''Triggers / Missions Obj. Navigat''' tab, find an '''unitSetProperties''' action and create it
 
:7. Press '''object''' and select '''@t1_unit_string_01''', then scroll down and enable '''cannotShoot''' option
 
:: It should assign a variable to this action and give it a simple property, now we need a unit which will use it
 
:8. Create a new '''armada unit''' and call it '''t1_unit_01''' and make it a player unit
 
:: If everything went without any issues then your unit shouldn't be able to fire and that will mean that you properly assigned a variable to unitSetProperties action
 
  
== Ways of storing information in variables ==
+
* Rolled homogeneous armour
 +
* Cast homogeneous armour (Gun mantlet)
  
:* Editing variable value manually
+
{| class="wikitable"
:: Go to the window with '''Variables''', simply select one of them and just set it's value
+
|-
:: Sometimes it's a good idea to assign some important actions and conditions to variables and then just edit them by changing variable value in the .blk file
+
! Armour !! Front (Slope angle) !! Sides !! Rear !! Roof
:* Using '''varSet''' (Int/Real/Bool/String) actions
+
|-
:: Create a varSet action, in '''var''' tab select that variable which you want to edit, then set it's '''value''', you can also import this '''value''' from other variable using '''input_var''' option
+
| Hull || 120 mm (70°) ''Front glacis'' <br> 120 mm (), 60 mm (67°) ''Lower glacis'' <br> 100 mm (16°) ''Hull cheeks'' || 75 mm (17°) ''Top'' <br> 75 mm ''Bottom'' || 35 mm (10-40°) || 20 mm
::{| class="wikitable" style="width: 90%;"
 
|+
 
! style="width: 20%;" |Action
 
! style="width: 70%;" |Description
 
 
|-
 
|-
| varSetBool
+
| Superstructure || 200-225 mm (5-20°) ''Superstructure front''<br> 175-225 mm ''Gun mantlet'' <br> 175 mm (5°) ''Vision slits'' <br> 50-200 mm (45°) ''Barrel shroud'' || 75 mm (17-48°) || 35 mm (5°) || 20-35 mm
|<div class="mw-collapsible mw-collapsed" style="width:100%">Sets a bool value<div class="mw-collapsible-content">
+
|-
 +
|}
 
'''Notes:'''
 
'''Notes:'''
  
* Using this action will remove (overwrite) everything from selected '''var''' variable
+
* Suspension wheels and bogies are 15 mm thick while tracks are 20 mm thick.
 +
* Bogie guards in the side suspension provide rows of 10 mm RHA at their locations.
 +
* Belly armour is 20 mm thick.
 +
* Hull underside right above tracks is 20 mm thick.
 +
* 20 mm RHA plates separate the engine compartment from the front and rear.
  
'''Fields:'''
+
=== Mobility ===
 +
<!-- ''Write about the mobility of the ground vehicle. Estimate the specific power and manoeuvrability, as well as the maximum speed forwards and backwards.'' -->
  
* var: Select a bool variable to which you want to input a value
+
{{tankMobility|abMinHp= 1562|rbMinHp= 973}}
* value: Select the type of value (checked - True, unchecked - False)
 
* input_var: Select if you want to input the value from other variables
 
* fromDescriptor: unknown
 
</div></div>
 
|-
 
| varSetInt
 
|<div class="mw-collapsible mw-collapsed" style="width:100%">Sets an integer value<div class="mw-collapsible-content">
 
'''Notes:'''
 
  
* Using this action will remove (overwrite) everything from selected '''var''' variable
 
  
'''Fields:'''
+
When spaded, the {{PAGENAME}} moves at the pace of a medium tank - about 40/30 km/h (AB/RB) forward and -10/-8 km/h (AB/RB) backwards when offroad. It climb hills easily, sometimes even getting up the mountains.
  
* var: Select an integer variable to which you want to input a value
+
The biggest problem of this SPG is that its turn rate is quite low, and it lacks neutral steering. One must maximize "driving" skill of the crew to be able to indefinitely turn around, otherwise tank throttles and fails to turn around at gear 1-2, which can be easily exploited by enemy light tanks.
* value: Set the number
 
* source_var: Select if you want to input values from ongoing battle (overwrites current '''value''')
 
* input_var: Select if you want to input the value from other variables
 
* fromDescriptor: unknown
 
</div></div>
 
|-
 
| varSetReal
 
|<div class="mw-collapsible mw-collapsed" style="width:100%">Sets a real value<div class="mw-collapsible-content">
 
'''Notes:'''
 
  
* Using this action will remove (overwrite) everything from selected '''var''' variable
+
When just one track is broken, {{PAGENAME}} still can bounce around to continue fighting. It is also worth noting, that if one track '''and''' engine are broken, {{PAGENAME}} can barely turn around 1 degree per second, which is a big deal in urban combat.
  
'''Fields:'''
+
In Arcade mode {{PAGENAME}}'s engine is powerful enough to move hostile heavy tanks and push them around, denying repairs. Due to its hull shape, hostile tanks often get pulled on it and become completely helpless, especially when pushed against the wall, making tanks like [[T29]], [[IS-6]] and [[T-54 (1947)|T-54]] vulnerable to point blank finishers. Wide and agile medium tanks like [[T-44-100]] or [[Warrior]] often resist ramming attempts if away from walls and can eventually sidestep {{PAGENAME}}, but there is no practical need to ram them anyway. If you absolutely have to do it, do not leave them enough space to squeeze between {{PAGENAME}} and the wall, or they will escape.
  
* var: Select a real variable to which you want to input a value
+
== Armaments ==
* value: Set the number
+
=== Main armament ===
* input_var: Select if you want to input the value from other variables
+
<!--''Give the reader information about the characteristics of the main gun. Assess its effectiveness in a battle based on the reloading speed, ballistics and the power of shells. Do not forget about the flexibility of the fire, that is how quickly the cannon can be aimed at the target, open fire on it and aim at another enemy. Add a link to the main article on the gun: <code><nowiki>{{main|Name of the weapon}}</nowiki></code>. Describe in general terms the ammunition available for the main gun. Give advice on how to use them and how to fill the ammunition storage.''-->
* fromDescriptor: unknown
 
</div></div>
 
|-
 
| varSetString
 
|<div class="mw-collapsible mw-collapsed" style="width:100%">Sets a string value<div class="mw-collapsible-content">
 
'''Notes:'''
 
  
* Using this action will remove (overwrite) everything from selected '''var''' variable
+
The weapon used by Ho-Ri is mostly suited to attack medium and heavy tanks, while heavy SPG and hull-down tanks at it's BR can mostly deflect its shots unless a weak spot is hit. As such, engaging other SPG is always a great risk.
  
'''Fields:'''
+
While APHE used by it sometimes struggles at penetrating enemy and hasty shot might result in ricochet, if it penetrates the enemy tank is probably going to blow up, making destroying anything like [[Tiger II (10.5 cm Kw.K)]] and [[Centurion (Family)]] relatively easy, which is also supported by SPG armour being able to bounce most, if not all, of their reply shots. Gun is also relatively easy to handle on move if self-discipline is maintained.
  
* var: Select a string variable to which you want to input a value
+
In close quarters, if gunner got taken out and situation looks grim, Ho-Ri can ram the opponent and pull them onto a rock, wall, hill, or even itself, then push APHE into their now un-angled hull as soon as someone replaces the gunner. Usually APHE is potent enough to reach the ammo rack or the crew and one-shot the tank, but if ammo rack is destroyed, the chain reaction also often destroys or completely immobilizes Ho-Ri as well.
* value: Set the text
 
* input_var: Select if you want to input the value from other variables
 
* fromDescriptor: unknown
 
</div></div>
 
|-
 
|}
 
:* Using '''varAddString''' action
 
:: This way you can add a text to existing string variable by adding a '''value''' in the field with same name or a number and setting it selected amount of shown '''digits''' (for example if you add a '''3''' number and set '''digits''' to '''2''' then it will be shown as '''03'''), you can also input all these values from other variables
 
::{| class="wikitable" style="width: 90%;"
 
|+
 
! style="width: 20%;" |Action
 
! style="width: 70%;" |Description
 
|-
 
| varSetString
 
|<div class="mw-collapsible mw-collapsed" style="width:100%">Sets a string value<div class="mw-collapsible-content">
 
'''Notes:'''
 
  
* Using this action will remove (overwrite) everything from selected '''var''' variable
+
Apart from APHE, the gun can be armed with "Experimental HE", which is mostly used to simply destroy light tanks without having to aim for too long.
  
'''Fields:'''
+
{{main|Type 5 (105 mm)}}
  
* var: Select a string variable to which you want to input a value
+
{| class="wikitable" style="text-align:center"
* value: Set the text
+
|-
* input_var: Select if you want to input the value from other variables
+
! colspan="6" | [[Type 5 (105 mm)|105 mm Type 5]]
* fromDescriptor: unknown
+
|-
</div></div>
+
! colspan="3" rowspan="1" style="width:5em" |Capacity
 +
! rowspan="1" | Vertical <br> guidance
 +
! rowspan="1" | Horizontal <br> guidance
 +
! rowspan="1" | Stabilizer
 +
|-
 +
| colspan="3" | 51 || -10°/+20° || ±10° || N/A
 +
|-
 +
! colspan="6" | Turret rotation speed (°/s)
 +
|-
 +
! style="width:4em" |Mode
 +
! style="width:4em" |Stock
 +
! style="width:4em" |Upgraded
 +
! style="width:4em" |Prior + Full crew
 +
! style="width:4em" |Prior + Expert qualif.
 +
! style="width:4em" |Prior + Ace qualif.
 +
|-
 +
| ''Arcade'' || 3.60 || 8.6 || 8.9 || 9.8 || __.__
 +
|-
 +
| ''Realistic'' || 3.60 || 5.0 || 5.1 || 5.6 || __.__
 +
|-
 +
! colspan="4" | Reloading rate (seconds)
 +
|-
 +
! colspan="1" style="width:4em" |Stock
 +
! colspan="1" style="width:4em" |Prior + Full crew
 +
! colspan="1" style="width:4em" |Prior + Expert qualif.
 +
! colspan="1" style="width:4em" |Prior + Ace qualif.
 +
|-
 +
| 11.10 || 9.9 || 9.1 || __.__
 
|-
 
|-
 
|}
 
|}
:* Using '''varModify''' action
+
 
:: To do operations on selected number
+
===== Ammunition =====
::{| class="wikitable" style="width: 90%;"
+
{| class="wikitable sortable" style="text-align:center" width="100%"
|+
+
! colspan="8" | Penetration statistics
! style="width: 20%;" |Action
+
|-
! style="width: 70%;" |Description
+
! rowspan="2" data-sort-type="text" | Ammunition
 +
! rowspan="2" class="unsortable" | Type of <br /> warhead
 +
! colspan="6" | '''Penetration''' '''''in mm''''' '''@ 0° Angle of Attack'''
 +
|-
 +
! 10m
 +
! 100m
 +
! 500m
 +
! 1000m
 +
! 1500m
 +
! 2000m
 
|-
 
|-
| varModify
+
| Type 2 APHE || APHE || 234 || 230 || 209 || 184 || 163 || 141
|<div class="mw-collapsible mw-collapsed" style="width:100%">Modifies existing real or integer variable<div class="mw-collapsible-content">
 
'''Fields:'''
 
 
 
* var: Select which variable you want to modify
 
* operator: Select what type of operation you want to do (inv - Inverse, mul - Multiplication, add - Addition, subAB - (var - value), subBA - (value - var), divAB - (var / value), divBA - (value / var), modAB, modBA - get the remainder from a division)
 
* value: Select the value
 
* use_variable: If checked, will use the value from other integer or real variable
 
* var_value: Select a string or real variable
 
</div></div>
 
 
|-
 
|-
 +
| Experimental HE || HE || 30 || 30 || 30 || 30 || 30 || 30
 +
|-
 
|}
 
|}
:* using '''varSetRandomInt''' action
+
{| class="wikitable sortable" style="text-align:center" width="100%"
:: To just let the game choose a random number from selected range
+
! colspan="11" | Shell details
::{| class="wikitable" style="width: 90%;"
+
|-
|+
+
! rowspan="2" data-sort-type="text" | Ammunition
! style="width: 20%;" |Action
+
! rowspan="2" class="unsortable" | Type of <br /> warhead
! style="width: 70%;" |Description
+
! rowspan="2" |Velocity <br /> in m/s
 +
! rowspan="2" |Projectile<br />Mass in kg
 +
! rowspan="2" | ''Fuse delay''
 +
''in m:''
 +
! rowspan="2" | ''Fuse sensitivity''
 +
''in mm:''
 +
! rowspan="2" | ''Explosive Mass in g<br /> (TNT equivalent):''
 +
! rowspan="2" | ''Normalization At 30° <br> from horizontal:''
 +
! colspan="3" | ''Ricochet:''
 +
|-
 +
! 0%
 +
! 50%
 +
! 100%
 
|-
 
|-
| varSetRandomInt
+
| Type 2 APHE || APHE || 1000 || 16 || 1.2 || 19 || 200 || ° || 47° || 60° || 65°
|<div class="mw-collapsible mw-collapsed" style="width:100%">Sets a random integer value<div class="mw-collapsible-content">
 
'''Notes:'''
 
 
 
* Using this action will remove (overwrite) everything from selected '''var''' variable
 
 
 
'''Fields:'''
 
 
 
* var: Select an integer variable to which you want to input a value
 
* from: Sets the first value
 
* var_from: Sets the first value using an integer variable
 
* to_not_including: Sets the second value (it won't be included in getting the final number)
 
* var_to_not_including: Sets the second value using an integer variable (it won't be included in getting the final number)
 
</div></div>
 
 
|-
 
|-
 +
| Experimental HE || HE || 920 || 16 || 0.1 || 0.1 || 2,520 || +0° || 79° || 80° || 81°
 +
|-
 
|}
 
|}
:* using '''varGetIntFromString''' or '''varGetStringValue'''
+
 
::{| class="wikitable" style="width: 90%;"
+
===== [[Ammo racks|Ammo racks]] =====
|+
+
[[File:Ammoracks Ho-Ri Prototype.png|right|thumbnail|x250px|[[Ammo racks|Ammo racks]] of the Ho-Ri Prototype (identical to Production type).]]
! style="width: 20%;" |Action
+
{| class="wikitable sortable" style="text-align:center"
! style="width: 70%;" |Description
 
 
|-
 
|-
| varGetIntFromString
+
! class="wikitable unsortable" |Full<br /> ammo
|<div class="mw-collapsible mw-collapsed" style="width:100%">Imports an integer value from the selected string variable to a selected integer variable<div class="mw-collapsible-content">
+
! class="wikitable unsortable" |1st<br />  rack empty
'''Fields:'''
+
! class="wikitable unsortable" |2nd<br />  rack empty
 
+
! class="wikitable unsortable" |3rd<br /> rack empty
* value: Select from which string variable you want to import an integer value
+
! class="wikitable unsortable" |4th<br /> rack empty
* var: Select to which integer variable you want to export an integer value
+
! class="wikitable unsortable" |5th<br /> rack empty
</div></div>
+
! class="wikitable unsortable" |Visual<br /> discrepancy
 
|-
 
|-
| varGetStringValue
+
|| '''51''' || 46&nbsp;''(+5)'' || 40&nbsp;''(+11)'' || 30&nbsp;''(+21)'' || 12&nbsp;''(+39)'' || 1&nbsp;''(+50)'' || style="text-align:left" | no
|<div class="mw-collapsible mw-collapsed" style="width:100%">Imports all text from the selected string value<div class="mw-collapsible-content">
 
'''Fields:'''
 
 
 
* var: Select to which string variable you want to import a string value
 
* from_var_name: Select from which string variable you want to import a string value (remember to not put '''@''' before string variable name)
 
</div></div>
 
 
|-
 
|-
 
|}
 
|}
:: Example of how you can set it:
 
  
::: '''Current variables:'''
+
Casemate sides empty: 40''(+11)''
::: var = t1_unit_string | type = string | value = t1_unit_12
 
::: var = t1_unit_int | type = integer | value = 12
 
  
:: Now I want it to set the string to the name of a unit that has a higher number (by 1)
+
== Usage in battles ==
 +
<!--''Describe the tactics of playing in the vehicle, the features of using vehicles in the team and advice on tactics. Refrain from creating a "guide" - do not impose a single point of view but instead give the reader food for thought. Describe the most dangerous enemies and give recommendations on fighting them. If necessary, note the specifics of the game in different modes (AB, RB, SB).''-->
  
::: '''Actions:'''
+
The Ho-Ri can be used in multiple roles. Its most effective at medium range, where it's harder for the enemy to aim for the lower plate and shells have a harder time penetrating the mantlet, making it easy for you to destroy them. The Ho-Ri is also quite potent at long range, particularly in down-tiers, where your gun remains effective (though less so) and your armour becomes even better. Be careful using it as a brawler, however. Your transmission is easier to hit, the mantlet is easier to penetrate, and faster foes can surround you easier and get a shot at your weak side armour.
::: unitSetVar (var = "t1_unit_string" value = "") - to clear value of selected string variable
 
::: unitSetVar (var = "t1_unit_string" value = "t1_unit") - sets the value to that with which starts name of AI units
 
::: varModify (var = "t1_unit_int" operator = "add" value = "1") - adds 1 to existing number
 
::: unitAddString (var = "t1_unit_string" input_var = "t1_unit_int"  digits = "2") - adds the number of the next unit
 
  
:: After that this variable should be shown as '''t1_unit_13'''
+
The Ho-Ri should be primarily played as a medium to long range sniper. Your potent cannon can dispatch most enemies and the thick frontal armour will stop most shots, especially the UFP which is basically an auto-bounce zone. Be careful in close quarters - the Ho-Ri turns quite slowly when not up to speed and an easy shot to the LFP will instantly eliminate your mobility allowing for an easy flank. Your surprisingly fast acceleration will also assist when getting to nice sniping spots, and the speedy reverse allows you to retreat when getting overrun.
  
= Examples of use =
+
Due to Ho-Ri having more effective armour than most tanks at BR, and weapon capable of one-shots, it can be used as a flank attacker or even brawler in close range. The idea is to flank enemy, destroy as many tanks as possible before they realized what's going on, and then try to destroy them 1 by 1. While this strategy is most useful in AB (due to increased mobility of the vehicle and sometimes limited map space) and requires high "driving" crew skill, Ho-Ri is undeniably scary in close quarters, due to it being able to survive dozens of direct shots (as example, 3 poorly placed direct shots of [[Centurion Mk.5 AVRE]] and about 10 shots from [[Tiger II (P)]]) and even somehow come out on top in 1v3 fights. Try to keep your head cool though, as while going completely berserk and sweeping streets of enemy tanks, one might forget about lighter enemy tanks like [[Vickers MBT]] and [[Panther II]], users of which will ''never'' miss their opportunity to snipe ammo rack of an unsuspecting opponent from 50 to 2000 m alike.
  
== Creating a set of triggers that checks multiple areas for units ==
+
Some concerning enemies are:
  
This set of triggers is meant to check if there are units in a selected area, then if there's at least one unit from the '''A''' or '''B''' team in it the mission should mark this area on the minimap with a colour depending on which team is at this moment in that area.
+
* [[T-54 (1947)]]: This tank can be quite the pain to destroy, and if they are using the more advanced APHE shells found in the 100mm gun they can wipe out most of your crew in the mantlet. Your biggest chance at destroying them is through a trap shot or the mantlet at very close range. In arcade mode, one can try to ram T-54 to fire at the base of their turret and also push them onto something to fire a gun at their exposed roof, though in case T-54 in question had full ammunition load, the sheer power of explosion might take Ho-Ri out as collateral.
If there are both teams in the same area then it should give it white neutral marking on the minimap.
+
* [[IS-2]] / [[IS-2 (1944)]] / [[ISU-122]]: These machines carry a huge 122 mm cannon that penetrates literally anything they see, including the Ho-Ri. Their shells will go through Ho-Ri's vertical armor of the fighting compartment pretty easily, killing the crew inside or detonating the ammo. To deal with the IS-2, try get a shot at them before the notice you / when they are reloading. These tanks tend to get one-shot due to their lack of crew or the cramped interior. For IS-2 mod.1943, aim for the hull armor that curves and blends into the side, or aim at the turret cheeks. For mod.1944, only go for the turret as the hull is very thick and well sloped. For the ISU-122, aim at anywhere but the gun mantlet, as it often absorb shells or cause ricochet.
The mission should have 36 of those areas and they should be placed next to each other.
+
* [[AMX-50 Foch]]: Wielding a powerful cannon and heavy sloped armour, the Foch is a rare yet dangerous enemy. Do not give them time to one-shot you through transmission and aim for the gun. If your quick aim is good enough, one or two shots to optics on top of the hull will destroy Foch, due to APHE spalling down inside of heavy SPG. In the worst case scenario, you can just de-track it and call your teammates, which is not a bad idea, considering Foch drivers like ramming their opponents, rendering them unable to do anything.
 +
* [[T32E1]]: Though rare, this tank is completely immune to your gun in the front, while it can still go through your lower plate easily. Shoot the barrel and either flank it or retreat.
 +
* [[Jagdtiger]]: It's best to just retreat on sight of this SPG, as it can easily one-shot Ho-Ri, while it's barely possible to destroy it back. If direct combat is unavoidable, try to destroy its gun. MG port weak spot on the hull can be exploited to do minor crew damage. if Ho-Ri is on the low ground, an LFP shot becomes possible, resulting in one-shot.
 +
* ATGM light tanks and high tier SPAA: While APHE is adequate at destroying most of the light tanks, it is sometimes better to load "experimental HE" instead to one-shot them with hull break, especially the ones, which carry ATGM as secondary weapons. Keep in mind, that certain light tanks like [[BMP-1|BMP series]] and [[Warrior]] may resist explosives and are still easier to be destroyed with APHE instead. If low calibre non-combat SPAA is trying to destroy Ho-Ri, you can just put your rear next to a wall and make sure the roof hatch is closed. They will not be able to do anything to you like this.  
  
Here's a screenshot showing how it should look:
+
=== Modules ===
[[File:Minimap for Variables article.jpg|left|thumb|232x232px]]
+
{| class="wikitable"
{{break}}
+
! Tier
To make everything behave as intended, you need 8 triggers, one that checks all areas at the start of mission, one that checks all areas later when the first one is disabled, three for checking if there are any units in them and from what team they are, another three triggers to mark all areas and obviously variables, in this case 42 of them.
+
! colspan="2" | Mobility
 
+
! Protection
===Adding variables===
+
! Firepower
 
+
|-
The first step to get things done is to add variables that you will need for your mission
+
| I
:* '''b_area_string'''
+
| Tracks
:: String variable, it will store area's name and be used to check current area
+
|
:* '''b_area_int'''
+
| Parts
:: integer variable, it will store the number of current area and that number will be added by using '''varAddString''' action to '''b_area_string''' and '''b_area_string_check''' variables
+
| Horizontal Drive
:* '''b_area_amount_int'''
+
|-
:: integer variable, it will store current amount of areas, in this case '''36''', you need to set it manually there
+
| II
:* '''b_area_string_check'''
+
| Suspension
:: string variable, it will be used to store current state of the area (1 - there are units from the A team in the area, 2 - there are units from the B team in the area, 3 - neutral)
+
| Brake System
:* '''b_area_01_int - b_area_36_int'''
+
| FPE
:: integer variables, there will be 36 of them and they will store informations about all created areas
+
| Adjustment of Fire
:* '''switch_area_string'''
+
|-
:: string variable, it will store the name of '''first_time_check_all_areas''' and then '''switch_area''' variables, set it to '''first_time_check_all_areas'''
+
| III
:* '''check_if_no_one_in_area'''
+
| Filters
:: string variable, set it to check_if_no_one_in_area (to point it at the trigger with the same name)
+
|
:* '''check_if_t1_in_area'''
+
| Crew Replenishment
:: string variable, set it to check_if_t1_in_area (to point it at the trigger with the same name)
+
| Elevation Mechanism
:* '''check_if_t2_in_area'''
+
|-
:: string variable, set it to check_if_t2_in_area (to point it at the trigger with the same name)
+
| IV
:* '''when_t1'''
+
| Transmission
:: string variable, set it to when_t1 (to point it at the trigger with the same name)
+
| Engine
:* '''when_t2'''
+
|
:: string variable, set it to when_t2 (to point it at the trigger with the same name)
+
|
:* '''when_both'''
+
|-
:: string variable, set it to when_both (to point it at the trigger with the same name)
+
|}
 
 
===Adding areas===
 
 
 
The second step is to add areas
 
:* Create 36 box areas that are placed next to each other
 
:: It should create one big 6x6 box, so it should have 6 columns and 6 rows
 
:: Don't forget to set their size to 2000x2000 meters
 
:: They can't overlap with each other because if that happens it can break the mission, there should be at least 5 meters of free space between areas
 
:* Rename all areas to b_area_01, b_area_02, b_area_03 etc.
 
:: Remember that they can't be named in random order, it is the best to name them from the left to the right or in reverse order
 
 
 
Here's a screenshot showing how it should look:
 
[[File:Areas from the Mission Editor.jpg|left|thumb|300x300px]]
 
{{break}}
 
===Creating triggers that checks all areas at the start of mission===
 
 
 
First trigger will responsible for creating a name of areas which will be later checked in other triggers for the number assigned to every area (1, 2 or 3)
 
Basically it work like that, '''first_time_check_all_areas''' sets the value of '''b_area_string''' (for example '''b_area_01''' - name of the area that is going to be checked, it will be needed for showing icons) and '''b_area_string_check''' (for example '''b_area_01_int''' - name of the variable (it's stored value, 1, 2 or 3) that is going to be checked) that is going to be checked, then activates '''when_t1''', '''when_t2''' and '''when_both''' triggers that will shown an icon on the minimap with corresponding color
 
 
 
''Important note: Order of creating triggers matters, if you set them wrongly then the mission will not work''
 
 
 
:'''Trigger name''' = "first_time_check_all_areas"
 
:'''Events'''
 
::* Periodic Event = 0.01
 
::: Set it to 0.01 so it will be able switch between areas as fast as it is possible
 
:'''Conditions'''
 
::* varCompareInt (var_value = b_area_int, value = 0, var_value_other = b_area_amount_int, comparison_func = equal)
 
::: This condition will keep changing the number of '''b_area_int''' variable (at the start of mission it is set to 0) until it reaches 36
 
:'''Actions'''
 
::: This part will start working once the trigger will reach the '''36''' number
 
::* unitSetInt (value = 0, var="b_area_int")
 
::: Resets the value of '''b_area_int''' integer variable, so the '''switch_area''' (which will be activated next) will be able to start changing areas from the start (b_area_01)
 
::* unitSetString (value = "switch_area", var = "switch_area_string")
 
::: Changes the value of
 
::* triggerEnable (target = "@switch_area_string")
 
::: Enables '''switch_area''' trigger which will work for the rest of time until the mission ends
 
::* triggerDisable (target = "first_time_check_all_areas")
 
::: Disables this trigger
 
:'''Else'''
 
::* varModify (operator = "add", value = 1, var = "b_area_int")
 
::: It will add 1 every time this trigger is activated (as long as it meets the condition, so the '''b_area_int''' variable has lower number than 37)
 
::* varSetString (value = "b_area_", var = "b_area_string", var ="b_area_string_check")
 
::: It will set '''b_area_string''' and '''b_area_string_check''' variable values to '''b_area_'''
 
::* varAddString (value = "", input_var = "b_area_int", digits = 2, var = "b_area_string", var = "b_area_string_check")
 
::: It will add a number after '''b_area_''' which was set in previous action so '''b_area_string''' value and area name will be the same (in this case '''b_area_01''')
 
::* varAddString (value = "_int", digits = 0, var = "b_area_string_check")
 
::: It will add a text after the full name of area ('''b_area_01''') so it will allow other triggers set or check the number (0 - doesn't change the icon, 1 - change the icon color to A team, 2 change the icon colo r to B team, 3 - change the icon color to neutral white) assigned to '''b_area_01_int''', '''b_area_02_int''', '''b_area_03_int''' etc. variables
 
::* triggerEnable (target = "@when_t1", target = "@when_t2", target = "when_both")
 
::: It will enable all triggers that are needed to add an icon on the minimap
 
 
 
Three similar triggers which the main function will be to add an icon on the minimap
 
 
 
:'''Trigger name''' = "when_t1" - it will check the number assigned to '''b_area_xx_int''' (xx = number) variables, 1 - set the icon color to A team
 
:'''Trigger name''' = "when_t2" - it will check the number assigned to '''b_area_xx_int''' (xx = number) variables, 2 - set the icon color to B team
 
:'''Trigger name''' = "when_both" - it will check the number assigned to '''b_area_xx_int''' (xx = number) variables, 3 - set the icon color to neutral team (white)
 
  
This one is for '''when_t1'''
+
=== Pros and cons ===
Every time only one of these triggers will be used and the rest of them will abort should they not meet the condition
+
<!--''Summarize and briefly evaluate the vehicle in terms of its characteristics and combat effectiveness. Mark its pros and cons in a bulleted list. Try not to use more than 6 points for each of the characteristics. Avoid using categorical definitions such as "bad", "good" and the like - use substitutions with softer forms such as "inadequate" and "effective".''-->
 +
'''Pros:'''
  
:'''Events'''
+
* Heavy amount of frontal sloped armour
::* Periodic Event = 0.01
+
* Can bounce '''anything''' when angled right
::: Just like before, to make it work as fast as it is possible
+
* Very fast for a heavy SPG, with high acceleration thanks to its massive engine
:'''Conditions'''
+
* Reverse speed is good enough to get away from trouble and even when Ho-Ri loses one track it can still balance around to continue fighting
::* varCompareInt (var_value = "@b_area_string_check", value = 1 comparison func = "equal")
+
* High-velocity cannon with decent penetration and high post-penetration damage, perfect against medium tanks
::: It will compare the number of value stored in '''b_area_xx_int''' variable with '''1'''
+
* Good gun depression
:'''Actions'''
 
::*missionShowMapIcon (show = true, team = "both", iconName = "ui/gameuiskin#capturezone_big_ring", areaName = "@b_area_string" colorCode = "team A", scale = 0.20)
 
::*triggerEnable (target = "@switch_area_string")
 
::: If the number of '''b_area_xx_int''' variable is set to 1 then it will show an icon with A team color, then enable '''switch_area''' trigger (it's name is stored in '''switch_area_string''' string) which will switch the area name to check to the next one (b_area_01 -> b_area_02, b_area_02 -> b_area_03 etc.)
 
:'''Else'''
 
::*missionShowMapIcon (show = false, team = "both")
 
::*triggerDisable (target = "@when_t1")
 
::: If the number of '''b_area_xx_int''' variable is NOT set to 1 then it won't show the icon and just disable this trigger
 
  
 +
'''Cons:'''
  
Now you will need to copy this trigger to make it work for every colour (blue, red and white)
+
* No neutral steering
 +
* Can get outflanked by turret tanks easily
 +
* Often up-tiered
 +
* Enemy heavy SPG destroy it easily and usually shrug off its attacks
 +
* Mantlet is easily penetrated in close quarters, especially by sabot rounds
 +
* Large weak spot in the LFP, protected by transmission, resulting in a quick immobilization
 +
* Very high repair cost
  
::* Copy this trigger two times and set the name of copies to '''when_t2''' and '''when_both''', then change their '''value'''s in '''varCompareInt''' to '''2''' for '''when_t2''' and '''3''' for '''when_both'''.
+
== History ==
::* Change the color of icon in '''missionShowMapIcon''' (under '''actions''') to '''Team B''' for '''when_t2''' and  '''White''' for '''when_both'''.
+
<!-- Describe the history of the creation and combat usage of the ground vehicle in more detail than in the introduction. If the historical reference turns out to be too big, take it to a separate article, taking a link to the article about the vehicle and adding a block "/ History" (example: https://wiki.warthunder.com/(Vehicle-name)/History) and add a link to it here using the main template. Be sure to reference text and sources by using <ref>, as well as adding them at the end of the article. This section may also include the vehicle's dev blog entry (if applicable) and the in-game encyclopedia description (under === Encyclopedia Info ===, also if applicable). -->
::* Change the '''target''' in '''triggerDisable''' action, switch it to '''@when_t2''' for '''when_t2''' and '''@when_both''' for '''when_both'''.
+
In September 1942, the Japanese Army Staff received word of the new American M4 Sherman tank, which they realized had completely outclassed every Japanese tank in production at the time. There were three projects proposed by the Staff, each bearing their own gun selection; the 47 mm ''Kou'', 57 mm ''Otsu'', and 75 mm ''Hei'' designs. As combat data was filtered to the Japanese High Command, they ordered that the model ''Kou'' and ''Otsu'' merge to become the basis of what would eventually become the Type 4 [[Chi-To]]. Meanwhile, the ''Hei'' proposal would lead to the development of the Type 5 [[Chi-Ri II|Chi-Ri]]. 
  
Now go back to the window with '''Variables''' and set values of all '''b_area_xx_int''' (xx = number) variables to 1, 2 or 3.
+
Additional development projects came from a change in the Weapons Administration Headquarters Research Policy in July of 1943, a change that was made due to analyzing tank warfare between the German Army and the Soviet Union. Through the analysis of said data, the Japanese Army shifted their tank doctrine towards an emphasis on developing tanks that prioritized anti-armour missions instead of infantry support. Upon the enacting of this policy, the Army started a program to develop a series of tank destroyers based on the chassis of the medium tanks being designed. 
If you did everything properly then the mission should show blue, red or white icons on the minimap.
 
  
===Creating triggers that give a number to ''b_area_xx_int'' variables and keep checking them until the mission ends===
+
The Type 5 Chi-Ri was chosen to become the basis for a new tank destroyer, as it was Japan's primary medium tank project and was more mature than other alternatives, while also mounting some of the most advanced technology Japan had produced at the time. 
  
This trigger works like '''first_time_check_all_areas''', the only big difference is the part under '''Actions''', this time it is used to reset trigger state when '''b_area_int''' it reaches 36, other difference is a trigger that is enabled at the end of '''Actions''' and '''Else''', it is set to '''check_if_no_one_in_area''' now.
+
The tank destroyer would eventually be titled the '''''Ho-Ri'''''. Development of the vehicle began shortly after the Chi-Ri's, and after the decision was made to use the reliable coil spring suspension system that the Japanese manufacturers were familiar with, the Army began work on designing the superstructure and casemate with the first design mimicking the Chi-Ri chassis entirely and replacing the turret with a reinforced rear-mounted superstructure. 
  
:'''Trigger name''' = "switch_area"
+
During the development of the new tank destroyer series, the Army chose to design a new anti-tank gun to fit the role. In July of 1943, the Army Military Customs Council began designing a 105 mm anti-tank gun based off of the Type 96 150 mm Strategic artillery cannon. It was shortened and given a single piece barrel and tank breech. Unfortunately, the two chief engineers of the cannon project the task that it meet a requirement of penetrating 200 mm at 1,000 meters with a 1000 m/s muzzle velocity. Naturally, the tank gun was not capable of this and instead was only able to penetrate 150 mm at 1,000 meters with a 915 m/s muzzle velocity. Although it did not meet the requirements, it was still superior to any other Japanese tank gun and was accepted into service as the Type 5 10cm.
:'''Events'''
 
::* Periodic Event = 0.01
 
::: Set it to 0.01 so it will be able switch between areas as fast as it is possible
 
:'''Conditions'''
 
::* varCompareInt (var_value = b_area_int, value = 0, var_value_other = b_area_amount_int, comparison_func = equal)
 
::: This condition will keep changing the number of '''b_area_int''' variable (at the start of mission it is set to 0) until it reaches 36
 
:'''Actions'''
 
::* varSetInt (value = 0, var = "b_area_int")
 
::: Resets the '''b_area_int''' variable value to '''0'''
 
::* varSetString (value = "b_area_", var = "b_area_string", var ="b_area_string_check")
 
::* varAddString (value = "", input_var = "b_area_int", digits = 2, var = "b_area_string", var = "b_area_string_check")
 
::* varAddString (value = "_int", digits = 0, var = "b_area_string_check")
 
::* triggerEnable (target = "@check_if_no_one_in_area")
 
::: Activates a trigger which changes the value of '''b_area_xx_int''' variable
 
:'''Else'''
 
::* varModify (operator = "add", value = 1, var = "b_area_int")
 
::* varSetString (value = "b_area_", var = "b_area_string", var ="b_area_string_check")
 
::* varAddString (value = "", input_var = "b_area_int", digits = 2, var = "b_area_string", var = "b_area_string_check")
 
::* varAddString (value = "_int", digits = 0, var = "b_area_string_check")
 
::* triggerEnable (target = "@check_if_no_one_in_area")
 
::: Activates a trigger which changes the value of '''b_area_xx_int''' variable
 
  
The next set of triggers will change the number of ''b_area_xx_int'' variables, for that you need to create three similar triggers, which will check if there are any units in areas.
+
Originally, the Ho-Ri was to keep the hull-mounted Type 1 37 mm from the Chi-Ri due to the idea that the primary cannon could only do so much for itself and a secondary weapon was required. The development of the design was split into to concepts; one being a rear mounted superstructure with a central engine (Ho-Ri I) and the other being a centralized superstructure with a rear engine placement (Ho-Ri II). The engine selection was quite different from the traditional diesel engines that powered most Japanese tanks throughout their production. Instead, Japan had used a V12 gasoline aircraft engine designed by BMW, making 550 horsepower at 1500 RPM. This engine was chosen due to the industrial capacity of Japan reaching its peak, and many assets from aircraft development were readily available for usage. 
  
:'''Trigger name''' = "check_if_no_one_in_area"
+
However, by the time both designs of the vehicle were proposed, the armour was no longer sufficient to thwart most US anti-tank armaments. Despite this, the design showed considerable promise and it was ordered that a third vehicle be designed with significantly improved armour. This new design was commonly labeled as '''Ho-Ri III'''
:'''Events'''
 
::* Periodic Event = 0.01
 
:'''Conditions'''
 
::* unitWhenInArea (math = "3D", object = "all_players_squad", target = "@b_area_string", object_type = "isAlive", check_objects = "any")
 
::: Checks if there are any players in currently checked area
 
:'''Actions'''
 
::* triggerEnable (target = "@check_if_t1_in_area"
 
::: If there are any players then it will enable '''check_if_t1_in_area''' to check if there are any players from the A team
 
:'''Else'''
 
::* triggerEnable (target = "@switch_area_string"
 
::: If there are NOT any players present in the area then it will just enable ''''switch_area''' trigger to switch ''b_area_xx_int'' to the next area
 
  
 +
The Ho-Ri III took the basis of the Ho-Ri I and revamped it, changing the frontal plate from a flat 75 mm thick plate to a 120 mm thick plate sloped at 70°, deleting the hull-mounted 37 mm gun in the process. Although this was seen as a considerable blow to the tank's self-defense capabilities, it was accepted due to its vastly improved survivability. The removal of the 37 mm gun meant that the extra crew member who previously operated the gun could be used as a second loader to assist with the autoloading mechanism and provide shells for the primary loader.
  
 +
The construction of the prototype was completed in 1944 and achieved a top speed of 40 km/h during trials. Being seen as a success, the Army ordered 5 units of the vehicle and put it into service as the '''Type 5 Ho-Ri'''. However only one operable prototype was fully completed by the war's end and the series only made it to 50% completion, resulting in the design being scrapped and no further testing was pursued.
  
:'''Trigger name''' = "check_if_t1_in_area"
+
== Media ==
:'''Events'''
+
<!--''Excellent additions to the article would be video guides, screenshots from the game, and photos.''-->
::* Periodic Event = 0.01
+
Skin and Camouflages for the [https://live.warthunder.com/feed/camouflages/?vehicleCountry=japan&vehicleType=tank&vehicleClass=tank_destroyer&vehicle=jp_type_5_ho_ri_production Ho-Ri Production] in Warthunder Live.
:'''Conditions'''
 
::* unitWhenInArea (math = "3D", object = "all_players_squad", target = "@b_area_string", object_type = "isTeamA", check_objects = "any")
 
::: Checks if there are any players from the A team in currently checked area
 
:'''Actions'''
 
::* varSetInt (value = 0, var = "@b_area_string_check")
 
::* varModify (operator = "add", value = 1, var = "@b_area_string_check")
 
::: If there are any units from the A team then it will reset the value of ''b_area_xx_int'' variable and add 1 to it (1 = A team color)
 
::* triggerEnable (target = "@switch_area_string"
 
::: It will enable '''switch_area''' to switch ''b_area_xx_int'' to the next area
 
:'''Else'''
 
::* triggerEnable (target = "@check_if_t2_in_area"
 
::: If there are players in the area but they are not from the A team then it will enable another trigger which checks if for the B team
 
  
''Note: If you wonder why there's the var set to '''@b_area_string_check''' and not '''b_area_string_check''' in '''varSetInt''' action.''
+
== See also ==
''If you just set it to '''b_area_string_check''' then it would look for this value: '''b_area_string_check:t = b_area_01_int'''''
+
''Links to the articles on the War Thunder Wiki that you think will be useful for the reader, for example:''
''If you set it to '''@b_area_string_check''' then it will look for this value: '''b_area_01_int:t = 0''' so it can check and set the number stored in currently checked area''
 
  
:'''Trigger name''' = "check_if_t2_in_area"
+
* ''reference to the series of the vehicles;''
:'''Events'''
+
* ''links to approximate analogues of other nations and research trees.''
::* Periodic Event = 0.01
 
:'''Conditions'''
 
::* unitWhenInArea (math = "3D", object = "all_players_squad", target = "@b_area_string", object_type = "isTeamB", check_objects = "any")
 
::: Checks if there are any players from the B team in currently checked area
 
:'''Actions'''
 
::* varModify (operator = "add", value = 2, var = "@b_area_string_check")
 
::: If there are any units from the B team it will add 2 to it (2 = B team color) and if it already added 1 in the previous action then it will set it's color to white (3 - neutral color)
 
::* triggerEnable (target = "@when_t1" target = "@when_t2" target = "@when_both")
 
::: When it is done with checking players it will enable triggers which will show an icon with proper color on the minimap
 
:'''Else'''
 
::* triggerEnable (target = "@when_t1" target = "@when_t2" target = "@when_both")
 
::: When it is done with checking players it will enable triggers which will show an icon with proper color on the minimap
 
  
:After that, it will work exactly like in the previous part (3.).
+
== External links ==
:If you did everything properly, then now this entire set of triggers should work like it was explained in the description of this section.
+
<!--''Paste links to sources and external resources, such as:''
:You can increase the number of areas but you also need to increase the value of '''b_area_amount_int''' variable if you want to do that.
+
* ''topic on the official game forum;''
 +
* ''encyclopedia page on the tank;''
 +
* ''other literature.''-->
  
:Link to the multiplayer mission that contains this set of triggers:
+
* [[Wikipedia:Type_5_Chi-Ri_medium_tank#Variant|[Wikipedia<nowiki>]</nowiki> Type 5 Chi-Ri medium tank]]
:[http://drive.google.com/uc?export=download&id=1OxB0E0TVt5mZtS3_mPmMLPBzsH2aVaxn test_gamemode_tanks.blk]
 
:Remember that you need to remove '''https://''' part of this link to make it work in War Thunder.
 
  
[[Category:War Thunder CDK]]
+
{{Japan tank destroyers}}
[[Category:Custom missions]]
 

Revision as of 23:22, 13 July 2020

Ho-Ri Production
jp_type_5_ho_ri_production.png
Ho-Ri Production
AB RB SB
7.3 7.3 7.3
Research:95 000 Specs-Card-Exp.png
Purchase:270 000 Specs-Card-Lion.png
Show in game
This page is about the tank destroyer Ho-Ri Production. For the bundle version, see Ho-Ri Prototype.

Description

GarageImage Ho-Ri Production.jpg


The Type 5 Ho-Ri Production is a rank V Japanese tank destroyer with a battle rating of 7.3 (AB/RB/SB). It was introduced in Update 1.73 "Vive la France".

The Ho-Ri has a distinctive sloped UFP, small gun mantlet, and long casemate hull. Note the large lower plate - it is quite vulnerable and shots there can get its transmission destroyed.

General info

Survivability and armour

Destroying Ho-Ri with APHE in direct battle isn't really all that hard - simply aim for these square sheets protecting its radiators and fire. As long as your shell can penetrate 200 mm of armour it will instantly explode the tank, or at least take out the entirety of the crew in that part of the tank. If you are very good at aiming, you can aim a bit higher to hit the window which has only 175 mm of armour with potential of hitting an outer ammo rack directly, but reduced likelyhood of APHE hitting the ammo on the bottom of the tank.

If you spot a Ho-Ri, never shoot it in the sloped UFP. It can bounce shells from even an Object 120 and the only good thing that can come from it is if you get lucky and it bounces into the barrel. Instead, aim for the 120mm lower plate to destroy its mobility, or the right side of the mantlet to knock out the gunner. Note that the outer edges of the mantlet are slightly weaker, so if using APHE aim for that if possible.

While transmission is very sturdy and LFP is rather thick for lighter tanks and APHE, some heavy pure AP tanks like Lorraine 40t can shoot through it and ammo rack Ho-Ri in one shot.

There is also a minor, but important detail - whenever your gun is pointing down, it opens the hatch on top of your vehicle, so if the enemy attacker is trying to top-down your SPG, pull your gun up to make sure it won't destroy the vehicle. It is also possible to push HE inside of compartment when the hatch is opened, but for anything, with exception of rank I tanks, it would be easier to just shoot your tank directly.

Overall, the Ho-Ri is highly resistant to light tanks and many relatively low-velocity shells when angled (such as even it's own APHE), however at flat angle front can be easily penetrated (especially when fired at point blank), flat sides can be easily penetrated by anything at the BR, and even the rear can be penetrated by SPAA. As such, in urban enviroment, it's best to cut corners and drive out onto enemy while already being angled.

Worst case scenario, Ho-Ri has 6 crew members, which are located in a very practical way (not just standing straight in the middle of the tank, but rather stand closer to the hull), so taking all of them out is a challenge in itself, and if player took less than maximal amount of ammo into fight, only the best-aimed shots can indefinitely one-shot the tank.

Armour type:

  • Rolled homogeneous armour
  • Cast homogeneous armour (Gun mantlet)
Armour Front (Slope angle) Sides Rear Roof
Hull 120 mm (70°) Front glacis
120 mm (8°), 60 mm (67°) Lower glacis
100 mm (16°) Hull cheeks
75 mm (17°) Top
75 mm Bottom
35 mm (10-40°) 20 mm
Superstructure 200-225 mm (5-20°) Superstructure front
175-225 mm Gun mantlet
175 mm (5°) Vision slits
50-200 mm (45°) Barrel shroud
75 mm (17-48°) 35 mm (5°) 20-35 mm

Notes:

  • Suspension wheels and bogies are 15 mm thick while tracks are 20 mm thick.
  • Bogie guards in the side suspension provide rows of 10 mm RHA at their locations.
  • Belly armour is 20 mm thick.
  • Hull underside right above tracks is 20 mm thick.
  • 20 mm RHA plates separate the engine compartment from the front and rear.

Mobility

Game Mode Max Speed (km/h) Weight (tons) Engine power (horsepower) Power-to-weight ratio (hp/ton)
Forward Reverse Stock Upgraded Stock Upgraded
Arcade 44 10 65 1562 2,099 24.03 32.29
Realistic 41 9 973 1,100 14.97 16.92


When spaded, the Ho-Ri Production moves at the pace of a medium tank - about 40/30 km/h (AB/RB) forward and -10/-8 km/h (AB/RB) backwards when offroad. It climb hills easily, sometimes even getting up the mountains.

The biggest problem of this SPG is that its turn rate is quite low, and it lacks neutral steering. One must maximize "driving" skill of the crew to be able to indefinitely turn around, otherwise tank throttles and fails to turn around at gear 1-2, which can be easily exploited by enemy light tanks.

When just one track is broken, Ho-Ri Production still can bounce around to continue fighting. It is also worth noting, that if one track and engine are broken, Ho-Ri Production can barely turn around 1 degree per second, which is a big deal in urban combat.

In Arcade mode Ho-Ri Production's engine is powerful enough to move hostile heavy tanks and push them around, denying repairs. Due to its hull shape, hostile tanks often get pulled on it and become completely helpless, especially when pushed against the wall, making tanks like T29, IS-6 and T-54 vulnerable to point blank finishers. Wide and agile medium tanks like T-44-100 or Warrior often resist ramming attempts if away from walls and can eventually sidestep Ho-Ri Production, but there is no practical need to ram them anyway. If you absolutely have to do it, do not leave them enough space to squeeze between Ho-Ri Production and the wall, or they will escape.

Armaments

Main armament

The weapon used by Ho-Ri is mostly suited to attack medium and heavy tanks, while heavy SPG and hull-down tanks at it's BR can mostly deflect its shots unless a weak spot is hit. As such, engaging other SPG is always a great risk.

While APHE used by it sometimes struggles at penetrating enemy and hasty shot might result in ricochet, if it penetrates the enemy tank is probably going to blow up, making destroying anything like Tiger II (10.5 cm Kw.K) and Centurion (Family) relatively easy, which is also supported by SPG armour being able to bounce most, if not all, of their reply shots. Gun is also relatively easy to handle on move if self-discipline is maintained.

In close quarters, if gunner got taken out and situation looks grim, Ho-Ri can ram the opponent and pull them onto a rock, wall, hill, or even itself, then push APHE into their now un-angled hull as soon as someone replaces the gunner. Usually APHE is potent enough to reach the ammo rack or the crew and one-shot the tank, but if ammo rack is destroyed, the chain reaction also often destroys or completely immobilizes Ho-Ri as well.

Apart from APHE, the gun can be armed with "Experimental HE", which is mostly used to simply destroy light tanks without having to aim for too long.

Main article: Type 5 (105 mm)
105 mm Type 5
Capacity Vertical
guidance
Horizontal
guidance
Stabilizer
51 -10°/+20° ±10° N/A
Turret rotation speed (°/s)
Mode Stock Upgraded Prior + Full crew Prior + Expert qualif. Prior + Ace qualif.
Arcade 3.60 8.6 8.9 9.8 __.__
Realistic 3.60 5.0 5.1 5.6 __.__
Reloading rate (seconds)
Stock Prior + Full crew Prior + Expert qualif. Prior + Ace qualif.
11.10 9.9 9.1 __.__
Ammunition
Penetration statistics
Ammunition Type of
warhead
Penetration in mm @ 0° Angle of Attack
10m 100m 500m 1000m 1500m 2000m
Type 2 APHE APHE 234 230 209 184 163 141
Experimental HE HE 30 30 30 30 30 30
Shell details
Ammunition Type of
warhead
Velocity
in m/s
Projectile
Mass in kg
Fuse delay

in m:

Fuse sensitivity

in mm:

Explosive Mass in g
(TNT equivalent):
Normalization At 30°
from horizontal:
Ricochet:
0% 50% 100%
Type 2 APHE APHE 1000 16 1.2 19 200 ° 47° 60° 65°
Experimental HE HE 920 16 0.1 0.1 2,520 +0° 79° 80° 81°
Ammo racks
Ammo racks of the Ho-Ri Prototype (identical to Production type).
Full
ammo
1st
rack empty
2nd
rack empty
3rd
rack empty
4th
rack empty
5th
rack empty
Visual
discrepancy
51 46 (+5) 40 (+11) 30 (+21) 12 (+39) (+50) no

Casemate sides empty: 40(+11)

Usage in battles

The Ho-Ri can be used in multiple roles. Its most effective at medium range, where it's harder for the enemy to aim for the lower plate and shells have a harder time penetrating the mantlet, making it easy for you to destroy them. The Ho-Ri is also quite potent at long range, particularly in down-tiers, where your gun remains effective (though less so) and your armour becomes even better. Be careful using it as a brawler, however. Your transmission is easier to hit, the mantlet is easier to penetrate, and faster foes can surround you easier and get a shot at your weak side armour.

The Ho-Ri should be primarily played as a medium to long range sniper. Your potent cannon can dispatch most enemies and the thick frontal armour will stop most shots, especially the UFP which is basically an auto-bounce zone. Be careful in close quarters - the Ho-Ri turns quite slowly when not up to speed and an easy shot to the LFP will instantly eliminate your mobility allowing for an easy flank. Your surprisingly fast acceleration will also assist when getting to nice sniping spots, and the speedy reverse allows you to retreat when getting overrun.

Due to Ho-Ri having more effective armour than most tanks at BR, and weapon capable of one-shots, it can be used as a flank attacker or even brawler in close range. The idea is to flank enemy, destroy as many tanks as possible before they realized what's going on, and then try to destroy them 1 by 1. While this strategy is most useful in AB (due to increased mobility of the vehicle and sometimes limited map space) and requires high "driving" crew skill, Ho-Ri is undeniably scary in close quarters, due to it being able to survive dozens of direct shots (as example, 3 poorly placed direct shots of Centurion Mk.5 AVRE and about 10 shots from Tiger II (P)) and even somehow come out on top in 1v3 fights. Try to keep your head cool though, as while going completely berserk and sweeping streets of enemy tanks, one might forget about lighter enemy tanks like Vickers MBT and Panther II, users of which will never miss their opportunity to snipe ammo rack of an unsuspecting opponent from 50 to 2000 m alike.

Some concerning enemies are:

  • T-54 (1947): This tank can be quite the pain to destroy, and if they are using the more advanced APHE shells found in the 100mm gun they can wipe out most of your crew in the mantlet. Your biggest chance at destroying them is through a trap shot or the mantlet at very close range. In arcade mode, one can try to ram T-54 to fire at the base of their turret and also push them onto something to fire a gun at their exposed roof, though in case T-54 in question had full ammunition load, the sheer power of explosion might take Ho-Ri out as collateral.
  • IS-2 / IS-2 (1944)ISU-122: These machines carry a huge 122 mm cannon that penetrates literally anything they see, including the Ho-Ri. Their shells will go through Ho-Ri's vertical armor of the fighting compartment pretty easily, killing the crew inside or detonating the ammo. To deal with the IS-2, try get a shot at them before the notice you / when they are reloading. These tanks tend to get one-shot due to their lack of crew or the cramped interior. For IS-2 mod.1943, aim for the hull armor that curves and blends into the side, or aim at the turret cheeks. For mod.1944, only go for the turret as the hull is very thick and well sloped. For the ISU-122, aim at anywhere but the gun mantlet, as it often absorb shells or cause ricochet.
  • AMX-50 Foch: Wielding a powerful cannon and heavy sloped armour, the Foch is a rare yet dangerous enemy. Do not give them time to one-shot you through transmission and aim for the gun. If your quick aim is good enough, one or two shots to optics on top of the hull will destroy Foch, due to APHE spalling down inside of heavy SPG. In the worst case scenario, you can just de-track it and call your teammates, which is not a bad idea, considering Foch drivers like ramming their opponents, rendering them unable to do anything.
  • T32E1: Though rare, this tank is completely immune to your gun in the front, while it can still go through your lower plate easily. Shoot the barrel and either flank it or retreat.
  • Jagdtiger: It's best to just retreat on sight of this SPG, as it can easily one-shot Ho-Ri, while it's barely possible to destroy it back. If direct combat is unavoidable, try to destroy its gun. MG port weak spot on the hull can be exploited to do minor crew damage. if Ho-Ri is on the low ground, an LFP shot becomes possible, resulting in one-shot.
  • ATGM light tanks and high tier SPAA: While APHE is adequate at destroying most of the light tanks, it is sometimes better to load "experimental HE" instead to one-shot them with hull break, especially the ones, which carry ATGM as secondary weapons. Keep in mind, that certain light tanks like BMP series and Warrior may resist explosives and are still easier to be destroyed with APHE instead. If low calibre non-combat SPAA is trying to destroy Ho-Ri, you can just put your rear next to a wall and make sure the roof hatch is closed. They will not be able to do anything to you like this.

Modules

Tier Mobility Protection Firepower
I Tracks Parts Horizontal Drive
II Suspension Brake System FPE Adjustment of Fire
III Filters Crew Replenishment Elevation Mechanism
IV Transmission Engine

Pros and cons

Pros:

  • Heavy amount of frontal sloped armour
  • Can bounce anything when angled right
  • Very fast for a heavy SPG, with high acceleration thanks to its massive engine
  • Reverse speed is good enough to get away from trouble and even when Ho-Ri loses one track it can still balance around to continue fighting
  • High-velocity cannon with decent penetration and high post-penetration damage, perfect against medium tanks
  • Good gun depression

Cons:

  • No neutral steering
  • Can get outflanked by turret tanks easily
  • Often up-tiered
  • Enemy heavy SPG destroy it easily and usually shrug off its attacks
  • Mantlet is easily penetrated in close quarters, especially by sabot rounds
  • Large weak spot in the LFP, protected by transmission, resulting in a quick immobilization
  • Very high repair cost

History

In September 1942, the Japanese Army Staff received word of the new American M4 Sherman tank, which they realized had completely outclassed every Japanese tank in production at the time. There were three projects proposed by the Staff, each bearing their own gun selection; the 47 mm Kou, 57 mm Otsu, and 75 mm Hei designs. As combat data was filtered to the Japanese High Command, they ordered that the model Kou and Otsu merge to become the basis of what would eventually become the Type 4 Chi-To. Meanwhile, the Hei proposal would lead to the development of the Type 5 Chi-Ri

Additional development projects came from a change in the Weapons Administration Headquarters Research Policy in July of 1943, a change that was made due to analyzing tank warfare between the German Army and the Soviet Union. Through the analysis of said data, the Japanese Army shifted their tank doctrine towards an emphasis on developing tanks that prioritized anti-armour missions instead of infantry support. Upon the enacting of this policy, the Army started a program to develop a series of tank destroyers based on the chassis of the medium tanks being designed. 

The Type 5 Chi-Ri was chosen to become the basis for a new tank destroyer, as it was Japan's primary medium tank project and was more mature than other alternatives, while also mounting some of the most advanced technology Japan had produced at the time. 

The tank destroyer would eventually be titled the Ho-Ri. Development of the vehicle began shortly after the Chi-Ri's, and after the decision was made to use the reliable coil spring suspension system that the Japanese manufacturers were familiar with, the Army began work on designing the superstructure and casemate with the first design mimicking the Chi-Ri chassis entirely and replacing the turret with a reinforced rear-mounted superstructure. 

During the development of the new tank destroyer series, the Army chose to design a new anti-tank gun to fit the role. In July of 1943, the Army Military Customs Council began designing a 105 mm anti-tank gun based off of the Type 96 150 mm Strategic artillery cannon. It was shortened and given a single piece barrel and tank breech. Unfortunately, the two chief engineers of the cannon project the task that it meet a requirement of penetrating 200 mm at 1,000 meters with a 1000 m/s muzzle velocity. Naturally, the tank gun was not capable of this and instead was only able to penetrate 150 mm at 1,000 meters with a 915 m/s muzzle velocity. Although it did not meet the requirements, it was still superior to any other Japanese tank gun and was accepted into service as the Type 5 10cm.

Originally, the Ho-Ri was to keep the hull-mounted Type 1 37 mm from the Chi-Ri due to the idea that the primary cannon could only do so much for itself and a secondary weapon was required. The development of the design was split into to concepts; one being a rear mounted superstructure with a central engine (Ho-Ri I) and the other being a centralized superstructure with a rear engine placement (Ho-Ri II). The engine selection was quite different from the traditional diesel engines that powered most Japanese tanks throughout their production. Instead, Japan had used a V12 gasoline aircraft engine designed by BMW, making 550 horsepower at 1500 RPM. This engine was chosen due to the industrial capacity of Japan reaching its peak, and many assets from aircraft development were readily available for usage. 

However, by the time both designs of the vehicle were proposed, the armour was no longer sufficient to thwart most US anti-tank armaments. Despite this, the design showed considerable promise and it was ordered that a third vehicle be designed with significantly improved armour. This new design was commonly labeled as Ho-Ri III

The Ho-Ri III took the basis of the Ho-Ri I and revamped it, changing the frontal plate from a flat 75 mm thick plate to a 120 mm thick plate sloped at 70°, deleting the hull-mounted 37 mm gun in the process. Although this was seen as a considerable blow to the tank's self-defense capabilities, it was accepted due to its vastly improved survivability. The removal of the 37 mm gun meant that the extra crew member who previously operated the gun could be used as a second loader to assist with the autoloading mechanism and provide shells for the primary loader.

The construction of the prototype was completed in 1944 and achieved a top speed of 40 km/h during trials. Being seen as a success, the Army ordered 5 units of the vehicle and put it into service as the Type 5 Ho-Ri. However only one operable prototype was fully completed by the war's end and the series only made it to 50% completion, resulting in the design being scrapped and no further testing was pursued.

Media

Skin and Camouflages for the Ho-Ri Production in Warthunder Live.

See also

Links to the articles on the War Thunder Wiki that you think will be useful for the reader, for example:

  • reference to the series of the vehicles;
  • links to approximate analogues of other nations and research trees.

External links


Japan tank destroyers
Ro-Go Derivatives  Ro-Go Exp.
Chi-Ha Derivatives  Ho-Ni I · Ho-Ni III · Ho-Ro · Chi-Ha LG
Ho-Ri  Ho-Ri Prototype · Ho-Ri Production
Other  Na-To
JGSDF 
SPRG  Type 60 (C)
SPH  Type 75 · Type 99
ATGM  Type 60 ATM
Rocket  Type 75 MLRS
USA  ▅M36