2021年02月20日 JA2&v1.13 5条评论

JA2 1.13 稳定版 AI 增强 MOD【中文版】

前言

由于不可抗拒的可以甩桌甩凳的可笑原因,TBS 决定自闭了,于是比较重要的 JA2 MOD 相关的“偶尔才会更新”又重新回到即将进入年更的博客。

AI MOD 说明照搬我的原帖

Ja2 1.13 Stable 7609+AI(下面简称 ja2_7609+AI) 是熊窝 sevenfm 开发的源码 MOD(熊窝原帖),针对熊窝官方 1.13 7069 后的 2014 稳定版的 AI 增强,所以基本上凡是基于 1.13 2014 稳定版的组合都可以使用,如 1.13 官方 2014 原版、IoV、AR、AV……

可能之前一些整合包中包含的一些 MOD(如 AV [Arulco Vacations])有铁友就接触了此 AI MOD,只是都是英文版。

最近我在整理 IoV929beta 时搞了个分支 IoV Revised(好像没人有兴趣,哈),遇到一些 IoV 枪/子弹消失问题,在源码上查找问题时跟 sevenfm 交流了一下,加上我一直在玩英文版的 AV MOD,于是跟 sevenfm 讨论 + 调试出了中文版的 Ja2 1.13 Stable 7609+AI。

其实我早就在《zww's源码编译、MOD组合包、整合包》放出下载(现在已经删了老版本的中文版 ja2_7609+AI,只留了今天上传的比较完善的版本 r327)

下载:百毒 Builds 目录里面命名方式为 ja2_2014+AI_cn_r327.7z 的家伙,解压后就一 ja2_2014+AI_cn.exe

使用:直接放到你所玩的 1.13 稳定版目录,代替原来的 ja2.exe 运行

然后:你 会发现敌人突然就比较聪明了,不再是你随便虐——比较明显的就是非常会躲避,站位相当牛,牛到你必须挪位置才能干掉他,如果有医疗技能还会对受伤的急救 (汗~我还没遇到,因为我测试时都是牛人),有些花花草草时更要命,就在眼前你发现不了(如果再加“野草”地图就...玩捉迷藏?),还喜欢蹲墙角、蹲窗口(什么时候女王兵学会德雷森保卫战战术了?)……等等...

另外:r3xx 版本后,好像加入了手雷/榴弹延时爆炸功能,别以为扔出去的手雷/射出的榴弹是“鸭蛋”,跑上去捡起来——1回合后就爆……(此功能已整入 1.13 开发版,要开启的话,下面 Ja2_Options.INI 的 DELAYED_GRENADE_EXPLOSION 要设为 True)

sevenfm 对此 MOD 说明

[Updated on: Sun, 12 July 2020 08:20]

Short and incomplete description of changes in Ja2+AI

Download:
https://drive.google.com/drive/folders/0B_PNaFvHBMdBYTh0NzBvc1c0Ym8

Important note:
Ja2+AI.exe is alternate executable file that you can put in your Ja2 1.13 7609 folder and run instead of default Ja2.exe.
It is based on stable 7609 release, so use it only with stable 7609 or mods based on stable release.

AI:
- AI soldier can shoot for suppression at enemies that nobody can see currently, aiming at last known seen or heard position
- roof climbing fixed
- flanking fixed and improved
- AI decisions fixed and improved
- fixed 'jump over fence' bug
- avoid sitting at door tiles when doing random patrols, this should help when playing covert
- don't raise alarm again if found handcuffed friend and status is already RED
- raise alarm when found friend who is captured with binders
- avoid going too close to seen armed bombs
- decide aiming location when shooting or stabbing depending on cth, distance to target and other factors
- AI will aim at head more often when shooting at zombies
- AI will aim at legs more often when using burst fire in NCTH at distance
- limit search range when deciding random patrols or visiting friends in GREEN to reduce CPU load and make enemy green behaviour more realistic
- Shooting: Reserve MAX_AP_CARRIED before attack if found sight cover spot nearby, try to reserve AP by lowering aim time if needed
- Shooting: check if soldier can find better position before firing (take cover keeping LOS to target)
- Black AI: Black cover advance (if soldier cannot attack or weapon range is short)
- Red AI: search advance spot with sight cover
- suppression shock reduces AI morale (AI aggressiveness) depending on current shock and morale level
- allow AI to shoot HeavyGun weapons when crouched or prone (fix 1.13 bug)
- allow attacking empty vehicles with greandes or RPGs
- tanks can use suppression fire (only machinegun at the moment)
- fix many shooting related 1.13 bugs
- improvements to AI soldier choosing best gun to fire (main weapon/sidearm)
- AI will try to avoid staying near timed grenade
- r8127: If a tank just took a heavy hit, but cannot see an enemy to fire upon, it can detonate a smoke grenade on itself to hide.
- Tank can activate mustard grenade in Red state if there is opponent close
- r7072: New Feature: enemies roles allows the AI to use medics
- r7080: Enemy roles improvement: medics can heal themselves

Zombie AI:
Zombie AI reworked and simplified, should work faster with less bugs now:
- zombie will always go to nearest known enemy
- if zombie doesn't know enemy location, it will move to closest friend who knows
- zombies don't do anything that humans do like starting patrol routes or using radio etc, they just roam here and there if not alerted, and attack closest enemy if they see or hear him
- no flanking or hiding or other complex AI for zombies
- added some safety checks for zombies to prevent possible problems - if enemy is on the roof and zombie cannot climb, this enemy will be skipped to avoid AI loop
- zombies always have highest AI morale

AI morale:
Every turn, morale for AI soldiers is restored by value equal to soldier's exp. level (1-10), to max value of (60 + 2 * ExpLevel).
This means, if AI soldier will be under heavy suppression fire for several turns, his morale will drop to low level, so he will play defensively and also will be more vulnerable to suppression attacks, but if he will avoid suppression fire for several turns, his morale will restore to max level.
In stock 1.13, morale value for AI soldiers is not used at all.

Watched locations:
- allow communication if distance < DAY_VISION_RANGE / 2 and there is line of sight between soldiers
- allow communication if both soldiers have hearing aid and distance < DAY_VISION_RANGE
- removed vanilla AI cheating when checking watched location, use public knowledge instead

DetermineMovementMode:
- night crawling
- getting closer
- crawling when taking cover
- crawling for snipers on roofs

Improved roaming range:
STATIONARY: 0 - 5 (if sees enemy or under attack)
ONGUARD: 5 - max (if sees enemy or under attack)
CLOSEPATROL: 15 - max (if sees enemy or under attack or friends need help)
POINTPATROL: 10 - max (if sees enemy or under attack or friends need help)
RNDPTPATROL: 10 - max (if sees enemy or under attack or friends need help)
FARPATROL: 25 - max (if knows enemy position)
ONCALL: 10 - max (if sees enemy or under attack or friends need help)
SEEKENEMY: max
SNIPER: 5
With this change, ONCALL/POINTPATROL/RNDPTPATROL soldier will not move far from it's position unless he sees enemy or is attacked or there are some friends that need help.
Note: ONGUARD and CLOSEPATROL are changed to FARPATROL when red alert raised.

Improved aiming levels in OCTH:
Pistols 2-4
MP, shotguns: 3-4
Rifles, AR, LMG: 4-6
Sniper rifles: 4-8

Scopes give bonus to aim levels:
- small scope (2x): +1
- medium scope (4x): +2
- high power scope (8x): +3
- very high power scope (10x): +4

Limit aim levels depending on distance:
on distance less than half of day vision range - no more than 4 aim clicks
on greater distance - up to 8 aim clicks at day vision range

Militia control improvements:
- Hold: change attitude to defensive
- Take Cover: use low morale when searching for cover spot
CheckForChangingOrders(Militia):
- don't change orders for STATIONARY/SNIPER
- change ONGUARD, ONCALL, CLOSEPATROL, RNDPTPATROL, POINTPATROL to FARPATROL

Covert Operations:
- exploit Fix: we can only disguise successfully if we haven't been seen recently
- disabled automatic clothes stripping when uncovered
- disguise automatically if spy haven't been seen by enemy recently and wears correct clothes
- default civilian clothes: white + blue/jean
- don't use enemy military colors for civilian clothes
- moved most limits for covert soldiers to suspicion counter
- if a merc intentionally removes the diguise property via the [Ctrl] + [.] menu, the disguise property will not be reapplied until new clothes are applied
- allow wearing backpack for covert civs/soldiers, use suspicion counter instead

Now soldier will be uncovered immediately only in following conditions:
- suspicion counter is red
- suspicious animation is seen by enemy
- civilian spy doesn't look like a civilian (has camo or gun in hand or any not covert weapons or military gear)
- soldier spy doesn't look like a soldier (he carries a corpse)
- spy is very close to a corpse (standing next to it)
- soldier is targetting a buddy of observing enemy
- soldier is standing near armed bomb

More realistic clothes:
- disguise/lose disguise in [Ctrl]+[.] menu
- [Ctrl]+[.] menu will show if merc has damaged vest/pants
- cannot 'wear off' clothes, only replace them with other color (we dont't have naked Fox animation anyway)
- don't disguise automatically when applying clothes, instead use menu (this will also turn on automatic disguise mode)
- don't need new clothes to disguise, only check that they have correct color and not damaged

Tactics:
- show red quick locators to show noise sources
- changed the way X-Ray detector works - it now shows locators on enemy positions, works only in front direction, distance is limited to day vision range / 2, also it randomly inflicts 1-3 damage to user (radiation is dangerous!)
- "x ray activated.wav" sound is played when x-ray is activated
- OCTH now uses gravity constants from NCTH, this makes OCTH ballistics look much better.
- enemy weapon jamming
- manual unjamming and chambering using 'u' key
- manual unjamming using transformations menu
- changed BASIC_DEPRECIATE_CHANCE to 45 (default value in NCTH) so there will be less damage to guns when shooting (and less frequent jams when doing a lot of suppression fire)
- changed maxJamChance from 50% to 30 - 4 * GunReliability, so it will be about 20% for good weapons, no more than 50% for bad weapons
- AI always unjams weapon successfully
- Vehicle is visible if any part of it is visible
- bonus for trap detect level if soldier is crawling and has knife in his hand
- CalcTrapDetectLevel: removed chance to ignore trap for optimists
- reduce camo when soldier is crawling
- reworked CAMO_KIT_USABLE_AREA option, now it only limits camo from kits, but not camo from gear, this also fixes some bugs with camo applying (so if you set this option to 100 it should work as in vanilla)
- reworked camo worn/kit bonuses for camo zombies and soldiers created with camo kits inventory (65% worn camo + random camo value)
- Drunk level visual indicator: Feeling good, Borderline, Drunk, Hungover
- "Enemy can see me" indicator in stealth mode
- Enemy roles: Commander, Officer, Marksman, Sniper, Mortar, Machinegunner, Medic, Radio operator
- regen boosters now less cheating as they cause damage to max health, if you healed 40 HP with regen booster, you will lose in average 10 max HP and will have to restore them later with doctor
- auto refill canteens if no hostile enemy in sector (less micromanagement)
- AI always successfully unjams guns
- Camo faces for Monk, Shadow and Tex (feature from VR code)
- pre-placed bombs (action items with an explosive) can now be blown up by explosives, this allows clearing mine fields with grenades for example
- disabled taunts for collapsed soldiers
- if soldier is unconscious, he can't see anything
- garotte should be used on head only, also check AI knowledge instead of LOS test
- added r7016: static shadows decrease brightness (by anv)
- auto pick up backpacks when combat is over
- it's possible to set side for civ groups (any not 0 value can be used) - <Side>2</Side>
- disabled badass animations by default (enable them using BADASS_ANIMATION = TRUE if you want)
- less BP loss when shooting with RPG or flamethrower
- flyback critical animation is possible only when using powerful weapon (ubImpact >= 40)
- [v] button shows if IIS/NCTH is used
- SAFE_SUPPRESSION option enables additional checks for AI when shooting for suppression (ni general, this will mean less suppression fire, also less bullets to the backs of your mercs from militia and less harm for civilians)
- fix: walkman only works from head slots
- bonus 20% to morale when using walkman
- if soldier is captured, he cannot see anything
- if soldier is captured, he cannot hear anything
- you can empty canteen using transformation (useful if you don't want to carry poisoned water)
- mercs will replace bad water in canteens with good when filling
- new option: SOFT_IRON_MAN (save in realtime)
- new option: SPREAD_FIRE (create new fire when structure is destroyed by fire)
- show enemy role icon only after 2 turns or in cheat mode
- show red locators on visible armed timed bombs
- disable messagebox when putting group of mercs to sleep, show message in the game log instead
- lowered laser bonus in OCTH when aiming: bonus = 2 * bonus / (2 + AimTime) (lasers are mostly used when hip firing or with little aim)
- take into account trap difficulty when performing disarm check (previously trap level had no effect on trap disarming, only on detecting)
- removed wirecutter bonus when disarming tripwire (use items with <DisarmModifier> tag)
- neutral civilians always avoid player mines (CIVILIANS_AVOID_PLAYER_MINES has no effect)
- new command: On [Alt] + [N], all team members in the sector try to put on gas masks

Fire/gas/explosions improvements:
- no fragments in water, no smoke from explosions in water, no light from fire in water
- fire removes corpses
- fire can damage burnable structures
- fire can spread when damaging burnable structures
- spread fire adds light at night
- add burn marks when fire damages structure
- cannot spread fire in rain
- don't spread fire on water
- hand or GL grenade cannot damage roof (use more powerful explosives or destroy all walls to collapse roof)
- explosion adds burn marks randomly
- stun grenades remove fire
- fire damages items on the ground
- fire will ignite explosive structures
- limit smoke effects duration when in the rain
- enable flyback animation only if explosion power >= 50 and distance from explosion center <= explosion radius / 2
- limit fire spreading to 7 generations

List of useful transformations:
- manually unjam guns (or you can press 'u' for that)
- delay grenade explosion
- empty canteen

Delayed grenade explosion:
Use transformation to activate delayed mode for grenade - it will explode at the beginning of the next turn. This may be useful in some tactical situations.

Set DELAYED_GRENADE_EXPLOSION = TRUE to make all hand/GL grenades work as timed (disabled by default).

Notes:
- only Normal/Stun/Flashbang grenades can work as timed - gas/flare/other types will always explode immediately
- grenades with fExplodeOnImpact tag set will always explode immediately
- attached explosives feature will not work for timed grenade
- armed grenade can be picked up and disarmed like any other explosive item, but it can be dangerous
- AI soldier will usually try to avoid staying close to armed grenade/bomb, but he still can be hit with fragments

Alcohol and drugs:
- alcohol level is changed every hour instead of every turn, so being drunk can have some serious consequences now
- using alcohol and drugs in turnbased requres AP
- alcohol and drugs start effect immediaely (don't need to wait for new turn)
- not recommended to use alcohol and adrenaline at the same time (will result in heart attack with stats loss)

NCTH:
- VERTICAL_BIAS is always 1.0 for showing cursor, so it always looks like circle (no more ovals)
- max shown aperture limited to 100 (no more gigantic circles), in this case color is changed to dark red
- laser is shown as dot in the center of target cursor
- press ALT to see bullet deviation as gray circle
- no more than 10 bullets are shown in autofire mode, the rest is shown as + sign
- use full IRON_SIGHT_PERFORMANCE_BONUS at half day vision range, at greater distance iron sights bonus is reduced
- changed distribution: accurate shots are more accurate (green cursor), less lucky hits with bad aim (red cursor)
- always use VERTICAL_BIAS = 0.5 for shooting (less stupid shots to the ground)
- r8281 fix: BASE_STANDING_STANCE was missing from handling calculations in NCTH
- enabled AIM_VISIBILITY penalty

Improved suppression:
- action points can be reduced to zero when soldier is suppressed
- action points at the start of new turn are reduced depending on current shock level
- if soldier has cowering shock level (you can see this by cowering animation though it's not 100% always happens)
- if soldier has cowering shock level after suppression attack, he loses all APs
- soldier can still have negative APs if he is hit or for another reason, but not from suppression
- alcohol reduces shock from suppression, hungover state increases shock
- adrenaline effect reduces AP loss from suppression
- suppression is less effective if soldier is running
- cowering shock level is equal for all soldiers (MAX_SUPPRESSION_SHOCK/2), but different soldiers have different suppression tolerance which determines how quickly soldier will reach max level and how effective suppression is in general against this soldier
- new shock level at new turn depends on soldier's morale, with morale=100 shock level is reduced by 50%
- shock level is reduced by 50% at the start of new turn if soldier is not under attack or if soldier is dauntless
- shooting at enemy reduces actual shock level, depending on number of bullets fired and also gun damage and loudness
- shock level reduces effective marksmanship and dexterity, old shock effects for shooting are disabled
- shock from attack is reduced by fear resistance value (from skills and backgrounds), max SL_FEAR_RESISTANCE is limited by 25%
- AI soldiers also use morale for shock calculation, they start with max morale depending on soldier's level, every successfull suppressive attack redices morale for AI soldier, every turn that AI soldier is not under attack his morale is restored up to max value depending on his exp. level
- allow suppression fire for soldiers with machineguns for 2 turns
- allow tanks to use aimed suppression
- allow soldiers with machineguns to use aimed suppression in prone stance with full AP

You can make a civ group hostile to both player and enemy:
- set Side 2 or 3 in CivGroupNames.xml, for example:

<NAME>
<uiIndex>1</uiIndex>
<Enabled>1</Enabled>
<szGroup>Rebel</szGroup>
<AddToBattle>1</AddToBattle>
<Loyalty>1</Loyalty>
<Side>2</Side>
</NAME>

- set group as hostile in GameInit.lua

SetCivGroupHostile( Group.REBEL_CIV_GROUP , Civ_status.CIV_GROUP_HOSTILE )

Strategic enemy detection:
- UpdateStrategicDetectionLevel fix: detect enemy movement direction using assignments
- scouts can detect enemy direction
- ScoutIsPresentInSquad fix: allow scouting only if soldier is not in a vehicle, not sleeping and not on assignment
- Skyrider can detect enemy direction when flying over sector with enemy

Updated feature: Attached explosives
- can attach rubber band to any grenade
- if there's rubber band attached, allow attaching another grenade
- can attach duct tape to any explosives
- can attach any explosives to duct tape
- can attach any tripwire activated item to tripwire
- use buddy item to define special attachments (like gas can, alcohol bottle or marbles)
- cannot attach explosive item with zero volatility (if not using tripwire activation)

Interrupts:
- Ctrl+D - skip interrupts for this merc only
- Ctrl+Alt+D - skip interrupts for player team
- don't allow interrupt if shock level percent > 50
- StandardInterruptConditionsMet: cowering soldier cannot interrupt

Backpacks:
- allow jumping/climbing with backpacks.

Backpack penalties in 1.13:
- movement cost is increased depending on backpack weight
- jumping over fence cost is increased when wearing backpack
- need to use zipper to access backpack contents in combat

Fixes:
- all possible fixes from main trunk
- other fixes to AI and tactics
- fixed problems with enemy cowering animation that prevented AI from working sometimes
- interrupt fixes
- Drop/pick up backpacks - added check for DropPackFlag, only current squad will drop backpacks, added message for successful drop/pick up
- corpses on roof interaction fix

Improved Covert Operations:

- if player selected "Loose Disguise" from Ctrl+dot menu, spy will not disguise automatically until clothes are reapplied
- default civilian clothes: white + blue/jean
- don't use enemy military colors for civilian clothes
- moved some limits for covert soldiers to suspicion counter
- garotte attack has effect only when attacking at head

Any soldier will be uncovered immediately when:
- suspicion counter is red
- suspicious animation is seen by enemy
- civilian spy doesn't look like a civilian (has camo or gun in hand or any not covert weapons or military gear)
- soldier spy doesn't look like a soldier (he carries a corpse)
- spy has serious bleeding
- spy is very close to a corpse (standing next to it)

Civilian spy will be uncovered when:
- in restricted area with curfew = 2 or underground
- in restricted area with curfew = 1 at night
- he has suppressed guns on him (if they are not placed in covert LBE)

Soldier spy will be uncovered when:
- soldier is targetting a buddy of observing enemy
- drunk/under drugs soldier is standing next to enemy who sees him
- soldier's equipment is too good (close inspection can be performed only by officers of this or higher type, so elite officer can check any spy, army officer can only check army spy or admin spy etc...)
- soldier is using flashlight at night and alert is raised

All other conditions are moved to suspicion counter:

basic value is 1..5 depending on the level of enemy soldier
+1 for each squadleader skill of enemy soldier
+1 if spy is using flashlight
+1 if spy is bleeding
+1 if spy is drunk or under drugs
+2 if enemy is alerted
+2 if enemy is in combat (seen enemy recently or under attack)
+2 in capital (Meduna)
Total: 1..16 for each enemy observing our soldier

*2 if spy is running or crawling or swatting
*2 if when disguising as soldier

/2 if spy has covert skill, for each level of covert skill
/2 if spy has no covert skills but he is special NPC (native)
if observer is drunk, he is less suspicious (up to 75% penalty at max drunk level)
if observing soldier is farther than day vision range /4, value is reduced accordingly, so at full day visoin range value will be divided by 4

Finally, all suspicion values from observing soldiers are added, and then total value is multiplied by amount of spent APs and added to merc's suspicion counter.
Maximum value for merc's suspicion counter is 100 * AP_MAXIMUM, this means:
100 turns in turnbased being observed by low level enemy close without additional modifiers
50 turns in the same situation but with 2 observing enemies
25 turns if spy is disguised as soldier
etc...

So what this change means for player?
1. Less 'binary' playing - if your disguise is good, it doesn't mean you can go everywhere and walk endlessly in front of enemy.
2. You have to avoid big groups of enemy, avoid running or swatting/crawling, if enemy becomes alerted, playing covert becomes much harder.
3. You need to find some places to hide (to lower suspicion counter), so you need to plan your actions.
4. Performing spy actions in sectors with limited access (SAM sites etc) will be much harder, especially on high difficulty levels with many high level soldiers.
5. You have visual representation of covert status (merc name color), so this feature is now more player friendly.

Attached explosives:
To use attached explosives feature, you need to define tags in items.xml:

<nasLayoutClass>1</nasLayoutClass>
<nasAttachmentClass>1</nasAttachmentClass>

for all attachments you want to use with this feature - grenades, explosives, duct tape, rubber band, string, gas can, alcohol bottle and marbles.

To use some items as special explosive attachments, define buddy item for them, for example, in stock 1.13 define

<buddyitem>1703</buddyitem>

for gas tank, then if you attach gas tank to TNT, explosive item will be activated to simulate gas explosion when this TNT will blow up.

For marbles, add

<buddyitem>1704</buddyitem>

to use it as added fragments to any explosion.

For alcohol bottle, add

<buddyitem>979</buddyitem>

to use molotov fire explosion.

Any attached explosive should have volatility > 0 to be activated, also main item should be of normal explosion type (tripwaire activated items attached to tripwire don't need this as they use tripwire activation instead of detonation)/ If you attach mk2 grenade to gas grenade, it will not blow up.

Also turn on options in ja2_options.ini

ALLOW_EXPLOSIVE_ATTACHMENTS = TRUE
ALLOW_SPECIAL_EXPLOSIVE_ATTACHMENTS = TRUE

New options in Ja2+AI:

[Extended Options]
IMPROVED_AIMING_LEVELS = TRUE
FULL_PATHING = TRUE

ROOF_COLLAPSE = TRUE
CAMO_PROFILES = TRUE
ENEMY_GUN_JAMS = TRUE
BADASS_ANIMATION = FALSE
SAFE_SUPPRESSION = FALSE

SOFT_IRON_MAN = TRUE
DELAYED_GRENADE_EXPLOSION = FALSE
SPREAD_FIRE = TRUE

UPDATE_GARRISON_ADMINS = TRUE
UPDATE_PATROL_ADMINS = TRUE
UPDATE_GARRISON_ADMINS_PROGRESS_MODIFIER = 0
UPDATE_PATROL_ADMINS_PROGRESS_MODIFIER = 0

ENABLE_SSA = TRUE
DEBUG_SSA = FALSE
VOLUME_SSA = 25

ENABLE_TA = TRUE
VOLUME_TA = 25

(懒得翻译)

zww
or
oooo

“JA2 1.13 稳定版 AI 增强 MOD【中文版】”有5条评论

  1. axiu says:

    我……我穿越了?

    1. zwwooooo says:

      @axiu 没有,基地TBS关了,偶尔更新在这里吧。

      1. 郑永 says:

        TBS...原来是游戏方面的东东。

  2. karlwen says:

    这个能不能结合UC MOD之类的用呢?我刚下了个2018的稳定版

    1. zwwooooo says:

      @karlwen 文中已说明凡是基于 2014 稳定版(熊窝有人叫7609版)的“非源程序”MOD都可以结合玩 :mrgreen:

发表评论

昵称 *

网址

B em del U Link Code Quote