I am playing 7609+AI (r774) and I encountered an issue, it seems my game crashes if enemy gun jams are on (after limited testing), so I turned this option off. It's a clean 1.13 install with only AI mod. The game log always gives the same error (copy/paste from log file):
It doesn't seem to be related, I tested the game with 100% enemy jam chance, and no crash.
Would be thankful for a save with reproducible bug since I never have it.
Using your modpack, mod is 1.13 + AI exe, no ini settings changed. Also no in game options changed, except turn enemy gun jam on/off. I hire a couple of mercs, get them on the roof of the first house in Omerta, and start shooting. If gun jams are turned on, then within a couple of rounds taunting the enemy, right before the bad guy tries to shoot and the gun should jam (at least if my observations are correct , the game crashes.
If you cant reproduce, then i have no idea...maybe something with my system. But again, it's such a minor setting, I just keep it off.
Edit: There are two more txt files in my save folder, I have no idea if you need them, here is the link to all three files:
- restored TOPTION_GL_HIGH_ANGLE to avoid error messages (not used in the code)
- disabled error messages when reading new ingame settings
- disabled message about creating ini error file
- set TOPTION_ENEMY_GUN_JAMS = TRUE by default
- mark ACTION_ITEM of action value ACTION_ITEM_BLOW_UP and detonator type BOMB_PRESSURE as MAPELEMENT_ENEMY_MINE_PRESENT, to allow AI soldiers to avoid ACTION_ITEM mines placed in editor
- show "Aborting AI deadlock" message when ESC was pressed to stop endless clock
- don't show "blow up" in transformation menu for grenades/explosives with 'flare' flag
- added r8624, r8626 (by Flugente)
Suppression:
- better integer calculation for AP loss
- linearly increase AP to cower when prone depending on morale level (double at morale = 100)
- linearly increase AP needed to react when crouched and cannot go prone, depending on morale level (double at morale = 100)
- double received shock from suppression if crouched soldier cannot go prone
Messages:68
Registered:October 2010 Location: Finland
I am running ja2_7609en+AI_r783.exe, under wine on Debian GNU/Linux 9.5 (stretch).
I noticed enemies next to a cow can not be aimed at. The enemy is visible, and is not behind the cow. Looks like if enemy is in next tile to a cow, I can only aim at the cow. Once the cow is dead, I can aim at the enemy. This has not happened to me with vanilla JA2, I never had to kill cows. I suspect this is AI doing it stuff, and positioning enemy to a spot that can not be fired at.
PS I now have updated wine, 3.0.1-2~bpo9+1 to get mouse wheel working.
I am running ja2_7609en+AI_r783.exe, under wine on Debian GNU/Linux 9.5 (stretch).
I noticed enemies next to a cow can not be aimed at. The enemy is visible, and is not behind the cow. Looks like if enemy is in next tile to a cow, I can only aim at the cow. Once the cow is dead, I can aim at the enemy. This has not happened to me with vanilla JA2, I never had to kill cows. I suspect this is AI doing it stuff, and positioning enemy to a spot that can not be fired at.
PS I now have updated wine, 3.0.1-2~bpo9+1 to get mouse wheel working.
How can I modify/disable camouflage degradation while crawling?
I find the current rate rather extreme since just crawling a couple of tiles removes the camouflage about 10%. I have allowed camouflage only on the face and assume a body area of maximum 12% can be with camo kits covered. Which means, when I crawl a bit with the merc, almost all the kit camo level is gone.
I am currently observing a strange behavior by the enemy mortar troopers. They shoot their mortar smoke ammunition at my mercs despite that they also have normal mortar shells. (I can see it after the battle that they also had those shells.)
I had modified the smoke mortar to cause 0 explosive as well as 0 stun damage, whereas the standard mortar shell has 30 damage. So they should normally prioritize the explosive shells if they want to do damage to my mercs.
I am using r783. But I have been observing this behavior since the last a couple of revisions now. But I remember in older revisions enemy used to shoot explosive mortar shells, now they never do.
I am currently observing a strange behavior by the enemy mortar troopers. They shoot their mortar smoke ammunition at my mercs despite that they also have normal mortar shells. (I can see it after the battle that they also had those shells.)
I had modified the smoke mortar to cause 0 explosive as well as 0 stun damage, whereas the standard mortar shell has 30 damage. So they should normally prioritize the explosive shells if they want to do damage to my mercs.
I am using r783. But I have been observing this behavior since the last a couple of revisions now. But I remember in older revisions enemy used to shoot explosive mortar shells, now they never do.
Hi crackwise!
They are supposed to work the opposite way - first use regular shells, and only then smoke shells. I will look into the code and see if something is wrong there.
Fixes:
- r8627, r8628 (by Flugente)
- fix bad filename for enemy battlesounds (causing nasty 'invalid UTF character' bug previously)
- fix crash when displaying "more..." line in laptop for extra skills (so you can have cheating amount of skills for your IMP now)
Suppression:
- harder to suppress soldier if he is prone behind cover, bonus to AP to react depends on distance, max AP_PRONE at day vision range
- if soldier has cover from attacker, cower only when suppression shock reaches max level (MAX_SUPPRESSION_SHOCK)
- if soldier has no cover from attacker, cower when soldier is prone (or crouched and cannot go prone) and suppression from attack is high enough (based on AP needed to go prone/crouched with bonus
Now it's much more important to hide behind some obstacle when enemy is shooting at you, to avoid panicking (and losing all AP and starting next turn with a very few AP as a result).
Removing camo when crawling:
- lowered base chance (30% -> 10%)
- modify chance depending on total camo
- lower chance when crawling on a flat floor
Laptop:
- change displayed skills number from 4 to 3 to not overlap background
Thrown weapons:
- penalty when attacking moving target (penalty is average bTilesMoved for all soldiers in attacked tile and adjacent tiles), so it's harder to accurately throw grenade at running enemy or enemy that has moved a lot during his turn
- max miss radius for thrown weapons is scaled with range: 3 at half day vision range, 6 at day vision range, 12 at double day vision range (for mortars and grenade launchers)
from morale)
OCTH:
- correctly apply MAXIMUM_POSSIBLE_CTH, MINIMUM_POSSIBLE_CTH (game will use ini set values except that minimum cth is always set to 1 when shooting at visible enemy not at head)
NCTH movement penalty:
- removed scope mag factor from penalty calculation (much less penalty for scopes unless high tracking difficulty modifier on scope is set)
- removed tiles moved multiplier (was 4)
- limit base (before tracking speed modifier and range modifier) max movement penalty to 25 (was 50)
- set base value for animation based movement penalty to 25 (was 40)
In general, movement penalty for aiming is greatly reduced now, especially for scopes
OCTH, NCTH:
- soldier movement counter is carried between turns, halved each turn (so there is no instant penalty reduction to zero at the start of the next turn)
AI:
- prefer non smoke launchable for AI (AI soldiers will first use regular shells/launched grenades with regular explosion type, and only then smoke shells/grenades)
Thanks a lot for the updates Sevenfm! I am looking forward to try the new version.
However, may I ask why the scope penalty for shooting at moving targets was reduced? I found the harsh penalty really good that it decreased the overpoweredness of snipers. It necessitated auto-fire in order to pin down the enemies first, and then you shoot at them with your sniper. I find this quite plausible and realistic. Is it possible by players to adjust the penalty ini settings according to personal taste?
Thanks a lot for the updates Sevenfm! I am looking forward to try the new version.
However, may I ask why the scope penalty for shooting at moving targets was reduced? I found the harsh penalty really good that it decreased the overpoweredness of snipers. It necessitated auto-fire in order to pin down the enemies first, and then you shoot at them with your sniper. I find this quite plausible and realistic. Is it possible by players to adjust the penalty ini settings according to personal taste?
Added in r803 option NCTH_SCOPE_MOVEMENT_PENALTY (disabled by default), which increases aiming penalty for target's movement depending on actual scope magnification (doubles penalty for 10x scope).
The reason for removing it was probably that it's hard for some players to understand this concept and get used to it, also as many scopes allow quick switching to iron sights, it's not really limiting.
Great to hear that it can be adjusted as desired, thanks sevenfm! I would like to share an issue I observe quite frequently, which I find unrealistic and annoying. It is that enemy snipers seem to (blindly) shoot very accurately at unseen but heard mercenaries. (This also applies to milita snipers shooting blindly on enemies.)
The situation is that the enemy sniper doesn't directly see the merc nor the merc is seen by any other enemy soldier. They only know the location of my merc because I have shot my weapon the previous turn. I am sure of this, because it also happens during night operations. I guess what happens is that, like normal enemy troopers which return rather inaccurate automatic fire on the heard location of our merc, the enemy sniper also shoots at the exact tile of my merc, but of course in comparison with very high accuracy.
I really love the (inaccurate) suppression fire from the enemy on heard merc location, it is very realistic and it also forces me to take cover. However, a very accurate sniper shot on a purely unseen merc does not make sense. I know that a possible remedy would be to move the merc one tile after each shot, but this is rather tedious, and sometimes not possible anyway.
A straightforward suggestion would be to not allow enemies with sniper weapons to return blind fire. If it is not possible, then maybe the heard location of the merc could be extended with a couple of tiles, so that enemy has a much less chance of shooting at the exact tile where the merc is.
I would like to share an issue I observe quite frequently, which I find unrealistic and annoying. It is that enemy snipers seem to (blindly) shoot very accurately at unseen but heard mercenaries. (This also applies to milita snipers shooting blindly on enemies.)
r809 should fix the problem - no more accurate fire on unseen enemies.
Added in r803 option NCTH_SCOPE_MOVEMENT_PENALTY (disabled by default), which increases aiming penalty for target's movement depending on actual scope magnification (doubles penalty for 10x scope).
Hi sevenfm, where/how can I find and adjust the NCTH_SCOPE_MOVEMENT_PENALTY setting? (I cannot see it in the ini files)
Messages:68
Registered:October 2010 Location: Finland
Bug report
I am running ja2_7609en+AI_r816.exe under Wine in Debian GNU/Linux 9.5 Stretch.
Got error message "Assertion Failure (Line 1944 in file Button System.cpp)", see screenshot. Screenshot file too big to upload, see it at http://taleman.fi/JA2/
Also in same web directory Auto001.sav, autosave at end of turn previous to this error.
I did not find the debug save error message promised, no file SaveGame247.sav found.
Bug report
I am running ja2_7609en+AI_r816.exe under Wine in Debian GNU/Linux 9.5 Stretch.
Got error message "Assertion Failure (Line 1944 in file Button System.cpp)", see screenshot. Screenshot file too big to upload, see it at http://taleman.fi/JA2/
Also in same web directory Auto001.sav, autosave at end of turn previous to this error.
I did not find the debug save error message promised, no file SaveGame247.sav found.
Thank you. I also need to know what mod to use to load the save. Is it clean 1.13?
New Ja2+AI feature demo: AI uses grenades to blow up obstacles
New feature: AI soldiers use grenades to blow up obstacles blocking path to closest opponent.
How it works:
1. Only attacking soldiers will blow up fences, garrison will not do that.
2. It's simple - AI soldier will randomly throw grenade at closest fence if there are known opponents in that direction, taking into account difference between straight distance to opponent * AP to run and actual path cost to closest opponent in that direction, and also how many other fences are adjacent to chosen tile (so attacking a line of fence tiles is more probable than attacking a single fence tile). The greater the difference, the bigger the chance to throw grenade at fence. It's the only way to do it without complex computations and slowing down the game, and it allows to blow up several lines of fences.
3. Currently it is used only in RED state (when AI cannot see opponents) and after RED shooting and RED throwing, so if AI will see enemy, he will attack him, if he cannot see enemy but can shoot for suppression or attack with grenade/GL etc, he will have a regular chance for attack.
4. If there are friendly soldiers or neutrals near the attack spot, AI will set grenade on delayed mode, so it will only explode on next turn, allowing friends/neutrals to run away.
5. Currently AI recognizes three types of obstacles: fences, concertina, blue flags. Also they will occasionally try to blow up explosive stuff on the map if they know there are opponents nearby.
Note: this demo video uses special code changes (every enemy was given extra grenades, all limits and random checks were removed), in regular game AI will not use grenades so often.
I had no time to look at your reported bugs yet, but you can try ja2_7609en+AI_r831 (experimental).exe as it contains some important fixes to old bugs. It's not well tested yet but maybe it will work better for you.
Messages:68
Registered:October 2010 Location: Finland
Bug report
I am running ja2_7609en+AI_r816.exe under Wine in Debian GNU/Linux 9.5 Stretch. Clean ja2, no mods. Modest tweaks to .ini files.
I have seen this behaviour previously, namely water seems to affect grenades somehow. Maybe the water is heavy water and has too much gravity? Anyway, aiming grenades either throwing or from launcher to enemy that is near water does not work properly. In the situation in screenshot Ivan is using grenade launcher at the enemy shooting from behind tree. It is very difficult to get aim cursor to that enemy, the other enemy a few more tiles away is easily targeted. And when shot, the grenade plummets in water way short from target.
The grenade will always fall short and then bounce a few tiles to the enemy. It's the way the game works - if there's not enough free space before the target, you cannot attack it with GL.
If you cannot live with it, set all grenades in xml to blow up instantly when touching ground.
Messages:68
Registered:October 2010 Location: Finland
Quote:
The grenade will always fall short and then bounce a few tiles to the enemy. It's the way the game works - if there's not enough free space before the target, you cannot attack it with GL.
I have never realised that. Thanks for clarification. That explains why throwing grenades over water works differently.
Messages:68
Registered:October 2010 Location: Finland
Bug report
I am running ja2_7609en+AI_r831\ \(experimental\).exe under Wine in Debian GNU/Linux 9.5 Stretch. Clean ja2, no mods. Modest tweaks to .ini files.
Assertion Failure [Line 4771 in file interface.cpp]. Attempting to do a debug save at SaveGame247.sav (This may fail).
Missing INTERFACE\rect1_1024.768.sti
By the way, is the name of debug save file always SaveGame247.sav? I have seen this attempt to debug save but have not found the file. I think it was that same name previously.
Messages:68
Registered:October 2010 Location: Finland
I have never had a AI version of JA2 not crash occasionally. I suspect there are resource leaks, since the crashes tend to happen when I have played a long time, 30 minutes or more. It seems that if I make a save every 15 minutes and restart the game, the crashes do not happen.
These crashes never repeat, if i take the latest save before the crash, I can play that same situation again and it does not crash.
I have not taken a screenshot every time, but I checked I have now 33 screenshotfiles since march this year.
Ja2+AI feature demo: AI uses smoke to improve tactical situation
Description:
One enemy faces MD and Leech, another is hiding behind the corner.
MD is no real threat to enemy with his pistol, Leech is much more dangerous with SVD.
First enemy attacks MD, second decides to cover his friend from the highest threat (Leech) using smoke, at the same time not blocking LOS to MD so his friend could attack weak opponent.
Note that this behavior is different from previously showed, when enemy was throwing smoke in front of him or directly at his friend, now he tries to analyze tactical situaton and break LOS between highest threat attacker and soldier's friends while not breaking LOS between his friends and their good targets.
Dear sevenfm, thank you so much for the awesome improvements to the AI!
A couple of things I have noticed in the video:
- Why does the enemy soldier shoot from the hip to MD? Why isn't he making an aimed single shot or a burst instead?
- Why does the enemy soldier move straight towards MD and not taking cover behind the garbage cans instead?
I am sure there is an optimization behind those decisions but just wanted to know what kind of optimization the AI is doing in this case as an example.
A couple of things I have noticed in the video:
- Why does the enemy soldier shoot from the hip to MD? Why isn't he making an aimed single shot or a burst instead?
I don't know exactly as I haven't looked into AI logs, but I can guess:
Most likely he decided that shooting two times with a short burst from hip has more chance to hit enemy than spend AP to raise gun and shoot 1 burst. Maybe he has a laser that provides aiming bonus when shooting from hip so he has good chance. Maybe he has a weapon that is tagged as heavy gun (for example, weapon with stock folded) which cannot be raised while standing.
Quote:
- Why does the enemy soldier move straight towards MD and not taking cover behind the garbage cans instead?
Some enemies are aggressive, other are defensive, it depends on their orders and attitude. In this situation, soldier with SEEKENEMY/BRAVESOLO will advance, CUNNING will maybe lie down behind some cover and shoot, and DEFENSIVE will just retreat and hide behind the corner, trying to make ambush. Soldiers with short range weapons like smg's will advance more often. They are all different and not 100% predictable, or else the game would be boring.
Also, trash cans provide zero cover from 7.62x54, and soldiers in the game know that
Options:
- NCTH_SCOPE_MOVEMENT_PENALTY (FALSE by default) increases aiming penalty for target's movement in NCTH (doubles movement penalty for 10x scope)
- renamed HEAD_PENALTY_NCTH to NCTH_HEAD_PENALTY
- new option SHOOT_PUBLIC_SEEN (FALSE by default) allows shooting on publicly seen targets
OCTH:
- additional tooltip info (option EXT_TOOLTIP_CTH)
- lasers only active for iron sights and hip firing (no scopes or reflex sights except when the active scope has laser bonus)
- laser effectiveness is reduced over distance
- laser effectiveness is reduced in light (reduced to 50% in bright light)
- laser effectiveness is reduced when aiming with iron sights (full bonus when aiming in hip firing mode)
- scope can only reduce sight beyond min range for aimbonus
- reworked weapon range penalties
- apply weapon range penalty only after NORMAL_RANGE
- fix cowering penalty, scale with distance (max at day vision range)
NCTH:
- penalty for aiming at prone target in the grass (-25 at day vision range, 0 at close range)
- bonus when shooting from roof to the ground
- disabled projection factor (always set to 1.0), as lasers work different way now
- LASER_PERFORMANCE_BONUS_IRON only works for iron sights (no reflex sights)
NCTH, OCTH:
- new height difference penalty calculation
- additional penalty when shooting beyond sight range at target someone sees in the team (less penalty for snipers), SHOOT_UNSEEN penalty when shooting beyond sight range at targets noone sees
Misc:
- bonus to effective noise volume if in the same building, penalty if no los between listener and noise spot
- show icon of merc portrait if he is under heavy suppression (suppression shock > 50%)
- r8630: New feature - mercs can now also open doors from the side instead of the front (by silversurfer)
- r8633: improved the "open door from the side" code to make the merc turn into the proper direction (by silversurfer)
- reduced chance of damage to health when kicking doors, HTH specialists have 1-2 free kicks, depending on number of HTH skill levels
- fix: rounding up in various places
- increased shock from wounds (double compared to vanilla)
- better diagonal movement calculation
- path AP cost fixes and improvements
- max toss range only with 100 breath, can be reduced by 25% when low on breath
- r8637 fix: The game incorrectly deducted AP_CHANGE_TARGET for raising a weapon. (by silversurfer)
- r8640 fix: Incorrect movement cost calculation for jumping over fences with obstacles behind them (by silversurfer)
- HandleFlashLights: check DuskLight() (average between day and night) instead of NightLight()
- NightLight: use NORMAL_LIGHTLEVEL_NIGHT - 3 instead of NORMAL_LIGHTLEVEL_NIGHT
- set LOS penalty for tear and mustard gas to 1/6 per tile
- allow player merc to shoot without penalty if target enemy is visible
Suppression:
- disabled bonus from squadleader as it's already accounted in effective level and morale
- disabled OVERALL_SUPRESSION_BONUS_PERCENT option
Backgrounds:
- <resistance_suppression>: directly applied as received suppression modifier
- <resistance_fear>: lowers received suppression shock, resistance_fear=100% reduces received shock to 50%
Hotkeys:
- Ctrl+A - switch flashlight
- A - auto bandage (only in realtime)
- Ctrl+O - transform optics
- Ctrl+U - unjam gun
- U - change cursor to attack mode
- Ctrl+Y - switch laser
AI:
- allow smoke attack on opponent if he is spotting or watching
- soldiers will use flashlight to reveal enemy positions at night
- using flashlight ends turn for AI, at the start of a new turn AI soldier will always turn off flashlight
- limit chance to climb when low on breath
- improved feature: use smoke to cover advance:
- try to use smoke to improve tactical situation
- AI_WEAPON_CHOOSING: always choose weapon with longest range
- use regular type grenade to blow up obstacles between soldier and closest opponent
- better cover calculation for AI soldiers
- better AI behavior in dusk
- optimized code for better speed
- various minor fixes
I get the error when compiling AI r859 for Chinese ver. today:(VS2010)
6>Interface Panels.cpp(85): fatal error C1083: Unable to open include file:"vld.h": No such file or directory
16>LINK : fatal error LNK1181: Unable to open input file"Tactical.lib"