ZWWoOoOo https://zww.me 因为喜欢所以折腾...无折腾不铁血! Thu, 17 Jun 2021 06:11:32 +0000 zh-CN hourly 1 https://wordpress.org/?v=5.7.2 RouterOS 的时间校准服务 NTP Client 不工作的原因和解决方法 https://zww.me/ros-ntp-client-not-working.z-turn https://zww.me/ros-ntp-client-not-working.z-turn#respond Thu, 17 Jun 2021 06:05:06 +0000 https://zww.me/?p=27080 小孩大了点就越来越“牛”又不自觉,规定的看电视时间到了老是要出去叫孩子关掉电视,小孩不肯关掉还自己一套道理跟你理论。为了省心,用 RouterOS 的网络控制功能(用 Queues 即可)来实现对家里的电视定时开放网络,用着还挺方便的,一没网络小孩就自动关掉电视了。

但是最近发现时间到了电视还是一直有网络,于是检查了配置,发现路由器的时间有问题,于是想去开启路由器的 SNTP Client 服务,但发现我这个软路由里面安装的 RouterOS,System 菜单下面没有 SNTP Client,只有一个 NTP Client,应该是一样的功能,但是当我设置好后,一直如下图一样显示服务 stopped(当时图片忘记截了,用搞好工作后的图片加文本代替)

于是去 Google 搜索,找了好久都没搜到类似情况,基本都是教你如何设置,而没有设置后不工作的情况。后来搜到一个繁体的 blog 的校时设定教程里面提到不工作的情况并提供了解决方法(原文)。

原因:

RouterOS 若没有通过 System 》Packages 升级时,是由 SNTP Client 来设置时间校准服务的,如果通过 Packages 升级包后,则由 NTP Client 来设置(这时 System 看不到原来的 SNTP Client),也就是说 NTP Client 不工作应该是原来的 SNTP Client 还在工作导致冲突。

那么就好解决了:

  1. 先 System 》Packages,点选“ntp”,然后点 Disable 后(先停用 NTP Client 包),重启路由器
  2. 重启后,System 菜单里面就出现 SNTP Client,点击出来看看是否在工作状态,类似下图(这个图从原文截取的,我忘记截图了)
  3. 然后把 Enabled 勾选去掉,点 Apply 后 OK 停掉 SNTP Client
  4. 回到第1步的 System 》Packages,点选“ntp”,然后点 Enable 后,再次重启路由器
  5. 重启后进入 System 》NTP Client,设置后就显示 started 说明工作正常了,同步了就显示下图 synchronized

附国内常用的 ntp 服务器:

#阿里的NTP服务器
ntp.aliyun.com
ntp1.aliyun.com
ntp2.aliyun.com
ntp3.aliyun.com
ntp4.aliyun.com
ntp5.aliyun.com
ntp6.aliyun.com
ntp7.aliyun.com

#阿里的Time服务器
time1.aliyun.com
time2.aliyun.com
time3.aliyun.com
time4.aliyun.com
time5.aliyun.com
time6.aliyun.com

#Win系统自带的:
time.windows.com
time.nist.gov

#苹果提供的授时服务器
time1.apple.com
time2.apple.com
time3.apple.com
time4.apple.com
time5.apple.com
time6.apple.com
time7.apple.com

#Google提供的授时服务器
time1.google.com
time2.google.com
time3.google.com
time4.google.com

转载请注明转自: 《RouterOS 的时间校准服务 NTP Client 不工作的原因和解决方法

]]>
https://zww.me/ros-ntp-client-not-working.z-turn/feed 0
入坑、出坑之弹弓购买 https://zww.me/play-and-buy-dg.z-turn https://zww.me/play-and-buy-dg.z-turn#comments Tue, 15 Jun 2021 11:03:36 +0000 https://zww.me/?p=27049 年初开始重拾童趣开始玩起现代弹弓,于是开始购买各种材质弹弓,发现里面也是各种“坑”。

特别是主播类卖弹弓,有些真的是为了卖弓啥都能吹忽悠新人,有些倒是实打实不坑新人各种福利。有时也进一些弓群看看,发现有些弓群里还因为“林子大了什么鸟都有”导致各种嘴仗、误会、被小人利用、诈骗等等啥都有,真是搞笑,不就玩个弹弓嘛。说明啥呢,过于贪便宜的人哪里都有,人多的地方就有是非,我等“与世无争”的社会老大叔看到这些行为真是只能噗嗤一笑。

一开始呢,我搜出来的都是不锈钢、铝、钛合金这类弹弓(奇怪,我的机械键盘的 D 经常敲不出来……要换键盘预警),于是买了10来吧来练习,下面是代表性的几把(现都已在咸鱼处理完毕,只留了2把重量适中手感也好的——懒得拍照了):

一波下来还真不便宜,随便都是1、2百一把,有些还4、5百一把。后来发现其实用来做防爆盾牌的聚碳材质的弹弓也不错,颜值高、重量轻、硬度直追钛合金,于是开始转战聚碳材质。因为便宜入了一大波,下面是一部分:(其实这些弓感觉还可以做摆件,我车里就放了蛇豹弓做装饰品,感觉还算酷)

很多新弓友容易被商家忽悠,说什么这个弹弓精度高打得准,其实稍微用点脑子就知道忽悠啦,这又不是枪械,弹弓准不准完全在于人,只能说这款弓手感好不好而已,准不准跟这个真没半毛钱关系,哈。

好像现在弹弓往竞技方向发展,也算是好事,起码不会那么容易被一刀切吧,毕竟现在射击爱好者真的没啥可玩了,连直接对着手打没事的玩具水弹都一刀切到tb搜索为零。真不知道以后的男孩子都玩啥,棉花糖子弹?芭比娃娃?

如果来我这的朋友刚好是弹弓新手,那么下面几点可能有用:

  1. 弹弓准不准,跟什么材质、什么形状的弹弓没关系,准不准在于人(练习的多少决定),弹弓只要根据样子、手感选即可,别被一些弓商忽悠。
  2. 先搞清楚弹弓射击原理,其实自己想想也明白。
  3. 不要追求威力,应该先追求精度——除了靠练没捷径,其实户外老手基本都是0.5左右厚皮筋。
  4. 皮筋和钢珠(或者泥丸)要匹配,参考:【中拉2012锥度】0.5配8珠、0.55配8或者8.5、0.4配9-10泥丸
  5. 皮筋长度建议:拉锯/皮筋拉伸比+1、2厘米,一般皮筋拉伸比在1:6,具体看皮筋自己调节。如我中拉拉锯90,90/6=15,所以我的皮筋一般裁剪16cm,绑完就是15cm,如果夹片就裁剪15.5cm。

发现我这城市基本没啥人玩,想想也是,户外可不能乱来的,很多人可是为了户外下*才玩的。我也就玩玩,打打瓶瓶罐罐,可能有些人会觉得无聊,其实射击爱好者就喜欢“中”的感觉。

转载请注明转自: 《入坑、出坑之弹弓购买

]]>
https://zww.me/play-and-buy-dg.z-turn/feed 3
大清早没事升级下 WordPress,都 5.7.1 了 https://zww.me/27039.zsay https://zww.me/27039.zsay#comments Fri, 16 Apr 2021 02:35:39 +0000 https://zww.me/27039.zsay 有段时间没升级 WordPress 了,很久以前就很多人说它越来越臃肿,其实呢,以博客系统来说——是,但它早就不是单纯的博客系统啦,所以慢不一定是它的问题,通常是所用的主机环境以及主题、插件的代码运行效率导致。

WordPress 都 5.7.1 了,刚开始用独立博客它还是 2.x.x,时间飞逝,以前叫我大叔的博友们都变大叔了,被生活、工作压得还能把博客挂在网上的已经寥寥无几。

WordPress 自从换了编辑器,我一直都没切换,还是用的老编辑器——习惯了,新的虽然模块化,但不适应感觉太繁琐,要用鼠标太多。

----

最近重拾童心玩起弹弓,发现弹弓圈大叔一大把,呵呵,难怪淘宝部分实在的弹弓商生意红红火火,毕竟大叔级的人都具有一定消费能力,花个几千买点弹弓还是小意思吧,不过也不用太贵的,弹弓玩得准不准在于人而不在弓。

转载请注明转自: 《大清早没事升级下 WordPress,都 5.7.1 了

]]>
https://zww.me/27039.zsay/feed 57
ja2_7609+AI 中文版 r2046 https://zww.me/ja2_7609ai-cn-r2046.z-turn https://zww.me/ja2_7609ai-cn-r2046.z-turn#comments Thu, 15 Apr 2021 12:24:30 +0000 https://zww.me/?p=27034 详情《JA2 1.13 稳定版 AI 增强 MOD【中文版】

部分 r1944~r2046 新特性视频(Y2B,自备木弟子)

1982

Focus feature:
- soldier can concentrate on selected spot
- focus spot gives +1 bonus to interrupt instantly, up to +4 over time
- no watched location bonus if focus is activated
- penalty -2 to interrupt level outside of focus spot
- can be activated in look mode (L or middle mouse button) or using skill menu (Shift+4, Alt+RMB)

New vision mode:
- default day/bright vision bonus for scopes disabled
- day/bright vision bonus works in focus or spotting area
- day/bright vision bonus works in watched location (soldier can remember up to 3 locations of recently seen/heard opponents)
- AP cost to activate focus/spotting is AP_SPOTTER + distance based bonus
- night/cave vision bonus for scopes works as before
- in spotting mode, normal vision is limited to TACTICAL_RANGE / 4 tiles

Demo video:

r1994

Allow to pick up delayed grenade and throw it back, don't show disarm message box for delayed grenade.
Enabled explosion warning for soldier carrying armed object (original feature by Flugente).
Display time counter on picked up activated grenade in inventory.
Don't allow throwing picked up activated grenades as grenades, use throwing regular object code.

r1944~r2046log

r2046
SightCoverAtSpot: don't calculate visible distance when using unlimited check. SightCoverAtSpot, AnyCoverAtSpot: optimize search by sorting opponents by distance.
---------------------
r2045
AttachObjectOAS: use activated grenade check only for explosives. AI path tweaks: don't avoid light when using flashlight. AIUseFlashlightCondition: check min MORALE_CONFIDENT. Red AI: avoid light only when not using flashlight.
---------------------
r2044
Only check bDelay for explosive items when trying to attach.
---------------------
r2043
Fixed critical bug introduced in r2041.
---------------------
r2042
DSM fixes.
---------------------
r2041
Show shock percent in portrait bars tooltip.
---------------------
r2040
Only show shock level on face morale bars when in tactical screen.
---------------------
r2039
Shock shock level on morale bar. If shock level is higher than morale and soldier is not under adrenaline effect, apply additional penalty to suppression tolerance, make soldier easier to react to suppression (crouch/go prone).
---------------------
r2038
Show last enemy in overhead map: also show non neutral civilians which have civilian group defined.
---------------------
r2037
Restored default delay between queen reinforcements.
---------------------
r2036
Dragging code update.
---------------------
r2035
Minor code improvements.
---------------------
r2034
Show locations of recently known enemies when SHIFT is pressed. Update knowledge for player when enemy moves into cover.
---------------------
r2033
Don't show draggable objects in hidden rooms.
---------------------
r2032
Show draggable objects when drag mode is active.
---------------------
r2031
Show possible focus/spotting locations: - limit to max possible vision distance - mark knowledge with color, the most recent uses the most bright color
---------------------
r2030
Show possible focus/spotting locations only in look mode.
---------------------
r2029
Limit spotting radius to 1 for night/cave vision.
---------------------
r2028
Reduce bonus from focusing at close range.
---------------------
r2027
Increase spotting radius when using binocs at distance > TACTICAL_RANGE. Disabled tunnel vision for focus spot when spotting/focus active. OCTH, NCTH: no penalty when shooting at unseen target when spotter is active.
---------------------
r2026
Lowered APs to use focus skill. NCTH, OCTH: small bonus for shooting in focused spot. Improved spotting/focus/enemy position circles view on second level.
---------------------
r2025
Show locations of known opponents: allow with binocs in hand.
---------------------
r2024
Improved code to choose vest for soldier. Don't check for MAX_VISION_RANGE when showing known enemy locations.
---------------------
r2023
Show APs in blue, green color when activating focus/spotting. Added AI debug messages. Show locations of known opponents with grey circles, if soldier is active, not unconscious/cowering, looking in the direction of opponent with weapon rai...
---------------------
r2022
Food system: - show message in orange color when stat is damaged - stop time compression when stat is damaged - show message when soldier is hungry/thirsty and there's a risk of stat being damaged - stop time compression if bleeding because...
---------------------
r2021
Stop spotting/focusing: improved code to update sight. DeductPoints: only call StopSpotting if soldier is spotting. Set base/aim penalty when shooting at cowering target as -25.0/-50.0
---------------------
r2020
Removed NEW_AI_TACTICAL option.
---------------------
r2019
NCTH: BASE_SHOCK, AIM_SHOCK define max penalty when shooting at cowering target, scaled with distance (full at TACTICL_RANGE, 0 at zero range).
---------------------
r2018
UseSkill: show message of cannot use skill only for player team. AI: additional check if can use skill before deciding to focus.
---------------------
r2017
Disabled watched location vision bonus for AI. Improved check for valid pSoldier.
---------------------
r2016
Re-enabled auto redisguise code for covert mercs (but you still need to change compromised uniform type).
---------------------
r2015
Soldier AI tooltip: show focus/spotter status.
---------------------
r2014
Radio listening allows to show number of army soldiers on tactical panel.
---------------------
r2013
Tactical panel: show backpack.
---------------------
r2012
Tactical Panel: show number of remaining army soldiers/militia in sector.
---------------------
r2011
Suppression: only cower in crouched stance if cannot go prone.
---------------------
r2010
Suppression: increased min points to react when soldier is under adrenaline. Improved Russian translation.
---------------------
r2009
Always write AI logs if Logs folder exists in game folder. Removed options: - AI_DEBUG_INFO - AI_DECISION_INFO - AI_DECISION_TOPIC_INFO - AI_MISC_INFO - AI_COVER_INFO - AI_SHOT_INFO - BR_INFO
---------------------
r2008
AI focus skill: focus more often on spots that have cover from soldier.
---------------------
r2007
Disabled experimental muzzle flash code.
---------------------
r2006
TileEngine include cleanup (by Asdow).
---------------------
r2005
Cowering after suppression fire: improved code to start cowering in standing/crouched stance.
---------------------
r2004
NewDest: switch crawling to swatting for AI if found fence/water/door in the path.
---------------------
r2003
ChooseArmourForSoldierCreateStruct: - fixed bug resulted in soldiers having armour attachments too often - lowered chance for elites to have armour attachment
---------------------
r2002
ItemIsLegal: don't allow usItemClass = 0.
---------------------
r2001
Improved cover cache: use iterator to avoid second search.
---------------------
r2000
Show message when target soldier is too far for talking. Added missing German string in TacticalStr.
---------------------
r1999
Fixed talking to enemy without having extended ear: increased talk distance to TACITCAL_RANGE. SetAttachmentSlotsFlag: code optimization, use iterator to avoid extra map searching. LogDecideInfo: log focus/spotting information. LogKnowledge...
---------------------
r1998
Removed unused include files in renderworld.cpp
---------------------
r1997
SetAttachmentSlotsFlag: code optimization, cache attachment slots in point/item maps.
---------------------
r1996
SetAttachmentSlotsFlag: improved code to check array bounds.
---------------------
r1995
Don't allow attaching activated grenade.
---------------------
r1994
Main Red AI: use watching more often when using focus skill and in safe spot. Show inactive mercs: show F key when ALT pressed. Improved code to determine AI safe spot.
---------------------
r1993
Allow to pick up delayed grenade and throw it back, don't show disarm message box for delayed grenade. Enabled explosion warning for soldier carrying armed object (original feature by Flugente). Display time counter on picked up activated g...
---------------------
r1992
No interrupt if soldier has suppression points. penalty to interrupt level if soldier is under fire.
---------------------
r1991
Use RMB to switch tactical panel mode.
---------------------
r1990
Limit vision bonus to 5% on INSANE level. Red AI watch decision: don't start focus if soldier is under fire, seen enemy last turn or enemy is closer than TACTICAL_RANGE / 2.
---------------------
r1989
HasThermalOptics: only for scope in focus mode, binocs in hand in spotting mode or gear (face items, helmet etc).
---------------------
r1988
AI use focus skill: don't start for new turn when in turnbased. Re-enabled day/bright vision bonus for AI at watched locations. FindCombatFocusSpot: choose random focus spot from all known opponent locations + watched locations. Red AI: pos...
---------------------
r1987
Green, Yellow AI: possibly use focus skill to scan area.
---------------------
r1986
Added AI_ACTION_STOP_FOCUS action. Red AI: possibly start focusing on highest watched spot when decided to watch. Green, Yellow, Red AI: chance to stop focusing.
---------------------
r1985
CalcInterruptDuelPts: no penalty outside of focus spot (apart from watched location bonus not working). Disabled full vision bonus at watched location.
---------------------
r1984
StartFocusing, StopFocusing, StopSpotting: update sight. GetVisionRangeBonus: small vision bonus for AI on expert/insane level. Don't apply gear bonus if using gbForceWeaponReady/gbForceWeaponReady to correctly calculate scope aiming bonus....
---------------------
r1983
Disabled interrupt on manipulating inventory, only sight is updated.
---------------------
r1982
Improved code to calculate AP to spot/focus.
---------------------
r1981
Increased focus circle brightness. Limited needed watch turns for focus vision bonus to 1.
---------------------
r1980
Add 60% tunnel vision when focusing or spotting. Don't limit normal vision when focusing.
---------------------
r1979
Disabled <VisionRangeBonus> for scopes and binocs (works only for body equipment like face masks). Enabled night and cave vision bonus for scopes without focus/watched location.
---------------------
r1978
Implemented New vision system. For spotter/focus circles on second level, use darker colors.
---------------------
r1977
Show spotter ready icon when spotter counter reaches 2 * gGameExternalOptions.usSpotterPreparationTurns. Use look cursor mode to activate spotter/focus skills. Updated spotter/focus skill code. Show spotting area as green circle.
---------------------
r1976
Focus skill: - up to 4 points interrupt bonus over time - no watched location interrupt bonus if focus is active - circle thickness indicates focus level (1..4) - stop focusing if soldier cowers, swaps hands of manipulates inventory
---------------------
r1975
Improved data initialization.
---------------------
r1974
Stop focus if shooting outside focus spot.
---------------------
r1973
Added Focus skill feature (original code by Flugente). Focus and dragging status is stored in save file. Added PixelAlterColour() function. Stop focusing when spending APs on anything except shooting. Skill traits can now use specified leve...
---------------------
r1972
Smart tree top hiding: increased max distance to hide tree in vertical direction.
---------------------
r1971
Removed AP_SUPPRESSION_SHOCK_DIVISOR. New suppression shock can be more than MAX_SUPPRESSION_SHOCK if current shock value is less than MAX_SUPPRESSION_SHOCK. Improved code to calculate morale loss from suppression.
---------------------
r1970
Update for removed watching feature code.
---------------------
r1969
Removed watching code (need item with <usSpotting> value to use vision bonus). Enabled sight and vision penalty from shock (SHOCK_REDUCES_SIGHTRANGE option). Set max tunnel vision when cowering to 40. Set max tunnel vision from shock to 80....
---------------------
r1968
Suppression shock from heard gunshots: - check MAX_SUPPRESSION_SHOCK > 0 - modify with CTGT - use FLOAT calculation to allow small shock values - penalty if shooting beyond weapon range - modify if shooting at different target - apply fear ...
---------------------
r1967
More transformation actions localizations.
---------------------
r1966
Alt+Shift+B - drop backpacks for all player squads in sector. Sector menu (Ctrl+V) allows to drop backpacks for all player squads in sector. Localized transformation strings for delayed/instant mode.
---------------------
r1965
Black AI: try to continue flanking if soldier is in deep water and not under fire.
---------------------
r1964
Fixed AI deep water flanking. Allow AI to use scuba fins when in deep water. No penalty for ENEMY_TEAM if wearing scuba fins not in water. Added code for AI to drop scuba fins when not in water. Added swimming background for elite soldiers ...
---------------------
r1963
HandleSuppressionFire: ensure min shock value 1 if any suppression happened.
---------------------
r1962
Suppression shock from heard gunshots: - less penalty from morale - increase distance for unmodified shock to TACTICAL_RANGE
---------------------
r1961
Improved code to throw smoke/flashlight.
---------------------
r1960
Red AI: possibly throw flashbang before entering room. Fixed grenade searching check to throw smoke to cover movement.
---------------------
r1959
Medic AI: - ensure sufficient medical skill for AI - don't drain BP when doing first aid for AI
---------------------
r1958
REVEAL_DROPPED_ENEMY_ITEMS_AFTER_COMBAT option should reveal items dropped by all soldiers, not just ENEMY_TEAM.
---------------------
r1957
Better breath restoring with high breath level when using canteen.
---------------------
r1956
Change order for ENEMY_TEAM or non-neutral CIV_TEAM only if soldier is under fire, not underground and not in a room or placed on roof.
---------------------
r1955
Roof vision bonus applies from roof to ground level only, giving more advantage to roof positions.
---------------------
r1954
Red AI: allow suppression more often when soldier is on roof and has prone sight cover.
---------------------
r1953
Doubled canteen effect for restoring breath (when not using food system).
---------------------
r1952
AI: Check if blowing up obstacle when flanking improves path cost.
---------------------
r1951
SwitchOffRadio: stop SOLDIER_COUNTER_LISTEN. Red, Black AI: radio operator wants jamming if player team is listening.
---------------------
r1950
New <ItemFlag>1073741824</ItemFlag> in Items.xml forces grenade to always use delayed explosion mode (only applicable for normal/stun/flashbang hand/gl grenades that don't have fExplodeOnImpact flag). For this type of grenade, delayed mode ...
---------------------
r1949
When using radio in listen mode, show remaining opponents on the overhead map, need 10 turns to show all opponents. Both enemy team and hostile civilians with civ group will be marked on the overhead map. Also, listen radio mode will show ...
---------------------
r1948
Allow small min level of BP regeneration for AI even if having no APs left.
---------------------
r1947
AI soldiers should not use energy when doing first aid. Correctly deduct APs from AI soldier for doing first aid when not crouched (so not staring first aid animation). DecideMedic, DecideMedicCombat: check if AI soldier can afford AP cost ...
---------------------

转载请注明转自: 《ja2_7609+AI 中文版 r2046

]]>
https://zww.me/ja2_7609ai-cn-r2046.z-turn/feed 3
开始重新学习玩儿时玩过的弹弓 https://zww.me/27028.zsay https://zww.me/27028.zsay#comments Sat, 06 Mar 2021 11:52:52 +0000 https://zww.me/27028.zsay 春节前想买支玩具枪给小孩玩,发现各大卖场除了软弹就只有皮筋玩具枪,觉得纳闷,以前的水弹枪呢?一搜才知道,又是熟悉的味道:

某地方有人用水弹枪打中了眼睛,说杀伤力太大,嗯~我先笑会……,然后不断放大,网上商城就都下架了

  • 石头扔过去也会,要不把石头都……
  • 沙子撒眼睛会瞎,要不把沙也……
  • 我一拳过去你不瞎则肿,要不……

人的问题总是变成物的问题,唉

完。

.

.

.

喜欢射击怎么办,目前比较好的选择好像就只有弹弓了,弹弓圈转了一圈,诶,还不错诶,现在弹弓瞄打也很准,虽然需要认真练。

于是刷刷买了一小坨弹弓:

这次买的弹弓工艺都不算高端那种,反正刚重新学,慢慢来。最容易上手是中间那个木柄的,但随着技术上升,左边比较重的感觉比较稳。

儿时玩的都是估打,而且是二三十年前的事了,哪里还会估打中?于是重新学瞄打,刚开始很不习惯,不过很快上手,先从3米学习姿势,很快就5米基本百发百中,现在开始练10米,可惜场地不方便,家里虽然能在客厅 + 饭厅有10米,实在是不方便啊,看来只能常回老家、登山时练习,平时就房间里面练练5米好了。

当然,练这个只是为了满足射击爱好,没事也就打打瓶瓶罐罐瓶盖打火机。其实打中的一刹那还是很爽的,因为真的是自己练出来,好弹弓能增加手感提高精准度。

小孩也有兴趣,有伴,爽啊,不然一个大叔在“荒郊野岭”孤独玩弹弓感觉很变态,看来得认识些本地弹弓友...

转载请注明转自: 《开始重新学习玩儿时玩过的弹弓

]]>
https://zww.me/27028.zsay/feed 40
ja2_7609+AI 中文版 r1942 https://zww.me/ja2-7609ai-cn-r1942.z-turn https://zww.me/ja2-7609ai-cn-r1942.z-turn#comments Sat, 20 Feb 2021 05:44:35 +0000 https://zww.me/?p=27017 详情《JA2 1.13 稳定版 AI 增强 MOD【中文版】》,直达百毒 Builds 目录(以后更新就不贴百毒地址了,免得需要改地址)。

(r3xx~r1437 的更新跟 TBS 一起消失了,在此叹下气)

部分 r1438~r1942 新特性视频(Y2B,自备木弟子)

r1594

Enemy can use wirecutters to cut path to closest enemy, also flanking soldiers can use wirecutters to cut fence if they cannot find next flanking spot.
EXTRA_ITEMS option adds small chance for enemy soldiers to have wirecutters, depending on soldier class and game difficulty.
Only attacking soldiers will use wirecutters, garrison soldiers will prefer to not destroy fortifications.

Limitations: currently soldier can cut fences only around him, he will not intentionally move to fence to cut it.

r1597

New option REPAIR_WIRE_FENCES (FALSE by default) allows repairing cut fences using wire cutters.
Works by assigning bPartnerDelta to cut fence structure information.

r1621

Building sandbags is possible with only shovel (only for dirt/grass surface).
Fortification is instant action now, uses AP_USEWIRECUTTERS cost.
Show hammer icon on merc portrait while doing fortification action.
Swapped red/gray fortification cursors to make them consistent with other action cursors.
Allow fortification actions in diagonal direction when action spot is directly near soldier.
Don't play COOL quote when doing fortification actions.
Fixed various fortification related bugs (AP costs, moving to build, cursor type etc).

r1714

Added new flag to AmmoTypes.xml: AMMO_AIRBURST = 16, which forces bullet to explode in the air once it reaches range to target or max weapon range.
Airburst ammotype requires explosionSize > 1, highExplosive > 1.
Explosion on the second level now can affect tiles on the first level, if there is no roof above them.
Implemented safety distance - grenade will only explode after traveling at least 5 tiles from shooter (unless it hits something before).
There is some randomization to distance - 33% chance for grenade to explode at each tile once it reaches (distance to target - 1) tiles.
Note: explosion fragments work incorrectly with airburst (actually, with any explosive ammo), so don't use them.

r1726

New option "Safe [D] button" in the ingame options allows to stop accidental endturns and also provides new functionality.

Now the player can cycle through mercs in a new way - when you press [D], the game will switch to next closest merc who still has APs, and mark current merc to not select him next time, after all mercs have been selected this way, the process starts again by clearing "selected" flag for all mercs and selecting closest merc. Unlike the [Space] button, all mercs in the sector can be selected this way, not just active squad.

This is how it looks in the game:

r1748
No rain sight penalty under roof.
Improved smoke/gas sight penalty.
Limited visibility in smoke to 1 tile.

r1846
AI soldiers can try to blow up known opponent from above or below using their TNT.

Experimental feature from Vengeance:Reloaded mod which I plan to also implement in +AI.

Vision bonus works only for selected area when spotting or focus skill is active.
Focus feature allows not only using vision bonus to scout area, but also provides bonus to interrupt in the focus area.
Both spotting and focus limit normal vision to 5 tiles around soldier.
AI uses standard watched locations where it can have vision bonus and interrupt bonus automatically.

r1921

You can now give "Move to" order to militia, to place them tactically before battle.
By default, soldier will be switched to FARPATROL/DEFENSIVE mode.
If you don't want militia to move from new spot, give it "Hold" order after arriving, it will switch soldier to STATIONARY.
Some limitations:
- works only in realtime
- if move spot is on different level, soldier will climb but not move further
- you can only order movement to roof if it was correctly defined in editor, some flat roofs cannot be used by AI as they don't have correct room number

r1935

New ingame option "Smart Tree Tops" allows to hide only trees that can block view for visible soldiers or cursor position.

r1438~r1942 log(E文不好懒翻译,有兴趣可以细看,不看就游戏中感受)

r1942
Improved militia command code.
---------------------
r1941
Smart tree top hiding: more optimization.
---------------------
r1940
Smart tree top hiding: code optimization.
---------------------
r1939
Set final destination for militia when giving "Move to" order to move between level, so it will move to desired spot after climbing. Switch militia to STATIONARY order when giving "Move to" order, so it will not walk away later.
---------------------
r1938
Only spawn legal random items (check food, dirt, sci-fi, tons of guns mode and inventory type). Minor code improvements.
---------------------
r1937
Added 0.1s delay to hide tree top when moving cursor to prevent flickering when moving mouse over trees.
---------------------
r1936
Improved Smart tree top feature.
---------------------
r1935
New ingame options: Smart tree tops.
---------------------
r1934
Fix: UI attack handling prioritised interactive structures over target soldiers even if target soldier was explicitly provided causing deadlocks e.g. when trying to punch enemy overlapped by a door (by anv)
---------------------
r1933
More bullets when shooting with autofire if - soldier is using machinegun and has cover - soldier is under psycho effect - rush attack prepare is active - soldier has spare magazine and has cover
---------------------
r1932
Red AI: more bullets for suppression fire when using LMG or if soldier has spare magazine (OCTH only). Increased chance for suppression fire for SEEKENEMY soldier.
---------------------
r1931
ReInitMergedItem: show item id, attachment id when doing assert.
---------------------
r1930
Fix: guiBaseJA2Clock overflow (by MH17).
---------------------
r1929
CalcMorale: don't limit morale if we outnumber. AnyCoverAtSpot: allow adjacent cover for opponents except closest opponent. AIEstimateCTH: added visibility penalty for spots out of sight.
---------------------
r1928
When changing stance from UI, first stop cowering. Stop cowering when merc starts to move. Increase delay to stop AI when in fast forward mode.
---------------------
r1927
Experimental tweak: don't switch movement to WALKING after water.
---------------------
r1926
Improved communication checks between soldiers: both have extended ear and sector is not jammed or they can see each other and not too far away. Don't stop cowering animation for player merc if he is unconscious. GetSquadleadersCountInVicin...
---------------------
r1925
CalcChanceHTH: only use reduced chance for boxers.
---------------------
r1924
NO_STANDING_ANIM_ADJUSTMENT_IN_COMBAT: only for player. AIDoctorFriend, AIDoctorSelf: first change soldier to stationary. AIDoctorFriend: change target to stationary.
---------------------
r1923
FindSunGogglesInInv: count item is sun goggles if it has day or bright vision bonus > 0. StartRadioAnimation: no animation if in water, invisible or incorrect bodytype. CalcChanceHTH: restored base chance for melee attacks to 67.
---------------------
r1922
Improved code to check if militia options are available. Start radio animation when giving orders to militia. Show locator when "Move to" order is successful, say curse quote if cannot find path. FindClosestClimbPointAvailableToAI: don't ch...
---------------------
r1921
New militia order: Move to (works in realtime only). Cancel current AI order when giving militia order. Don't allow selecting shaded options.
---------------------
r1920
GetItemSlots: use MAXITEMS + 1 as AttachmentSlots limit. Improved path AI code.
---------------------
r1919
CheckDangerousDirection: don't check sight.
---------------------
r1918
Use UINT16 for Item[] loops. PickARandomLaunchable: use 1 + progress / 10 to allow coolness 10 items.
---------------------
r1917
CountCorpses: use soldier's level to check corpse level.
---------------------
r1916
OCTH: reworked code to avoid lucky hits, increased MIN_AIMING_SCREWUP 22 -> 30. AI: don't use reverse movement mode when in water.
---------------------
r1915
EstimateThrowDamage: take into account <buddyitem> tag for single shot rocket launchers.
---------------------
r1914
Added DecideActionUtils file.
---------------------
r1913
Check corpses in a room when deciding to blow up wall or jump window. ClosestReachableDisturbance: decide to move to closest spot where we can blow up wall if opponent is in a room. CountCorpses: - return number of corpses instead of TRUE/...
---------------------
r1912
SightCoverAtSpot, AnyCoverAtSpot: don't check diagonal directions to improve performance.
---------------------
r1911
ClosestReachableDisturbance: speed optimization when searching for jump window - limit search distance.
---------------------
r1910
Path AI: disabled sight/cover checks to improve performance.
---------------------
r1909
AI medic: improved code for militia medics. CalcCoverValue: increase bonus to position which will make enemy turn to shoot. Don't reduce range factor for positions without cover is soldier has SEEKENEMY order. When calculating bonus/penalty...
---------------------
r1908
LBE tooltips: improved code. GetHearingBonus: when using listening skilll, need several turns to reach max hearing bonus. Create AI soldier: give TNT if demolitions trait assigned and EXTRA_ITEMS option enabled. ClosestReachableDisturbance:...
---------------------
r1907
Improved code for LBE tooltip. DecayRottingCorpseAIWarnings: keep min 1 value underground. Always allow suppression for not SEEKENEMY soldier if he can see opponent after turning.
---------------------
r1906
DecayRottingCorpseAIWarnings: improved code to check room and level.
---------------------
r1905
DecayRottingCorpseAIWarnings: keep min value 1 when in combat (only for rooms).
---------------------
r1904
Re-enabled improved LBE tooltips. Red AI suppression fire: less chance for SEEKENEMY.
---------------------
r1903
Disabled extended BR LBE tooltips. UpdateAttachmentTooltips: separated launchables loop. Speed optimization: gMAXATTACHMENTS_READ, gMAXLAUNCHABLES_READ.
---------------------
r1902
Speed optimization: implement gMAXITEMS_READ, gMAXAMMOTYPES_READ. InternalInitItemDescriptionBox: added code to reset incorrect ammo type. UpdateAttachmentTooltips: first check items in a separate loop, improved vector search code. GetItemS...
---------------------
r1901
Bobby Ray: show some additional stats for LBE (MOLLE space available/consumed, MOLLE slots, combat pack/backpack combos) (by rftr). Fixed some warnings.
---------------------
r1900
Stop Speck from spamming your email when multiple new mercs are available on the same day (by rftr).
---------------------
r1899
BeginSoldierJumpWindowAI: for AI, first inflict damage from jumping into closed window, then start jump. IsGivingAid: also check START_AID, START_AID_PRN to allow AI soldier to stop medic animation that just started. AI_ACTION_JUMP_WINDOW: ...
---------------------
r1898
ClosestReachableFriendInTrouble: disabled medic code. Improved medic AI for more consistency, check that healing spot is safe.
---------------------
r1897
AI: don't end turn after starting first aid in turnbased to make healing faster.
---------------------
r1896
Allow to start dragging if only second hand is busy. Reverse movement: limit to 1 tile for seek/cover.
---------------------
r1895
AI searching for items to pick up: - allow to pick up from the same spot even in dangerous situation - use correct item id if weapon is not in hand - take into account trait skills when deciding to pick up weapon - changed code to compare d...
---------------------
r1894
Assigning skill traits to AI: for SMG/Assault rifle, check that gun is autofire/burst capable.
---------------------
r1893
AI skill traits assignment tweaks: - use IC_PUNCH instead of 128 for melee weapons - assign MARTIAL_ARTS_NT for militia only if soldier has brass knuckles - chance to assign demolitions trait if soldier has TNT - assign throwing trait if so...
---------------------
r1892
Removed quick item panel feature. Tactical panel: minor code improvements.
---------------------
r1891
New AI function: CheckClosedWindow. ClosestReachableDisturbance: - improved TNT check - don't change bLevel if found TNT spot
---------------------
r1890
Added CheckWindow function - check window in direction.
---------------------
r1889
EXTRA_ITEMS: - changed default TNT item to C1 - search for explosive item if C1 is not correct explosive, require ubDamage > 40
---------------------
r1888
InitializeMultiplayerProfile: use std::unique instead of std::auto_ptr. Path AI: disabled path flanking to improve performance.
---------------------
r1887
UIHandleNewMerc: - check if can place new merc at mouse location - set arriving spot for merc
---------------------
r1886
New functions: RoomNo, SameRoom. BeginSoldierClimbWindow: deduct APs for jumping when teleporting soldier. Deduct APs when teleporting soldiers to/from roof. AI_ACTION_JUMP_WINDOW: - in turnbased, add random facing change after jump, if sol...
---------------------
r1885
Re-enabled light sprite when throwing flares, but no muzzle flash so no interrupt. Play grenade_breaklight.ogg / grenade_breaklight_delay.ogg for all flare grenades (disabled grenade_flare.ogg / grenade_flare_delay.ogg).
---------------------
r1884
Removed randomness from window jump decision. Removed unused defines: TRAVELCOST_JUMPABLEWINDOW, TRAVELCOST_JUMPABLEWINDOW_N, TRAVELCOST_JUMPABLEWINDOW_W.
---------------------
r1883
Zombie AI: allow jumping through window in Red, Black state if it allows to improve path cost to closest opponent (only if ZOMBIE_CAN_JUMP_WINDOWS = TRUE).
---------------------
r1882
Path AI: moved smart flanking higher in conditions. GetAPsToJumpThroughWindows: code cleanup. New function: BeginSoldierJumpWindowAI, similar to BeginSoldierClimbWindow but for AI. AI_ACTION_JUMP_WINDOW: set next action to AI_ACTION_END_TUR...
---------------------
r1881
CalcMorale: - reworked health/breath modifiers - penalty if friends flanking and soldier is in sage spot - combined attack hit/target collapsed/target suppressed in one check - bonus if weapon is out of range
---------------------
r1880
Only allow path flanking if complex AI allowed.
---------------------
r1879
FindAdvanceSpot: avoid moving into light at night if spot has no standing sight cover.
---------------------
r1878
Added code for AI path flanking (avoid approaching to enemy from direction with corpses).
---------------------
r1877
Renamed WKAEUP_FROM_SLEEP to WAKEUP_FROM_SLEEP. EVENT_SoldierBeginFirstAid: stop dragging. CancelDrag: initialize new animation to fix incorrect position.
---------------------
r1876
Radio Listening skill: - simplified code - don't turn off listening when soldier spends AP (to make it more useful for AI) - need to spend 1 turn listening to start showing noise locators - listening stops when soldier is suppressed (reacte...
---------------------
r1875
CancelDrag: change dragged soldier to stationary. OCTH: disabled additional effective sight based penalty for obstacles.
---------------------
r1874
AI: - limit some special actions to ENEMY_TEAM (use TNT, use wire cutters, smoke to cover position, blow up fences with grenade) - make AI want to use listen skill when in rain - allow black cover advance code for militia and civilians
---------------------
r1873
OCTH: increase minimum miss to prevent lucky shots with low CTH at distance.
---------------------
r1872
Main Red AI: allow taking cover in realtime at the start of the turn if soldier recently saw/heard enemy, with 30% chance. GetSightAdjustmentStealthAtLightLevel: linear scale from darkness level.
---------------------
r1871
GetSightAdjustmentCamouflageOnTerrain: scale camo with light level. LightTrueLevel: re-enabled full effect of shadows on light level at night.
---------------------
r1870
Long jump: - change to stationary stance before jumping (fixes problems with jumping from moving animation) - switch to standing animation before jumping if soldier is prone (allows to correctly jump from prone stance)
---------------------
r1869
New option NIGHT_SHADOWS (FALSE by default). NightBonusScale: full night vision bonus in darkness. OCTH: disabled aim time bonus for max CTH. LightTrueLevel: shadows have no effect on light level at night.
---------------------
r1868
Added basic requirements to start snitching (alive, conscious, not in transit etc).
---------------------
r1867
Fixed AI role icon display.
---------------------
r1866
Path AI: sniper should avoid spots without cover.
---------------------
r1865
EstimatePathCostToLocation: safety checks.
---------------------
r1864
Medic AI: prefer safe path with cover from opponents. CheckForChangingOrders: switch BRAVESOLO< BRAVEAID, AGGRESSIVE medic to CUNNINGAID. CalcMorale: limit AI morale for AI medics if there are friends nearby and no successful attack.
---------------------
r1863
WillExplosiveWeaponFail: play dry fire sound to indicate weapon fail. CheckForChangingOrders: switch medic to defensive attitude. AICheckSpecialRole: add medic to special AI role.
---------------------
r1862
DecideMedic: - limit self healing to the start of the turn - fixed bug with changing facing
---------------------
r1861
Reworked medic AI code. CanMedicAI: check merc bodytype. WillExplosiveWeaponFail checks: if explosive type is not normal, use mini grenade explosion. GetClosestWoundedSoldierID: skip friend in turnbased if he is not bleeding and not dying
---------------------
r1860
New icon for AI GL operator. Disabled flanking when underground, simplified start flanking code.
---------------------
r1859
New enemy AI role icon: GL launcher. New enemy additional icons: has key, has TNT.
---------------------
r1858
Main Red AI: - moved decision weight calculation to PrepareMainRedAIWeights - don't search for cover in realtime
---------------------
r1857
End muzzle flash and show message if it hasn't been ended correctly, when: - soldier spends AP - soldier moves at new tile - soldier begins new turn
---------------------
r1856
Reduce default MAX_MOVEMENT_PENALTY to 40. Set default DIRECTIONAL_PENALTY = FALSE. Disable default INSANE vision bonus. Disable muzzle flash when throwing items. Disable muzzle flash when throwing flare/molotov as it doesn't get removed co...
---------------------
r1855
Allow AI to mark INVISIBLE bomb as seen if it has LOS to it. Inventory choosing: reduce chance for AI to have TNT, make it dependent on difficulty level.
---------------------
r1854
CountKnownEnemies: allow to check level. AI_ACTION_PLANT_BOMB: reduced delay to 1-2 turns. Use TNT to blow up enemies nearby: reduced chance to plant bomb. Use TNT to blow up walls and fences: - only at the beginning of the turn - always a...
---------------------
r1853
AI_ACTION_PLANT_BOMB: set dropped bomb to INVISIBLE.
---------------------
r1852
Player mercs should avoid moving into gas/fire when in autobandage mode or under AI control.
---------------------
r1851
Reworked spot danger checks to use SpotDangerLevel. Removed CheckNPCDestination. SearchForItems: allow same spot for picking up items, regardless of danger level. Code cleanup and optimization.
---------------------
r1850
AI_ACTION_PLANT_BOMB: - randomize delay 1-3 turns - set trap difficulty as 6 + SoldierDifficulty
---------------------
r1849
IsLocationSittable: return FALSE if location on roof is not sittable.
---------------------
r1848
IsLocationSittableExcludingPeople: return FALSE if location on roof is not sittable. ClosestReachableDisturbance: when checking spot to plant bomb, check if location is sittable.
---------------------
r1847
CheckForEndOfBattle: disable AddPossiblePendingEnemiesToBattle() to prevent bug with enemy appearing in sector after the battle end.
---------------------
r1846
New AI function: CountKnownEnemies() CheckForChangingOrders: - switch special role from BRAVESOLO/BRAVEAID/AGGRESSIVE(except machinegunner) to CUNNINGSOLO/CUNNINGAID - set Commander/MortarOperator/RadioOperator to DEFENSIVE - switch SEEKENE...
---------------------
r1845
CheckForChangingOrders: - switch special AI role to defensive - switch SEEKENEMY/DEFENSIVE to CUNNINGSOLO to make attacking AI more aggressive
---------------------
r1844
Allow higher chance when spreading fire: use sqrt(1 + ubGeneration).
---------------------
r1843
OCTH: - limit max long range penalty to AIM_BONUS_SAME_TARGET - penalty for shooting beyond visual range, up to SHOOT_UNSEEN_PENALTY at double visual range - no penalty for assisted shot - when calculating max aiming bonus, use average from...
---------------------
r1842
AI: don't try to blow up cliffs.
---------------------
r1841
Red AI: allow chance to really hit = 1 when deciding suppression fire.
---------------------
r1840
AbortPath, AbortFinalSpot: added smoke check to light at night check, minor code improvements.
---------------------
r1839
AbortPath, AbortFinalSpot: simplified light at night check.
---------------------
r1838
Restored first aid code.
---------------------
r1837
Red, Black AI: more restrictive rush attack, less chance when high percent killed.
---------------------
r1836
Red, Black AI: allow soldiers to blow up walls/fences/obstacles when flanking or to improve path cost. AI_ACTION_PLANT_BOMB: added DROP_ITEM/CUTTING_FENCE and THROW_IMPACT_2 sound. CountCorpses: simplified code, always check visible. Decide...
---------------------
r1835
AI: improved code to cut wire fence. Inventory choosing: added chance to create TNT.
---------------------
r1834
New AI action: AI_ACTION_PLANT_BOMB.
---------------------
r1833
Main Red AI: fixed weight calculation.
---------------------
r1832
HandleItem: use current spot and direction for self healing to prevent endless clock.
---------------------
r1831
CalcBestShot: - improved shoot through walls check - disabled return fire code
---------------------
r1830
CalcCoverValue: - allow advance to zombie/bloodcat/melee opponent if beyond gun range - when checking for retreat, always check if new spot is in gun range - apply aggression booster only when iRangeFactor > 0
---------------------
r1829
Increased max distance for reverse movement mode to 2. Simplified reverse movement mode code. Reworked code to determine reverse movement mode.
---------------------
r1828
More first aid kits for AI, depending on difficulty and game progress.
---------------------
r1827
NWSS: play room effect for first shot only.
---------------------
r1824
AI inventory choosing: more variety for mortar shells, improved hand/GL grenade choosing code. Added AICheckWeOutnumberSector AI function. AICheckWeOutnumberPublic: always require 2x number.
---------------------
r1823
DetermineMovementMode: allow CRAWLING near fences when taking cover.
---------------------
r1822
Tweaked AI path penalties.
---------------------
r1821
Covert operations: when alert raised and team recently saw/heard any enemy, immediately uncover any spy, except cowering civilian spy.
---------------------
r1820
Simplified CorpseWarning code: always return highest number of nearby corpse AI warning.
---------------------
r1819
Simplified AI corpse warning code.
---------------------
r1818
CalcBestShot: penalize standing/crouched stance for heavy weapons. AI: reduced weapon holding BP cost for raising weapon to 30, allow to raise weapon when crouched or prone.
---------------------
r1817
Tweaked the GL grenade number bonus for AI equipment.
---------------------
r1816
More ammo for mortars and grenade launchers when choosing AI inventory.
---------------------
r1815
SightCoverAtSpot bug fix: when checking adjacent reachable tiles for unlimited sight, use new spot.
---------------------
r1814
AI: - improved mortar use code: use next action to fire mortar after stepping back - use AICheckSpecialRole
---------------------
r1813
Improved any cover check.
---------------------
r1812
Experimental AI tweak: take into account movement penalty for enemy when deciding best cover, only if soldier is under attack or used weapon this turn.
---------------------
r1811
SightCoverAtSpot: improved code to check structure density.
---------------------
r1810
Improved code for AI path tweaks. SightCoverAtSpot, AnyCoverAtSpot: simplified code. AbortPath: initialize sDangerousSpot, sLastSafeSpot. AbortFinalSpot: initialize sDangerousSpot.
---------------------
r1809
AI: - improved code for using flashlight to reveal enemy position - improved code for using smoke to cover movement
---------------------
r1808
Added FindFenceAroundSpot() function. StopTacticalOrderL initialize ubTacticalTurns with 0. Improved code for using smoke for cover when flanking.
---------------------
r1807
Non-neutral civs should also discover active bombs.
---------------------
r1806
Improved code to check bomb nearby. Using grenade for special purpose: not during interrupt, check SoldierAI.
---------------------
r1805
AI: - only zombies, creatures, bloodcats, unarmed soldiers and neutral soldiers ignore empty vehicles - ignore empty vehicle if there is reachable regular opponent - prefer regular opponent over empty vehicle when deciding shoot or throw - ...
---------------------
r1804
HandleSight: also set bomb visibility.
---------------------
r1803
NCTH: when calculating movement offset, apply min aperture depending on distance.
---------------------
r1802
Don't check valid spot when starting to spot/watch. Increased chance for soldier to have wire cutters. SumDistanceToKnownEnemiesInRoom: fixed code. CheckTossGrenadeSpecial: - fixed code to find number of adjacent tiles of destructible obsta...
---------------------
r1801
Improved code for watching/spotting.
---------------------
r1800
VR r2698 fix: snitch assignments were not properly taking mercs out of vehicles
---------------------
r1799
Improved muzzle flash code for grenades. CommonEnterCombatModeCode: fixed DebugAI code.
---------------------
r1798
Increased AP cost to use radio set.
---------------------
r1797
RedSmokeDanger: set min terrain density to consider spot safe to 75.
---------------------
r1796
Improved r8460 fix: also check for incorrect ammo item. Red AI: fixed cautious move spot check.
---------------------
r1795
Red AI: Improved cautious move check.
---------------------
r1794
Set min 1 tile for distance when applying sight adjustment if original sight distance > 0.
---------------------
r1793
GetSightAdjustment: use max from camo/stealth penalty. AICheckSpecialRole: added GL role.
---------------------
r1792
Enable muzzle flash for flare/molotov.
---------------------
r1791
Experimental fix: stop muzzle flash in InternalReduceAttackBusyCount at the end of the attack instead of UIHandleLAEndLockOurTurn. Don't show muzzle flash when unjamming weapon. UseHandToHand: no bonus to strength when using taser. OCTH: pe...
---------------------
r1790
Main Red AI: improved code for watching modifiers.
---------------------
r1789
InLightAtNight: - simplified code - always check light in a room
---------------------
r1788
Reduce light for destroyed tank after 60 minutes. Check destroyed tanks more often. Correctly show muzzle flash when shooting. OCTH: weapon penalty starts from max(NORMAL_RANGE, max_weapon_range / 3).
---------------------
r1787
Reduce light radius for destroyed tank after DELAY_UNTIL_ROTTING.
---------------------
r1786
Added light for destroyed tanks. Changed message color for drop/pick up backpack to yellow.
---------------------
r1785
CalcBestShot: fixed bug with checking LMG when suppressing. Main Red AI: helping does not prevent seeking. FindFlankingSpot: - set search range to TACTICAL_RANGE / 4 - don't limit AP search budget - changed edge check to NorthSpot
---------------------
r1784
HandleArmedObjectImpact: fixed bug. Artillery strike code uses INT32 for gridno.
---------------------
r1783
Reduce bonus from laser in day light. WatchedLocLocationIsEmpty: - improved code to check if new gridno is out of bounds - use knowledge functions - don't ignore collapsed/cowering OCTH: - start weapon penalty from NORMAL_RANGE - minor co...
---------------------
r1782
Always make tank/vehicle corpses visible. Use wire cutters to cut fence: fixed bug. allow buddy explosion for flares (use for sound and animation).
---------------------
r1781
Use non-linear law when determining stat improvement speed.
---------------------
r1780
Improved code to slow down stat improving speed with high stat value/high delta. AI_ACTION_RED_ALERT: taunt only when raising alert for the first time. HandleInitialRedAlert: improved code to set alerted status for QUEEN and JOE.
---------------------
r1779
Fixed breaking AI deadlock code.
---------------------
r1778
Max darkness in shadows halves night vision bonus instead of completely removing it. NCTH, OCTH: improved code to determine target visibility. Improved code to break AI deadlock when ESC key pressed.
---------------------
r1777
DistanceVisible: don't allow returning negative value. CheckForEndOfBattle: re-enabled check to see if more enemy soldiers exist in the strategic layer. OCTH: no aiming if sight is blocked completely.
---------------------
r1776
Update sight when manipulating inventory. Improved code to start watching/spotting. DistanceVisible: - vision penalty should apply to all directions - apply cowering penalty even if soldier has no tunnel vision CanSpot: improved code to ch...
---------------------
r1775
Increment watched location when soldier hears enemy: check sight with raised weapon. CalcMorale: make only hostile civilians more aggressive. AbortPath: use SafeSpot check for last safe spot.
---------------------
r1774
Uncover military spy on sight in combat situation.
---------------------
r1773
When alert is raised, uncover any spy on close look, except cowering civilian spy. Don't reduce suspicion level if any alerted enemy recently saw/heard this spy.
---------------------
r1772
ClosestReachableFriendInTrouble: less restricting max distance check in turnbased.
---------------------
r1771
AICheckSpotTooFar: - FALSE if high percent of soldiers was killed - allow max range if soldier heard enemy recently
---------------------
r1770
Don't allow soldiers to spawn at top north spots.
---------------------
r1769
CalcManThreatValue: - take into account 100AP/25AP system - use ShockLevelPercent instead of bShock - use cube level 1 when checking CTGT
---------------------
r1768
CalcBestShot: - allow blind suppression fire for all teams except MILITIA_TEAM - improved LOS checks to take into account weapon raising - allow machinegunner to suppress any target - allow shooting through walls if high percent killed - al...
---------------------
r1767
Disable LOS caching.
---------------------
r1766
Renamed LOS functions.
---------------------
r1765
Increased temp string sizes. Code formatting.
---------------------
r1764
Reverted old/new F1..F10 selection method. Mercs don't die instantly option: increased damage to health below OKLIFE. Increased damage to health below OKLIFE for robots and zombies.
---------------------
r1763
DEFEAT_MODE option: fixed max value 4. PlayerStrength: improved code, also count covert soldiers. EnemyStrength: improved code. HandleMoraleEvent: fixed MORALE_RAN_AWAY, no penalty if soldier has covert trait and is in covert mode. CheckFor...
---------------------
r1762
New option DEFEAT_MODE: - 0: default, any lost battle is considered defeat - 1: if found alerted opponent in sector - 2: if at least one of retreating mercs is not covert - 3: if at least one merc was killed in battle - 4: if all mercs were...
---------------------
r1761
SightCoverAtSpot: improved enemy sight code. Code formatting.
---------------------
r1760
Also take into account MILITIA_TEAM aware status when retreating/losing battle.
---------------------
r1759
Apply morale/reputation penalty when retreating from sector/losing battle: also if CIV_TEAM was alerted. Also log defeat when losing battle if CIV_TEAM was alerted. Only play MUSIC_TACTICAL_DEATH when battle is lost if ENEMY_TEAM or CIV_YEA...
---------------------
r1758
CalcChanceToHitGun, CalcNewChanceToHitGun: improved code to determine target visibility.
---------------------
r1757
CalcCounterForceAccuracy, CalcChanceToHitGun, CalcNewChanceToHitGun code optimization: check SEEN_CURRENTLY knowledge before checking LOS.
---------------------
r1756
CalcBestShot: initialize bAimShotLocation = AIM_SHOT_RANDOM. Suppression fire: if low CTGT at current bAimShotLocation/bTargetCubeLevel, try to shoot higher to avoid hitting cover.
---------------------
r1755
Tactical panel: changed "suppressed" string to "under fire". NCTH, OCTH: don't count target as unseen if player merc is aiming at visible soldier.
---------------------
r1754
CalcMorale: improved code to limit AI morale from morale/shock level.
---------------------
r1753
[F] key: show first line with ORANGE font to better distinguish information. Code cleanup, removed unused code. CalcChanceToHitGun: fixed gun condition related bug in max weapon aim calculation. CalcMorale: allow MORALE_HOPELESS when under ...
---------------------
r1752
OCTH: - changed close range, long range to be based on TACTICAL range instead of DAY_VISION_RANGE - re-enabled long range reduction for directional movement penalty - re-enabled long range reduction for animation movement penalty
---------------------
r1751
AICheckWeOutnumberPublic: changed distance to TACTICAL_RANGE.
---------------------
r1750
AdjustMaxSightRangeForEnvEffects: no bonus from lightning for tiles under roof. CheckForGunJam: allow rain penalty when on the second level.
---------------------
r1749
CheckForGunJam: apply rain penalty only if there is no roof above.
---------------------
r1748
LineOfSightTest: improved smoke visibility test.
---------------------
r1747
CalcCoverValue: - allow STATIONARY soldiers advance when moving into cover or on the roof (except moving to the edge of the roof). - only allow retreat if morale is worse than MORALE_CONFIDENT CalcMorale: - only limit morale category from ...
---------------------
r1746
GetItemAimBonus: reverted code to square law from 0 to full at minrangeforaimbonus.
---------------------
r1745
GetItemAimBonus: - zero bonus if range < minrangeforaimbonus - full bonus if range >= 2 * minrangeforaimbonus - linearly scale bonus from minrangeforaimbonus to 2 * minrangeforaimbonus OCTH: - improved max weapon aiming bonus calculation -...
---------------------
r1744
GetMoraleModifier: use bMorale for AI instead of bAIMorale.
---------------------
r1743
CalcBestThrow: - reverted MAX_TOSS_SEARCH_DIST to 1 - increase search range to 2 if complex AI is allowed - don't increase search range for gas grenades
---------------------
r1742
Increased MAX_TOSS_SEARCH_DIST to 2. CalcBestThrow: - don't even check opponents too far for a throw - changed max distance to consider damage to opponent to max(3, ubSafetyMargin / 2)
---------------------
r1741
CalcBestThrow: fixed bug ending throw search if one if the checked spots was too far for throw.
---------------------
r1740
CheckTossGrenadeAt, CheckTossAt: avoid offscreen tiles as they may cause bugs when attacked.
---------------------
r1739
CalcBestThrow, GetBestAoEGridNo: exclude offscreen tiles as they may cause bugs when attacked.
---------------------
r1738
Don't allow artillery/mortar attacks to hit offscreen spots, to prevent bug with incorrect object trajectory or game crash.
---------------------
r1737
OCTH: reduce penalty for target hiding crouched/prone behind obstacle, if shooter is on roof and target is on floor level.
---------------------
r1736
Show message when AI radio operator uses radio.
---------------------
r1735
Civilian spy: only covert LBE allows to hide restricted items on close look.
---------------------
r1734
Add smoke after explosion: only on visible world tile. RandomGridFromRadius: improved code.
---------------------
r1733
Reverted M_PI to PI.
---------------------
r1732
ArtilleryStrike: supply GetArtilleryLaunchParams with launcher item and not just mortar shell, as it will check it's range later. RandomGridFromRadius: new code, avoid selecting spot not on visible world tile. GetArtilleryLaunchParams: adde...
---------------------
r1731
Updated names and tooltips for ingame options.
---------------------
r1730
Use Alt+Arrow to switch to closest merc in direction. Use Alt+D to switch to next unused merc. If "Smart selection" option is enabled, show next smart selected with light gray name, show next unused with light gray name if Alt is pressed. U...
---------------------
r1729
Added new ingame option: "Smart merc selection", which allows to use [D] button to quickly switch to closest merc. This option requires "Safe [D] button" option to be active. If "Show inactive mercs" option is also selected, the name of the...
---------------------
r1728
FindNextSmartSelectMerc: improved code to allow also checking considered mercs. Ctrl+Shift+D - disable interrupts for this merc until the end of this turn. Ctrl+D - end turn in turnbased. Ctrl+D - start turnbased when in realtime mode.
---------------------
r1727
OCTH: - increased base weapon aiming bonus to 40 - added gun status/condition to OCTH tooltip
---------------------
r1726
Updated tooltip and description for Safe [D] option.
---------------------
r1725
When safe [D] button option activated: - [D] switches to next closest merc who haven't been considered yet, if all mercs have been considered, it clears flag for all mercs and starts again - [Ctrl]+[D] ends turn (without disabling interrupt...
---------------------
r1724
Increase min duration for signal smoke to prevent it from disappearing before the artillery strike starts.
---------------------
r1723
New ingame option "Safe [D} button": disabled [D] button in combat. Localized strings for disabling interrupts until the end of turn. Improved Russian translation.
---------------------
r1722
GetBestAoEGridNo: improved code to store excluded tiles.
---------------------
r1721
Artillery strike: - count opponents seen/heard 2 turns ago - use full RADIO_OPERATOR_MORTAR_RADIUS when checking for friends/opponents - min rating to allow artillery strike depends on difficulty level
---------------------
r1720
OCTH tooltip: added effective marksmanship, morale bonus and fatigue penalty.
---------------------
r1719
OCTH: compensating stability penalty requires high experience level and high effective dexterity.
---------------------
r1718
OCTH: - show animation/directional penalty in one line as the game uses only max value - start base weapon range penalty (1% per tile) from NORMAL_RANGE * 2 - use square low when calculating base stability penalty - fixed close range penalt...
---------------------
r1717
Disqualify boxer if any player merc throws/drops something on the ring after the boxing started.
---------------------
r1716
Hopefully improved AI code: don't try to resume movement after ActionDone was executed. Limited AI reverse movement to 1 tile. Added more AI debug information.
---------------------
r1715
Don't add burn marks from jump grenades. Disable smoke creation for explosions on level = 1 without roof. Make smaller smoke from explosion for jumping grenades.
---------------------
r1714
Airburst: - improved code - changed chance to explode at each tile starting from distance - 1 tiles to 33% - always explode after reaching distance + 1 tiles
---------------------
r1713
Airburst feature: - added safety distance - grenade will only explode after traveling at least 5 tiles from shooter (unless it hits something before) - added some randomization to distance, there's a 50% chance for grenade to explode at eac...
---------------------
r1712
Added new flag to AmmoTypes.Xml: AMMO_AIRBURST = 16, which forces bullet to explode in the air once reached range to target or max weapon range. Airburst ammotype requires explosionSize > 1, highExplosive > 1. Explosion on the second level ...
---------------------
r1711
CalcBestThrow: - use correct known opponent's level when calculating CTH with rocket launcher - need higher CTH and CTGT (at least 80%) to decide to attack opponent in a room (or from a room) with hand grenade or grenade launcher, also appl...
---------------------
r1710
CalcCoverValue: - improved sight check - optimized code - lowered penalty from no cover when advancing
---------------------
r1709
CalcCoverValue: - don't allow advancing for soldiers with STATIONARY order - don't allow advancing when in a room except when advancing to room tile with cover or to a roof tile not on the edge
---------------------
r1708
EDB: minor code improvements.
---------------------
r1707
Improved EDB code: do not show AimLevels, PercentTargetTrackingSpeed and PercentDropCompensation when using OCTH.
---------------------
r1706
Improved OCTH tooltip code.
---------------------
r1705
Slightly changed OCTH tooltip order.
---------------------
r1704
Use bExpLevel instead of EffectiveExpLevel for AI calculations to speed up code execution a bit.
---------------------
r1703
OCTH: - modify max weapon aim by gun's status - modify max shooter aim by soldier's breath level - code optimization
---------------------
r1702
OCTH tooltip: added chance before applying weapon limit.
---------------------
r1701
Improved OCTH tooltip. Improved code for max weapon aim.
---------------------
r1700
OCTH: improved code for max weapon aim bonus.
---------------------
r1699
OCTH: max aim bonus = min (max weapon aim, max shooter aim).
---------------------
r1698
Update sight when doing item transformation.
---------------------
r1697
Improved disarming code.
---------------------
r1696
Added more OCTH info to OCTH tooltip (EXT_TOOLTIP_CTH option). Scope uses square law to modify sight range, depending on aim: no modification with no aim, normal modification with 4 aim clicks, square modification with 8 aim clicks.
---------------------
r1695
Interface: check GetAimBonus with GetMinRangeForAimBonus as distance, to get full aim bonus. GetItemAimBonus: - provide full aim bonus at distance > minrangeforaimbonus - scale aim bonus with square low at distance < minrangeforaimbonus OCT...
---------------------
r1694
Covert: - instead of damaging vest, mark this uniform type as compromised, so next time this spy will be seen in the same uniform he will be uncovered - when spy is uncovered, play "inform about" taunt - updated covert related strings
---------------------
r1693
Only apply CTH penalty to AI soldier if he can have skills to compensate.
---------------------
r1692
Do not uncover civilian spy at close distance when alert is raised if spy is cowering.
---------------------
r1691
Mark soldier as doing suspicious action, if: - he is heard making any type of attack - if someone is suppressed by his attack - if someone is taking damage, and attacker was recently seen/heard by soldier being hit
---------------------
r1690
CheckForEndOfBattle: clear enemy kill counter when battle is finished.
---------------------
r1689
Covert: - uncover military spy on sight if observing soldier is alerted - uncover civilian spy at close range if observing soldier is alerted
---------------------
r1688
OCTH: improved penalty for shooting at close range with long range weapons.
---------------------
r1687
Unified code to check if soldier should use civilian AI. SoldierAI: exclude civilians.
---------------------
r1686
Improved AI RPG use: - check for friendly fire chance when using rocket launcher - set min chance to hit 80% when deciding to use rocket launcher, except tanks or when shooting at tank - changed min chance to hit to use launcher/RPG so that...
---------------------
r1685
Test if civilian carries clothes only on close look.
---------------------
r1684
AI: - improved civilian AI behavior (cower/stop cower/run away in battle) - allow using grenade launcher underground as it uses low trajectory and can hit targets up to 200m
---------------------
r1683
OCTH: 10% penalty at max weapon range.
---------------------
r1682
OCTH: - shooting pistol one handed: penalty 5% - shooting SMG one handed: penalty 10% - shooting dual handed: penalty DUAL_SHOT_CTH_PENALTY which can be reduced with ambidextrous trait by PENALTY_TO_SHOOT_DOUBLE_GUNS_REDUCTION value
---------------------
r1681
CanDragInPrinciple: one of the hands should be free and should not carry two handed weapon in main hand.
---------------------
r1680
VR r2621 fix: freeze when ending turn with the squad list open and inventory auto-collapse enabled (by anv)
---------------------
r1679
Only show "suppression fire" message if target soldier cannot be seen after turning. CTGT(): fix bug with restoring original spot. CheckSuppressionDirection: improved code. Black AI: allow prefer bullets over aim when using NCTH, add chance...
---------------------
r1678
Limit suppression fire if SUPPRESSION_EFFECTIVENESS < 100.
---------------------
r1677
Added AI CTGT functions: - from soldier to soldier - from soldier to soldier with specified location, level and animation state - from soldier to location - from soldier to location with specified location, level and animation state
---------------------
r1676
When initializing cover cache (start/refresh/cancel AI, begin new turn), also stop/clear individual LOS cache.
---------------------
r1675
When ALT key is pressed, show [F1]..[F10] together with merc's name to indicate the key to quick select this merc. With default selection method, F1..F10 selects merc, with old selection method, just locates. Fixed incorrect spelling. Warni...
---------------------
r1674
CanSeeEnemyAtSpot, CanSeeProneEnemyAtSpot: use unified function with stance argument. SightCoverNearSpot, ProneSightCoverNearSpot: use unified function with stance argument. SightCoverAtSpot, ProneSightCoverAtSpot, CrouchedSightCoverAtSpot:...
---------------------
r1673
CanSeeEnemyAtSpot, CanSeeProneEnemyAtSpot: improved LOS check to take into account sight bonuses/penalties. SightCoverAtSpot, ProneSightCoverAtSpot, CrouchedSightCoverAtSpot: LOS check to take into account sight bonuses/penalties.
---------------------
r1672
AddNoiseAtRandomSightCoverSpot: - doubled max search range if complex AI allowed - reset gubNPCAPBudget, gubNPCDistLimit when path searching is finished
---------------------
r1671
Allow complex AI: improved code, removed unnecessary gfTurnBasedAI check. Black AI: try to use regular grenade for special purpose if soldier cannot attack or has low CTH.
---------------------
r1670
FindNearestUngassedLand, FindNearbyDarkerSpot: - optimization: don't check spots already checked in previous loop - increase max distance to 35, reduce to 25 if complex AI not allowed, reduce to 15 in realtime
---------------------
r1669
Raise suspicion for covert: for seen/heard this turn, check if spy can be seen by soldier (if he turns).
---------------------
r1668
Fixed critical bug in LOS function.
---------------------
r1667
For AI, replace SoldierToSoldierLineOfSightTest, SoldierTo3DLocationLineOfSightTest, SoldierToVirtualSoldierLineOfSightTest and LocationToLocationLineOfSightTest with LOS functions. Fixed incorrect AI LOS checks. CanDragPerson: use world mo...
---------------------
r1666
Added new LOS functions: location to location (uses stance instead of LOS_POS), soldier to soldier (with option to force weapon ready). ClosestReachableDisturbance: check all opponents when in combat situation (if soldier is under fire or s...
---------------------
r1665
Say TAUNT_RELOAD, TAUNT_OUT_OF_AMMO taunts if mag size > 4 or Chance (CHANCE_SAY_ANNOYING_PHRASE).
---------------------
r1664
Red, Black AI: - possibly update knowledge before any other actions. - added more debug information
---------------------
r1663
TellPlayerAboutNoise fix: one direction was not checked when using Extended Ear. DecayPublicOpplist: apply HEARD_3_TURNS_AGO tweak only for valid opponents. TeamSeesGridNo: only check friends that are not too far from GridNo or look in it's...
---------------------
r1662
New AI function LOS: check line of sight from soldier to soldier using specified position/level/stance. Removed SoldierAtGridNoToSoldierLineOfSightTest function. Reverted r8112 fix: for tanks use default LOS pos. Minor code improvements, wa...
---------------------
r1661
Code cleanup, formatting.
---------------------
r1660
Red, Black AI: don't start retreat/rush attack if another tactical order is active.
---------------------
r1659
Play USE_WIRE_CUTTERS sound when repairing wire fence. Play Sounds\Misc\Fortification1.ogg .. FortificationN.ogg sound when doing fortification action.
---------------------
r1658
Red, Black AI: stop retreating if current spot is safe. Black AI: start retreating only if morale < MORLE_CONFIDENT. SpotDangerLevel: also check Water and CorpseWarning for danger level = 1.
---------------------
r1657
Use tactical order code for rush attacks and retreats. Minor code improvements and warnings fixes.
---------------------
r1656
Use SOLDIER_DOING_FORTIFICATION flag instead of usMultiTurnAction to show fortification icon on merc's portrait. Renamed bOverTurnAPS to sTacticalUnused. Renamed sMTActionGridNo to iTacticalUnused. Renamed usMultiTurnAction to ubTacticalTur...
---------------------
r1655
Moved flanking flag SOLDIER_EXTRA_FLANKING from usSoldierFlagMask to TACTICAL_FLAG_EXTRA_FLANKING in flags.ubTacticalFlags.
---------------------
r1654
Red AI: don't start flanking if another tactical order is active. Change type of ubTacticalFlags to UINT8.
---------------------
r1653
Minor code improvements.
---------------------
r1652
Reworked flanking code to use bTacticalOrder.
---------------------
r1651
SOLDIERTYPE: renamed bRTPCombat to bSuppressionShock.
---------------------
r1650
Removed OLDSOLDIERTYPE_101 class.
---------------------
r1649
Added enum for tactical order types. SOLDIERTYPE: formatting, added comments.
---------------------
r1648
Flanking: minor code cleanup.
---------------------
r1647
Removed SNIPER order. Disabled options: AI_SNIPER_RESTRICT_TO_ELITE, AI_SNIPER_MIN_RANGE, AI_SNIPER_CHANCE, AI_SNIPER_CHANCE_WITH_SR.
---------------------
r1646
ManSeesMan: also call SetNewSituation if opponent's level is different.
---------------------
r1645
ManSeesMan: only call SetNewSituation if location is different to reduce frequency of AI re-evaluation.
---------------------
r1644
Red, Black AI; improved code to reserve APs to go prone/hide after shooting. Only allow radio animation on initial red alert
---------------------
r1643
Improved code for militia/enemy artillery strike, added small chance for smoke shells on low progress.
---------------------
r1642
HandleSight: check if soldier can see hidden corpse and make it visible (only for player team or militia team, if WE_SEE_WHAT_MILITIA_SEES_AND_VICE_VERSA = TRUE). Skill Menu: check if can drag corpse before adding it to menu. Added support ...
---------------------
r1641
Press ESC to close skills menu. Press ESC to stop dragging. Minor code improvements.
---------------------
r1640
Only load StructureMove.xml file if it exists, to allow compatibility with stock 1.13 and mods.
---------------------
r1639
r8870 Improved feature: structures can be dragged. Which ones is defined in a new xml (by Flugente)
---------------------
r1638
When assigning bNextAction, also clear usNextActionData if not used. When switching to bNextAction, clear iNextActionSpecialData since we don't need it anymore.
---------------------
r1637
CancelAIAction: clear next action data. TurnBasedHandleNPCAI, RTHandleAI: clear next action data before making decisions.
---------------------
r1636
Don't show "no clothes item in xml" to allow using new camo palette without defining all new clothes in XML Fixed compiler warnings.
---------------------
r1635
Minor code cleanup.
---------------------
r1634
Lua: minor code improvements.
---------------------
r1633
Fix compiler warnings.
---------------------
r1632
Check full item size (with attachments) when trying to put item into gun sling.
---------------------
r1631
PopupAttachmentInfo class: added missing initializations in constructor. DragSelection class: added missing initialization in constructor. GenerateRandomEquipment: fixed alcohol item check. Fixed some warnings.
---------------------
r1630
BuildString class: added missing assignment operator. MERCPROFILEGEAR class: added missing copy constructor. WORLDITEM class: added missing copy constructor. CheckForGunJam: fixed min/max reliability limits. Fixed some warnings.
---------------------
r1629
ClosestReachableDisturbance: - don't skip opponents if knowledge on last found opponent is HEARD_3_TURNS_AGO - only check noise locations if soldier haven't seen opponents recently and closest disturbance is not reachable or noise is closer...
---------------------
r1628
CalcBestShot: - check max aim only of complex AI not allowed or if solder is sniper/marksman and not in close combat. - sniper/marksman prefer shot with max CTH instead of best hit rate - prone soldier prefers max CTH instead of best hit r...
---------------------
r1627
Allow building sandbags with shovel on any terrain where filled sandbag can be placed. Improved code for building fortifications with shovel.
---------------------
r1626
Allow creating fortification with shovel if there is full sandbag in inventory. When creating fortification with shovel, first use full sandbags from inventory, them use empty sandbags.
---------------------
r1625
Making fortification with shovel requires empty sandbag in inventory, which get used in the process. Removing fortification creates filled sandbag on the ground. EXTRA_ITEMS option: add shovel and empty sandbags to some of enemy soldiers.
---------------------
r1624
Disabled retrieving sandbag item when removing fortification.
---------------------
r1623
Red, Black AI: allow using wire cutter for garrison soldier if rush attack active.
---------------------
r1622
Don't play USE_WIRE_CUTTERS sound for fortification actions. Play PICKING_SOMETHING_UP sound when finishing fortification action. Fix problem with entering certain sectors.
---------------------
r1621
Don't play COOL quote when doing fortification actions.
---------------------
r1620
Allow fortification actions in diagonal direction when action spot is directly near soldier.
---------------------
r1619
Improved fortification code, fixed various fortification related bugs. Soldier can use shovel to build fortification without sandbags, only on grass/dirt surface.
---------------------
r1618
Uncover spy if dragging someone.
---------------------
r1617
Repair fences: - use AP_USEWIRECUTTERS for AP cost - correctly calculate AP when soldier needs turning to start repairing fence - disable repair cursor when soldier is prone
---------------------
r1616
Disabled multi turn actions, all fortification actions are instant and use wire cutter code. Fortification actions cost AP_USEWIRECUTTERS. Fixed AP calculation for wire cutter and fortification cursor when soldier needs to turn first. Show ...
---------------------
r1615
ClosestReachableDisturbance: fixed bug with using stored closest reachable opponent. Improved code to repair structures. Improved code to store original structure for structures that can be swapped (use tile database instead of checking the...
---------------------
r1614
Use toolkit to repair wire fences instead of wire cutters. Using toolkit to repair wire fences takes 5-15 status points.
---------------------
r1613
Soldier structure: use InitializeExtraData() to initialize all added extra data that is not saved. ClosestReachableDisturbance: in realtime, check only closest opponent if Slow PC options is enabled.
---------------------
r1612
ClosestReachableDisturbance, ClosestReachableFriendInTrouble: improved code, store found friend/opponent in the first loop if successfully passed all checks.
---------------------
r1611
ClosestReachableDisturbance, ClosestReachableFriendInTrouble: always check stored friend/opponent first, then check other soldiers.
---------------------
r1610
ClosestReachableDisturbance, ClosestReachableFriendInTrouble: improved AI optimization code.
---------------------
r1609
AI speed optimization: lower max search range when searching for items in realtime or if complex AI not allowed
---------------------
r1608
AI speed optimization: - remember last reachable opponent (for 1-5 turns), ignore other opponents except closest known, if complex AI not allowed - when complex AI not allowed, ignore opponent if farther away than closest reachable - rememb...
---------------------
r1607
Allow breaking AI with ESC key after 1 second.
---------------------
r1606
Suspicion counter: bonus if opponent previously saw this spy uncovered.
---------------------
r1605
Improved gbSeenOpponents code, use special value for uncovered opponents.
---------------------
r1604
Improved check for gbSeenOpponents[]
---------------------
r1603
Improved code for unintended hits: reduce chance to hit enemy with distance.
---------------------
r1602
NCTH: limit max deviation only when shooting at visible target.
---------------------
r1601
DamageSoldierFromBlast: - improved check for various types of explosives - heavy weapons skill provides DAMAGE_TO_TANKS_PERCENT_BONUS against tanks only when using rocket launcher - heavy weapons skill provides HW_DAMAGE_PERCENT_BONUS when...
---------------------
r1600
Red, Black AI: allow longer autofire for tanks fore better suppression.
---------------------
r1599
Fixed SOLDIER_TAKEN_LARGE_HIT, SOLDIER_TAKEN_HIT flags for vehicles/tanks.
---------------------
r1598
EXTRA_ITEMS option fix: chance to give wire cutters to elite/regular soldiers.
---------------------
r1597
Enabled REPAIR_WIRE_FENCES option.
---------------------
r1596
New option REPAIR_WIRE_FENCES (FALSE by default) allows repairing cut fences using wire cutters.
---------------------
r1595
Red AI: - improved code for cutting fence for flanking - added NewOKDestination check when finding spot to shorten path
---------------------
r1594
EXTRA_ITEMS option: added chance to equip soldier with wirecutters. Red, Black AI: - soldier can try to cut fence when flanking if he cannot find next flanking spot - soldier can cut fence with wirecutters if it allows him to shorten path ...
---------------------
r1593
Red AI: - radio operator may decide to jam frequencies if team is attacking and there are radio activated bombs in sector and RADIO_OPERATOR_JAMMING_BLOCKSRADIOBOMBS = TRUE - radio operator may decide to use listening mode if RADIO_OPERATOR...
---------------------
r1592
Increased penalty for boxers for tiles with blood and marbles. New AI action: AI_ACTION_HANDLE_ITEM.
---------------------
r1591
Medic AI: added code to drag wounded friend into safe place.
---------------------
r1590
New AI action: AI_ACTION_CANCEL_DRAG. IsActionAffordable: added support for missing AI actions. AI: - stop dragging before deciding anything - use IsActionAffordable() check for AI_ACTION_DRINK_CANTEEN and AI_ACTION_USE_DRUG
---------------------
r1589
BecomeSpotter: only show messages for player team. Red, Black AI: medic can use smoke grenade to cover himself and wounded friend before starting healing. Added more debug info to medic/first aid AI.
---------------------
r1588
Re-enabled using radio for calling artillery or reinforcements during player interrupt. If player is ordering artillery strike during interrupt, 1 wait turn is added.
---------------------
r1587
Enemy role icon: use color code to indicate radio operator status - red for jamming, blue for listening, purple for scanning.
---------------------
r1586
AI_ACTION_USE_SKILLL improved code, check is usActionData is defined, default ubID = NOBODY New AI functions: TeamHasJammingRadioOperator, TeamCanOrderArtilleryStrike. CalcBestThrow: team needs radio operator with active scanning to determi...
---------------------
r1585
Red AI shooting code: optimization for big battles.
---------------------
r1584
Red AI: allow shooting code at least once every turn and every time soldier moves at new tile.
---------------------
r1583
Fixed critical bug in FindNearbyDarkerSpot()
---------------------
r1582
Reload when in safe situation: - chance 25% - check safe spot
---------------------
r1581
Red AI: try to reload gun when in peaceful situation and have less than 1/2 of magazine.
---------------------
r1580
Red AI: - removed second CheckIfShotPossible() call - only use reloading before suppression fire if weapon is autofire capable and can swap clips
---------------------
r1579
AI: - fixed CanNPCAttack check - when trying to step back to deploy mortar, check if we can reach the spot and have enough APs - use reverse movement when trying to step back to deploy mortar
---------------------
r1578
Improved r8658: check weapon magazine size and chance to say phrase when using gun.
---------------------
r1577
Re-enabled r8658: If a gun has a magazine size < 5, the 'out of ammo' soundfile is only displayed with a chance of CHANCE_SAY_ANNOYING_PHRASE. This should make using guns with tiny magazine sizes less annoying. (by Flugente)
---------------------
r1576
AI Artillery strike (for militia team and enemy team): - try to find first mortar shell item instead of using hardcoded id = 140 - at low progress level, use tear gas shells to make artillery strikes less devastating - at high progress leve...
---------------------
r1575
Red AI: - reload before suppression fire less often in dangerous situation, also check AP_MINIMUM to allow reloading before suppression fire check - use CanNPCAttack() check only for sniper and suppression fire
---------------------
r1574
GetBestAoEGridNo: - check valid opponent - use general Knowledge and location functions - allow SEEN_THIS_TURN and HEARD_THIS_TURN knowledge
---------------------
r1573
CanUseSkill: cannot use artillery and reinforcements skills during interrupt. IsJamming, IsScanning: don't turn off radio as these functions can be used by AI. New AI function: TeamHasListeningRadioOperator() TeamHasScanningRadioOperator us...
---------------------
r1572
Added small chance for enemy soldiers to carry signal smoke grenade. AI soldiers can attack with red smoke grenade if there is artillery strike active or to scare opponents. AI will not use red smoke grenades underground and will not throw ...
---------------------
r1571
Improved code for first time sector description (moved message code to HandleTacticalEndTurn).
---------------------
r1570
Improved first time sector description: only show when there is selected active merc.
---------------------
r1569
New tags in SectorNames.xml: <szFirstTimeDescription>, <szFirstTimeDescription1>, <szFirstTimeDescription2>, <szFirstTimeDescription3> - show sector description message when entering sector for the first time, 1..3 are used for underground ...
---------------------
r1568
HandleGotoNewGridNo: use standard grenades (smoke grenade, tear gas grenade, mustard gas grenade, molotov) if possible to determine damage to soldier moving through tile. If grenade is not found, first search for hand grenade of needed type...
---------------------
r1567
ADD_SMOKE_AFTER_EXPLOSION option: use first found smoke hand grenade if SMOKE_GRENADE is incorrect item.
---------------------
r1566
Improved code for AI to search for grenades of various types.
---------------------
r1565
Boxers: PUNCH_APS_REDUCTION reduces APs for attack when using <BrassKnuckles> item. Don't allow ninja kick animation if using punch weapon.
---------------------
r1564
DetermineMovementMode: improved reverse mode check (don't change stance, use WALKING instead of RUNNING).
---------------------
r1563
AI: when deciding using reverse movement mode, check if current spot or movement spot can be seen or attacked by enemy, or if soldier is under attack or there is fresh corpse nearby.
---------------------
r1562
SoldierGotHitExplosion: lowered explosion power requirement for flyback animation to 40
---------------------
r1561
Re-enabled roof collapse animation.
---------------------
r1560
FindAmmoToReload: added assert messages to indicate that searching attached weapon failed. DecideAction: initialize bWeaponMode = WM_NORMAL to prevent FindAmmoToReload from crashing. AI reverse movement: check that reverse movement is possi...
---------------------
r1559
Experimental feature: use alt movement mode when moving for 1-2 tiles backwards or sideways. DetermineMovementMode: replace RUNNING with WALKING when using reverse movement mode. Red AI: - alt movement mode for retreat - alt movement mode w...
---------------------
r1558
Improved suppression calculation on the edge of the roof: allow check from tile not on a roof to tile on flat roof.
---------------------
r1557
Improved suppression calculation on the edge of the roof.
---------------------
r1556
Use full suppression when target is on the edge of the roof. OCTH: only allow min cth 1% when not aiming at head and not shooting beyond weapon range.
---------------------
r1555
Suppression: restored 1/3 chance for buckshot.
---------------------
r1554
Suppression: - removed 1/3 chance for buckshot - improved calculation for damage reduction for buckshot - removed pMapElement->ubAdjacentSoldierCnt > 0 check since ubAdjacentSoldierCnt seems to not work correctly - improved calculation of n...
---------------------
r1553
CalcBestShot: improved hit rate calculation, take into account possible options INCREASE_AIMING_COSTS, FIRST_AIM_READY_COST_DIVISOR. OCTH: sniper with sniper rifle halves SHOT_HEAD_PENALTY, marksman with sniper rifle, rifle or assault rifle...
---------------------
r1552
CalcBestThrow: - improved AI code to avoid hitting friends with grenades - correctly set usGrenade for mortar attacks CheckTossGrenadeSpecial: fixed incorrect fragments range calculation.
---------------------
r1551
Added a nullpointer check to a DDraw call, gets rid of one FIXME. (by Asdow)
---------------------
r1550
ProcessStatChange: lowering skill progress chance from stat delta cannot make it lower than 1.
---------------------
r1549
VR r2559 fix: climbing related AI deadlocks (by anv)
---------------------
r1548
r8881: Changed the way the STI file for CTH indicator is loaded to prevent the game from constantly loading and unloading the graphics file from the disk every time the function gets called. Now it's only done once per the lifetime of the g...
---------------------
r1547
Women get badguy battlesound sets 6-8.
---------------------
r1546
Use more battlesounds for female bodytypes.
---------------------
r1545
r8863 (by Fugente): - Fix: assignment not displayed consistently in personnel page - Fix: bizarre function
---------------------
r1544
r8868 fix (by silversurfer): - when USE_XML_SQUADNAMES was TRUE, the squad box was shifted upwards over the column headers, causing clipping issues - when READ_PROFILE_DATA_FROM_XML was TRUE, the game would still read profile data from prof...
---------------------
r1543
r8871 fix: animation loops until new order given (by Flugente)
---------------------
r1542
r2479 fix: NPC go to grid script properly interrupts cowering (by anv) CalcBestSHot: only try to suppress alive and conscious human targets. DecideActionRed: disable stealth and reverse movement mode earlier.
---------------------
r1541
r8875 Fix: Re-enabled the condition check for mercs to enter tactical screen from map screen. Someone removed it, which made it possible to enter tactical with no mercs in the sector. (by silversurfer)
---------------------
r1540
CalcBestShot: fixed bug for stance change check.
---------------------
r1539
Improved friendly fire AI code.
---------------------
r1538
r8869 fix: nullpointer access (by Flugente)
---------------------
r1537
r8841 fix: when failing to apply a gasmask to another soldier, the message still states success (by Flugente) r8839 Don't check whether an explosion damaging a room pisses of civilians if there is no room to begin with (by Flugente) r8835 f...
---------------------
r1536
r8843 (by Flugente) - Fix: wrong face displayed on insurance website - Chg: no insurance payout on suspicious deaths (no enemy presence during merc death, or merc died from friendly fire)
---------------------
r1535
r8846 fix: mercs staffing a facility for global propaganda cause mine income to drop to 0% (by Flugente)
---------------------
r1534
r8855 fix: dragging soldiers is frequently canceled (by Flugente) CalcMorale: improved code.
---------------------
r1533
r8816 Fix: crash after heli landing in UB (by Asdow) Fix: unnecessary town initialization in UB (by Asdow)
---------------------
r1532
NCTH: tweak distance based first shot aiming penalty. OCTH: tweak increase max distance based first shot penalty.
---------------------
r1531
Fix: compiler warnings
---------------------
r1530
r8813: minor code cleanup (by sun_alf)
---------------------
r1529
r8812: Minor code cleanup. Critical gun fail: show explosion animation if bVisible == -1
---------------------
r1528
Bigmaps lockbusting fix: removed incorrect type cast (by Franimus). Don't show names of inactive mercs if cursor is on target (to prevent names appearing when using ALT+scroll for setting burst length).
---------------------
r1527
Do not show extended status for inactive mercs when multi selection enabled.
---------------------
r1526
Lowered chance for unintended hits. Show names of inactive mercs using dark gray color when ALT pressed or new ingame option TOPTION_ALWAYS_SHOW_INACTIVE enabled. Show extended status for inactive mercs: sniper, spotter, dragging, dragged, ...
---------------------
r1525
New tag <shotAnimation> in AmmoTypes.xml allows defining custom shot animation. r8115 fix: negative values for ExplosionSoundID or AltExplosionSoundID in ExplosionData.xml cause a game crash, even though negative values are intended (by Flu...
---------------------
r1524
Enemy health color: show adrenaline and rush attack using same color.
---------------------
r1523
Spreading fire: - do not spread fire on roof - ignore rain if in building under roof
---------------------
r1522
Complex AO: - only for ENEMY_TEAM - reduced max combatants to 40 - only in turnbased mode
---------------------
r1521
Added small chance for critical gun jam if weapon is in bad status (but not overheated).
---------------------
r1520
Smoke effect for gun shots: - requires ammoflag 8 - only for merc bodytypes - only for guns
---------------------
r1519
Added small chance for weapon to critically fail when jamming while highly overheated.
---------------------
r1518
AI: - sniper/marksman can use wisdom drug to improve CTH - sniper/marksman can use vision drug if under attack and cannot see enemy
---------------------
r1517
AI soldiers will use drugs sometimes if available. Play sound when drinking alcohol (Sounds\Misc\Alcohol1.ogg, Alcohol2.ogg, ...) EXTRA_ITEMS: add chance for enemy to have various drugs.
---------------------
r1516
Show drunk status for enemy soldiers using health text color.
---------------------
r1515
AI: drink from canteen if low on breath. ApplyCanteen: display no AP message only for player mercs. EXTRA_ITEMS: Randomly add canteen to AI.
---------------------
r1514
AI: improved retreat code.
---------------------
r1513
Suppression: - lowered AP to react when prone - only cower when reached cowering shock level - deduct AP when prone and react - unready weapon if prone and react
---------------------
r1512
Rush attack start: add adrenaline effect.
---------------------
r1511
Increased MAXATTACHMENTS to 60000 for Aimnas to work. Minor code improvements and warnings fixes. Project update.
---------------------
r1510
GenerateProsString, GenerateConsString: don't use overheating for gun descriptions. GetHelpTextForItem: use GetGunAccuracy. DrawItemUIBarEx: use GetGunOverheatDisplayPercentage to draw gun temperature. GetGunAccuracy: - start lowering accur...
---------------------
r1509
Path AI tweaks.
---------------------
r1508
Allow complex AI calculations only when there are no more than 64 combatants in sector. Allow small chance of unintended hit for prone/cowering persons. AICheckWeOutnumberPublic: change to friends >= enemies + 5. AICheckWeOutnumber: additio...
---------------------
r1507
HourlyLarryUpdate: - initialize usTemptation for every soldier - all facility types including AMBIENT can trigger addictions
---------------------
r1506
Improved code to update scope mode when changing stance. CalcBestShot: allow shooting HeavyGun in standing stance if not twohanded or alt weapon holding is disabled. GetBPCostPer10APsForGunHolding: also check twohanded and standing stance ...
---------------------
r1505
VR r2370: fixed hourly alcohol/drug update - drug items were being used up without applying drug effects, preventing Larry profile swap and background related drunkenness (by anv)
---------------------
r1504
Improved code for unintended hits.
---------------------
r1503
NCTH: modify effective suppression range depending on weapon recoil. HearNoise: don't randomize noise location if opponent is seen publicly. CalcBestShot: limit return fire code to this turn, consider only previous attacker.
---------------------
r1502
Switch from alt weapon holding when changing stance in realtime. NCTH: limit effective suppression distance when shooting in alt weapon holding mode.
---------------------
r1501
NCTH: - limit max shown cursor aperture - limit max bullet deviation, depending on weapon range - limit ground shots
---------------------
r1500
Structure damage: improved code.
---------------------
r1499
DamageStructure: fix possible division by zero.
---------------------
r1498
Improved code to create fire on grass from tracers.
---------------------
r1497
Guns can damage structures: - mostly light structures (wood, light metal) can be damaged - chance is higher when using AP ammo - chance is higher when using high power ammo - when using tracer ammo, there's a small chance to create fire whe...
---------------------
r1496
Travel time improvements: - negative backgrounds work for foot travel - for foot travel, use lowest value - for vehicle/air travel, use highest value - no bonus for ranger when flying in helicopter
---------------------
r1495
When tracer bullet hits ground, theres a chance that fire will be created if there is grass on this tile. Spreading fire code: - check that Molotov (item 979) is fire explosive item. - removed light creation as it's now handled in SpreadEf...
---------------------
r1494
UIHandleNewBadMerc: - randomly create admin, regular or elite - create soldier at interface level Slip on blood: improved code. VaporizeCorpse: spread blood only if fExplode = true. RemoveBlood: correctly remove blood on specified level. Up...
---------------------
r1493
CalcBestThrow: - use smoke launchable if not found non smoke - limit safety margin to DAY_VISION_RANGE / 2
---------------------
r1492
Added r7783, r7788 (by silversurfer).
---------------------
r1491
Restored AI decision delay when recruiting new troops, less AI waiting on higher levels.
---------------------
r1490
Interrogate prisoner: don't change reinforcement pool when unlimited reinforcements enabled. EvaluateQueenSituation: - allow recruiting when pool size drops below QUEEN_POOL_INCREMENT_PER_DIFFICULTY_LEVEL, this should result in more stable ...
---------------------
r1489
VR r2348 fix - loading .jpc.7z with a single image would cause exception as file was not considered open (by anv) Show tooltips for all soldiers. Allow tooltips for bloodcats, bugs, tanks and robots in debug mode.
---------------------
r1488
Halved chance to slip on blood.
---------------------
r1487
Update soldier morale when changing inventory.
---------------------
r1486
NWSS: - new tag in AmmoStrings.xml: <NWSSCaliber> - new tags in Weapons.xml: <ubNWSSCase>, <ubNWSSLast>, <szNWSSSound>
---------------------
r1485
Hotkeys for quick transformations: Shift+O - transform scope Shift+L - transform flashlight Shifr+Y - transform laser
---------------------
r1484
Only allow opportunity attack when boxing is active and boxer is in RED/BLACK status.
---------------------
r1483
Black AI: improved code for sidearm using. CalcBestShot: always check if can shoot at target seen by another soldier.
---------------------
r1481
Don't allow chain reaction for items on the ground with ubVolatility = 0. Lowered chain reaction bonus chance for items on the ground.
---------------------
r1480
[F] key should correctly show CTH for different types of attacks: - gun - launcher - grenade - thrown knife - punch - toss item
---------------------
r1479
Stab/Steal/Punch attacks: reduce defender rating if defender is blind or cannot see attacker after turning (only for human bodytypes).
---------------------
r1478
Scale tactical ambients and sector steady ambients with general effects volume. Minor code improvements.
---------------------
r1477
First decay light effects and then decay smoke effects, because fire can create light. Dynamic creation of light effects for fire and signal smoke. Fixed/improved code to decay light effects so that ubDuration works correctly. Note: <ubRadi...
---------------------
r1476
New tag in CivGroupNames.xml: CustomSide, allows to set custom side for civilian group using tag Side.
---------------------
r1475
Red AI: when soldier is being bandaged, turn to closest known threat, crouch if not crouched and wait.
---------------------
r1474
Do not show icons on big portraits.
---------------------
r1473
No cowering effect in water.
---------------------
r1472
Combined all standard interrupt checks into one function CanInterrupt(). Reset SOLDIER_TAKEN_LARGE_HIT flag at the end of each turn. Tank uses smoke grenade for cover if he is under attack, has health < max health - 20 and haven't seen enem...
---------------------
r1471
When shooting at swimming soldier, allow aiming at head and torso. Zombie AI: - CalcMorale() - set default aiming location as AIM_SHOT_RANDOM
---------------------
r1470
More zombie raise sounds. More water splash sounds.
---------------------
r1469
Localized messages for item moving assignment. ClosestReachableDisturbance: - zombies do not attack vehicles - improved code to prefer not dying enemies
---------------------
r1468
TurnSoldierIntoCorpse: fixed damage to items dropped by MILITIA_TEAM. GetCorpseAtGridNo: check if sBaseGridNo is out of bounds. ClosestReachableDisturbanceClosestKnownOpponent, ClosestKnownOpponentID: boxers should not ignore dying opponent...
---------------------
r1467
Improved noise volume bonus when dragging something. Improved dragging sound: any number of sounds supported.
---------------------
r1466
Fixed translation bug.
---------------------
r1465
Improved dragging sound. Fixed grenade pin sound for signal smoke.
---------------------
r1464
Mercs can drag corpses and people (by Flugente). Play sound when dragging something. Mercs always make movement noise when dragging. Movement noise is louder if soldier is dragging something. Disabled showing trait distance when selecting s...
---------------------
r1463
r8482 fix: boxing exception to covert behaviour only works between 2 boxers (by Flugente) Minor AI code improvements.
---------------------
r1462
CheckNPCDestination: improved code. FindBestPath: allow SEEKENEMY to move into deep water. UIPlotPath: disabled code to ignore person at destination to fix endless clock when moving to invisible opponent. ClosestReachableDisturbance: when i...
---------------------
r1461
Improved CheckNPCDestination check - compare danger levels.
---------------------
r1460
Added CheckNPCDestination function for common checks for: - gas - deep water - light at night - north spot - door nearby - explosive structure nearby - bomb nearby - red smoke danger
---------------------
r1459
HandleFlashLights: use HandleSight for soldier only if he is not dying.
---------------------
r1458
RandomFriendWithin: more checks for target spot, improved code. RandDestWithinRange: more checks for target spot, improved code.
---------------------
r1457
LegalNPCDestination: only avoid locations near doors in green mode. Improved AI location searching routines, added LegalNPCDestination checks. FindFlankingSpot: removed edge of the map check.
---------------------
r1456
Added random chance to create fire when explosion damages burnable object (grass, cloth, furniture). Randomized chance to spread fire. Don't add light effects when spreading fire on roof.
---------------------
r1455
Fixed Russian translation. Increased volume for water splash sound.
---------------------
r1454
Only normal, stun and flashbang explosives create water explosion. Increase max force when throwing items into water (because of no bouncing). Play sound when item hits water.
---------------------
r1453
Removed DEBUG_ATTACKBUSY define from debug version. Added TOPIC_GAME to registered topics. StructureHit: check water level. OBJECT_DETONATE_ON_IMPACT(): check fExplodeOnImpact only for explosives.
---------------------
r1452
InternalDoMercBattleSound: don't try to play sound if file not exists.
---------------------
r1451
Fixed LOS bug introduced in r1204.
---------------------
r1450
Disabled warnings for missing options TAUNT_VOICE and TAUNT_VOICE_SHOW_INFO. Improved creation of smoke and lights effects after explosion. Add light effect when signal smoke is created.
---------------------
r1449
FindTossSpotInDirection: also check one tile farther to throw smoke grenade. Improved Russian translation.
---------------------
r1448
New option TAUNT_VOICE (FALSE by default): if true, will play sound file instead of showing text. New option TAUNT_VOICE_SHOW_INFO (FALSE by default): if true, will show debug info when playing voice taunt. TAUNT_INFORM_ABOUT: check that op...
---------------------
r1447
Doubled canteen drink effect for restoring breath.
---------------------
r1446
SSA: fixed ambient in tropical sectors.
---------------------
r1445
New option in game settings: "Slow PC" disables complex AI calculations to speed up enemy turn. AnyCoverAtSpot: fixed cover cache code. GetItemVisionRangeBonus, GetItemPercentTunnelVision, GetItemHearingRangeBonus: improved code.
---------------------
r1444
Updated tooltip for toggling artificial merc light.
---------------------
r1443
Disable interrupt if soldier was suppressed this turn. Penalty to watch decision if soldier cannot interrupt. Penalize seek/help if target too far: - only when in town or underground - only if number of known opponents is less than 10 - 2 *...
---------------------
r1442
Fix deadlock when executing AI_ACTION_STOP_COWERING for soldiers.
---------------------
r1441
AI: improved AI_ACTION_STOP_COWERING.
---------------------
r1440
StandardInterruptConditionsMet: allow interrupt if not cowering CalcInterruptDuelPts: penalty if soldier was suppressed this turn, penalty if soldier taken large hit CalcMorale: - also make civilians more aggressive - limit AI morale if no ...
---------------------
r1439
When giving AI boxer dusters, make them undroppable.
---------------------
r1438
Reworked taser code: - take into account taser status - randomize breath damage 50-150% - head attack +50% breath loss, legs attack -50% breath loss - apply bodybuilder resistance for taser attacks
---------------------

 

转载请注明转自: 《ja2_7609+AI 中文版 r1942

]]>
https://zww.me/ja2-7609ai-cn-r1942.z-turn/feed 3
JA2 1.13 稳定版 AI 增强 MOD【中文版】 https://zww.me/ja2-1-13-stable-7609ai.z-turn https://zww.me/ja2-1-13-stable-7609ai.z-turn#comments Sat, 20 Feb 2021 05:17:25 +0000 https://zww.me/?p=27009 前言

由于不可抗拒的可以甩桌甩凳的可笑原因,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

(懒得翻译)

转载请注明转自: 《JA2 1.13 稳定版 AI 增强 MOD【中文版】

]]>
https://zww.me/ja2-1-13-stable-7609ai.z-turn/feed 5
天下无不散的宴席:再见,TBS https://zww.me/27006.zsay https://zww.me/27006.zsay#comments Thu, 04 Feb 2021 16:13:50 +0000 https://zww.me/27006.zsay 在这只有R挡、可笑的环境下,TBS 还是迎来了“关闭”的决定。和我一样慢慢变老的菠萝语出了感慨和无奈:

当年,本应是三十而立的我就迎来了失业,回老家后无所事事,奶粉钱都只能靠仅存的丁点储蓄维持的我只能终日混在早在 2000 初就喜欢的 ja2 论坛 TBS,“自告奋勇”开始折腾铁友们自发的、无偿的 ja2 1.13 汉化技术方面的工作,铁友们的汉化热情还有玩家们的氛围让我开始逐渐恢复了信心,以此为契机让我开始接触 WordPress,也因此转行成功……

各种感概竟在不言中……

现在这网络氛围,脑里只能想出两个字+一个标点符号来对应:无语……

各位铁友们,以后就带着三条竖杠一起开开心心地背古文吧

转载请注明转自: 《天下无不散的宴席:再见,TBS

]]>
https://zww.me/27006.zsay/feed 13
伸手懒党遇到软路由重燃折腾心到犯低级错误 https://zww.me/zturn-soft-router-and-stupid-mistake.z-turn https://zww.me/zturn-soft-router-and-stupid-mistake.z-turn#comments Wed, 27 Jan 2021 07:26:01 +0000 https://zww.me/?p=26974 不知什么时候折腾心被生活、工作磨没了,什么东西都想伸手得到,但又没那个经济实力……

最近本来是想买台新的 MikroTik 无线路由器替换老 MikroTik 无线路由器,MikroTik 路由器实在是太稳定了,用了差不多 6 年了因为现在无法跑满 500Mbps 电信带宽才发现不行了。

老路由:

欲换路由 2 选 1:

在麦田圈聊着选择型号时被老博友 Dick Wu 和 Derek 安利了软路由。

其实自己一直也想买台软路由,碍于价格偏高和懒得折腾,所以想、懒、钱一直在斗争,这次既然都要出钱了,那么……

在听了双 D 建议,退了已下单的 MikroTik 新路由,买了台性能一般的 N37410 CPU 的软路由,买的是准系统,自己另外配了 4G + 60G,对于我来说就够了,主要是这特殊年头下价格可接受(谁不想买 i7 呢?)。

长这样的:

想着偷懒不折腾,配置资料什么的都从 DW 获取,没想到后面遇到很多坑,都感觉不好意思了,毕竟 DW 也是 996 “受害者”……

通常现实生活就是这样,你越想偷懒越多问题等着你,于是我遇到了《今日趣事》提到的软路由安装 ESXi 各种不顺……

终于我那“无折腾不铁血”精神又觉醒了……

在解决了 ESXi 后的第二天,我停掉了手头工作,打算给一天时间来折腾软路由,我就不信搞你不定!一开始想着就一个 OpenWrt 好了(你看,伸手懒党后遗症),但是遇到了些莫名其妙的问题,期间不断“骚扰” DW……

由于老是不顺,折腾心高涨,气死老大叔了,干脆就折腾本来想折腾的双路由,我还是喜欢用 Router OS,干脆就搞 ROS + OpenWrt 双路由好了:ROS 作为主路由,OpenWrt 做旁路由。以此实现 ROS 负责健康上网,OpenWrt 负责健康又科学的上网。

搞了半天,OpenWrt 上面的最重要套件怎么都安装不上,直接把 LUCI 界面搞坏了,好像是版本不对,重复安装、替换各种版本后,才发现最初那个版本的 OpenWrt 本身就自带了——开始犯低级错误了……

到晚饭前终于配置好了,PC 端已经能实现了最初的要求,家里安卓手机也没有问题。到了晚上,才发觉一个问题,就是我的 12 老是提示无法连到 Internet,看了下 WIFI 参数,网关和 DNS 变成 192.168.1.1(ROS、OpenWrt 的网关和 DNS 都不是这个),好像只有苹果设备才会这样。开始找问题原因,找了很久都没找到问题所在,然后又开始“骚扰”还在被 996 虐的 DW,讨论过程中 DW 得出了正确结论:网络有另一个 DHCP 服务……

我不断排查网络设备,直到深夜 2 点没找到,然后只能洗洗睡了,毕竟现在已经到了不能熬夜的年龄段了……

梦中一直在寻求问题出在哪里……

早上被一个想法惊醒:为何不用 ROS 来找出局域网内的错误 DHCP 服务器?立马起床刷牙吃早餐……

在 ROS 设置好局域网内的错误 DHCP 服务器报警,看 log 立即有 1 条 192.168.1.1 的 DHCP 服务 alert,查看 MAC 地址,不是家里路由器、手机、电视、扫地机、智能音箱的,我是不是漏了什么?

喝杯茶先……

“光猫”?脑里突然想到了一个平时想不到的设备,立即检查网线……

噗~ -_-|||

哈哈哈哈哈哈哈哈哈,先笑自己一下……

光猫的网线接到交换机上了……

继续检查,发现 ROS 的 WAN 也接到交换机上了

哈哈哈哈哈哈哈哈哈,继续笑自己一下……

然后把光猫线接到 ROS 的 WAN 口,想着终于解决了!

噗~ ROS 无法拨号……

额头流下了 3 滴竖杠汉~

难道…… ROS 的 WAN 端口配置有错?

进 ESXi 后台,查看虚拟机 ROS 的网络适配器配置……

哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈,疯狂笑自己一下……

原来是把 LAN 和 WAN 的网口都设为同一个 VM Network 了……

终于折腾好了……好累(2 点睡 7 点多就惊醒了)

开始工作前给了条自己犯了低级错误的 QQ 信息给 DW,想让他笑一下自己,好感谢他这几天的无私耐心解答,结果只给我 3 个无语点点点

----

由于环境非常恶劣,已经到了很多不可理喻甚至可笑的地步,就不写具体折腾的资料和步骤,有兴趣给软路由安装 ESXi 和搞双路由上网的可以参考下面的链接:

  • vSphere/ESXI 6.0 服务器U盘安装详细教程(6.7 版本一样)
    注意点1:如果遇到了 menu.c32,一定要按照文中解决,不然就和我一样无法安装成功)
    注意点2:如果遇到启动时停留在“Shutting down firmware services… Relocating modules and starting up the kernel…”,搜一下这些英文关键字即可搜到解决方案。
  • ROS + OpenWrt 双路由:视频1 + 视频2(视频说明有需要的固件)
    注意点1:ROS 的网络适配器端口要设对,还有光猫网线连接对
    注意点2:视频打不开是你的问题

 

 

 

转载请注明转自: 《伸手懒党遇到软路由重燃折腾心到犯低级错误

]]>
https://zww.me/zturn-soft-router-and-stupid-mistake.z-turn/feed 18
今日趣事 https://zww.me/26972.zsay https://zww.me/26972.zsay#comments Sun, 24 Jan 2021 19:27:33 +0000 https://zww.me/26972.zsay 早上发现 Gen8 服务器里面有个盘符不见了???

盘符对应硬盘是希捷 3 T,心头一紧!?!

用 DiskGenius 一看,能看到硬盘,窃喜!

细看参数,3.9……………………………………………………G 容量,冷汗大冒!~~~~~

难道是网上一直流传的希捷突然暴毙情况,一番搜索,99.999999999999%是,哭~

这硬盘里面是重要资料,大哭!!!

为何不是动作片盘啊!我摔~

本来8月份入了新盘,通常都是入了新盘就迁移重要数据进去,但最近忙着忘了迁移数据到新盘,作孽啊

各方请教,结论:硬盘里面硬件损坏,要么电路板要么磁头磁阻闪电路什么东东之类……只能开盘修理后恢复数据……

好吧,花钱寄广州开盘拿数据吧……唉

----

既然遇到这么有趣的事,那我今天就不工作了,折腾下前几天买的软路由(昨天收到还没开箱)让自己高兴高兴,啦啦啦,我是卖报的小行家,一起折腾一起欢……

提供下载 ESXi 的网站 500 了…… 我OOXX

过了好久恢复,下载回来,翻箱倒柜找 U 盘(这货好久没用了)……

制作 ESXi 安装盘,不管是 rufus、UltraISO、WinImage、diskimager 都给我颜色看,后来才发现是火绒影响了,哇咔咔咔,果然,混成不折腾星人后无限接近菜鸟……

U 盘搞好了,插入软路由 USB 口,点亮,来啦…………

…………

…………

…………

一直没安装界面,然后提示:

Shutting down firmware services…

Relocating modules and starting up the kernel…

唉,网上找找说输入一个命令解决,然后就没有然后了,直接进入了 U 盘里面的 ESXi 管理界面,根本就没真正安装……

……

曾经无折腾不铁血的我被生活压成不折腾星人后那脆弱的心受到了严重的打击!!!

话说网上各个 ESXi 安装教程,怎么步骤都缺斤少两的,哪里像我当年写的 WordPress 教程连只知道 WP 是 Win Phone 的 WP(WordPress)新手都能照着折腾好……

累了,还是先休息吧...

转载请注明转自: 《今日趣事

]]>
https://zww.me/26972.zsay/feed 21