Welcome Guest ( Log In | Register )

欢迎访问本站。游客仅能浏览首页新闻、版块主题、维基条目与资源信息,需登录后方可获得内容发布、话题讨论、维基编辑与资源下载等权限。若无账号请先完成注册流程。
 
Reply to this topicStart new topic
> domwiki上的部分机制内容
dfc103
2021-03-19, 12:18
Post #1


特珞祭司
Group Icon
 300
   19

Group: Avatar
Posts: 1061
Joined: 2006-08-07
Member No.: 8604


domwiki上的Loggy通过研究游戏代码得到了一些机制方面的内容,先复制过来,有空时翻译。

https://illwiki.com/dom5/user/loggy/afflictions

Afflictions and Healing

Looks like there is a defined (and unintuitive) order to healing afflictions.

There's some other stuff that seems to prevent units being healed but I don't know what that is about.

Battle fright, 50%
Feeblemind, 25%
Dementia, 50% heal rate, only healed if unit is not feebleminded as well
Disease, 50%
Crippled, 25%
Blind, 25%, only if lost head not also suffered
One lost eye, 50%, only if lost head not also suffered
Weakness, 50%
Mute, 25%, only if unknown lost head not also suffered
Lost head, 20%
Lost weapon/bodypart (affliction 16), 25%
One lost arm, 25%
One lost eye, 50%, another chance
Chest wound, 50%
Limp, 50%
Never healing wound, 10%

Gaining Afflictions when Damaged

Calculate (damage done*1000)/unit's max hp. Call this Value 1 and keep it for later.
Calc value 2: Multiply value 1 by the value of unknown unit effect 0x12d (I have no idea what this does). Then divide this by 100.
Final affliction value: Add 1 and 2 together
If cursed, add 150 to this sum
If active regen percentage is greater than 5, the value instead becomes (value * 100)/(regen percentage * 20)
Get affliction resistance. If liquid body is active, add 1 to this.
If (100/(affliction res + 1)) < random 0-99, set the value to 5.
If the final value is 5 or less, set it to 5.
First random roll: if the final value is not greater than a random number 0-999, do nothing. Otherwise, you get some kind of affliction (of which there are two different applying functions I don't yet know the difference between)

Practically, this means that regen reduces affliction chance to (500/regen %) percent.

战伤与回复
战伤的回复
在游戏中,战伤的回复遵循一个给定(但是并不直观)的顺序。
此外,还有一些影响战伤回复的隐藏因素,但现在仍不明确。
战伤治疗的概率:怯战50%,脑残25%,痴呆50%(仅当单位没有脑残时才能治愈),疾病50%,瘸腿25%,失明25%(不能失去头部),失去一只眼睛50%(不能失去头部),虚弱50%,沉默50%(不能失去头部),失去头部20%,丢失武器/护甲(战伤16)25%,失去一只胳膊25%,失去一只眼睛50%(另一次判定),胸伤50%,跛足50%,永不愈合的伤口10%。
译者注:原文的描述语焉不详,似乎上一段中所述的顺序就是开头所说的治疗战伤判定顺序。
战斗中获得新战伤
计算(已造成的伤害*1000)/单位最大生命值,将此数值称为a。把a先乘以一个未知数值,然后再除以100,称为b。求a与b的和c。如果单位遭到诅咒,则将c值加上150。此后,如果该单位的生命回复超过5%,则将c值变为(c*100)/(生命回复的百分数*20)。
计算战伤抗性,如果单位有液化躯体(liquid body)效果,则战伤抗性再+1。如果(100/(战伤抗性+1))<0-99之间的一个随机数,则将c值变为5。最后判定时如果c值小于或等于5,则将c值变为5。
最后,如果c值小于0-999之间的某个随机数,则无事发生;若c值大于该随机数,则该角色将会获得某些战伤(具体判定获得何种战伤的机制有两种,现在这两种机制之间的区别仍不明确)。


https://illwiki.com/dom5/user/loggy/misc

Misc reverse engineered things

Things that are checked every round:

affliction 2^40 makes you take 1 AN internal damage. Being undead makes it go up to 2. If you are taking 1, it has a 20% chance to end
Decay is 1% per turn to MR against 15, damage mechanics require a debugger to follow
Hell power is 20% + 2% per mark to spawn a horror. It spawns in a random square in a 5x5 grid around you
web is str + DRN vs 22, win means you break free
Having the blink unit effect should render you immune to entangle, web, net, earth grip (but not bonds of fire or false fetters)
Affliction 2^50 (netted?) is str + DRN vs 20
False fetters is MR + DRN vs 20, win to escape
Slime is 22
Unknown affliction 2^38 is cleared every combat round and doesn't do anything when that happens
Commanders have a 50% chance to smart retreat. If they don't, they have make a morale check vs 10 to smart retreat. If they fail that and have appropriate survivals there's a 50% chance to still be smart
This is likely where "pretenders never die on retreat" comes from because the safe retreat odds for any commander with 30 morale is going to be 99.92%!
Items on death either go into the anyone-pool or the owner's pool. The chance of going into the anyone pool is 90% for cursed items, and then ((constrlevel/2)+1) * 15% after that. The victor then rolls for each nofind item in their own and anyone pools, picking a commander at random to try to pick up the stuff. This fails only if the commander in question has no free slots for the item it was allocated.
BoT does something with scales and then has a (41 + death*4)% to add 1d4 nonexploding years to each unit.
Lanka's blood hunting bonus is +1 per turmoil
Blood popkill is 10*floor((slaves + 4)/5)
Manifestation checks at most 8 random commanders. It has a 50% chance to skip any that are not horror marked
There is a 20% chance that each side in an assassination gets to pull 1d4+ blood slaves into the fight
stun chance on salt vuln is (dmg * 500)/(max hp + 10) percent. This is done before salt vuln caps damage
stun chance on shock is (dmg * 200)/(max hp + 5) percent. This is done before any capped damage and probably still applies to shock fatigue damage
size/strength negate: 5+6 always immune, 4 is 66% to ignore, 3 is 33% to ignore, otherwise roll strength vs 14 + d20 vs strength (no DRN or openended). If strength wins (not ties) it is negated
Looming Hell has a 5% chance per candle in the affected unit's province to not use one of its 5 "charges".
Dementia is 25% to make units do nothing for 3650 ticks
Picus/Procas axes give +2 MR, +5 strength and +10 fear if used together
Despite having the gender changing effect set at -1, the bear claw amulet does not function. Cat charm however does.
The chance to spawn a guardian spirit in percent is (10 * holy level) + innate guardian spirit modifier + (1 * number of candles, negative if hostile).
There is a 15% chance per cold scale for a battle to take place in a snowstorm. If temp is between neutral and heat 2 inclusive, there is a (5 + growth*5)% chance for the battle to take place in a regular rain storm. UW, in the Void and in caves, there is always no natural weather.
Fatigue from flying is (flight distance * enc)/20, doubled in rain or snow (but only if you don't have storm immunity or storm power). Curse of stones is a flat 2d6 nonexploding every time you fly. Flight distance is simply dx + dy, capped to a maximum of 20 for this calculation.
Blood vortex: remembers where you cast it. Makes 3 remote checks, the first of which will always be an adjacent province to where it was cast. Further checks are provinces picked at random, that have nonzero population and are not UW. (Population here refers to /10 from the displayed game values)
Remote checks contribute (pop/20) + d50+, capped to the province's pop. This is halved if order 2 or 3, and doubled if turmoil 2 or 3. Affected provinces gain 1d10 nonexploding unrest and have their population reduced appropriately. Final population contribution to the vortex is half of what is drained.
Local province: pop/10 + d100+, capped to pop. Population is not drained and scales have no impact.
Final slave total = (local contribution + remote contribution + d10 nonexploding - 1)/9
Fires from afar hit rate is 20% or (number of units in province*25)/number of effects, whichever is higher. The same unit cannot be hit more than once.
Effect modifier 4611686018427387904 is 1/3 strength added
Lingering effects technically do (x + 2)/3 rounded down damage
Spy unrest is d20 exploding
Pretender awakening. Every turn these things are rolled again, and if less than the current turn number, you awaken.
Dormant: 9 + d4
Imprisoned: 27 + d20
Dormant disciple: 4 + d4
Imprisoned disciple: 13 + d20
AoE spread: get anything adjacent (including diagonal) to the last square hit. If you already hit the square, get another one adjacent to it and try again. Repeat until the desired number of squares are hit.
GfH deviates at most 1 square in any direction, including diagonals. (This is due to spell attrib 579 and is done once for each point of the attrib)
Stupid is 10% chance to do nothing (and wait for half a round), 10% to attack something adjacent at random.
Rage: 50% chance to attack a random adjacent square
Confusion: 30% to stand and do nothing, 20% to attack a random adjacent square
Blood slave usage range looks to be 8 squares along either axis so the total usage area is square and not circular
Transformation's yellow text is nearly right. The checks really are 20% + misfortune scale to fail. Succeeding the first gives a good result. Upon failing the first check there is then a second identical check, succeeding this gives you a bad result (and feebleminds you if the new form is not mindless). Failing both checks kills you.
Spell interruption chance in percent is interruptdamage + 25 + (damage*100)/maxhp. Interruptdamage is from effect 129 only. Combat casters and mindless/slave vessels are halved, both conditions will half twice, rounding down after each.

Site #loc types
flag inspector name actual check
1 plains None of the following set: sea, highland, swamp, waste, forest, cave, mountains
2 forest forest, not sea
4 mountain Either mountains or highland, not sea
8 waste waste (can be sea)
32 sea requires sea
64 coast coast (no other terrain type specified)
128 swamp swamp, not sea
256 deep sea deep sea
512 cave cave (can be sea)
1024 n/a not EA
2048 n/a not MA
4096 n/a not LA
16384 unique unique
32768 n/a generates in caves only, regardless of other parameters - could be used to target coastal caves only
65536 n/a sea, not forest
131072 n/a sea, not deep sea

Terrain local modifiers (in the order they are checked in)
terrain mod
manysites +25
throne +20 (stacks with other terrains)
farm -20 (to a minimum of 5)
waste +20
cave +15
kelp forest +10
forest +10
mountains + 10
highland and UW +15
highland +5
deep sea +10

https://illwiki.com/dom5/ticks

Ticks

Whilst it is easy to think of the real-time combat system of Dominions 5 in terms of combat rounds, in reality each round is subdivided into 7500 "ticks"1). Ordinarily there is no reason to be concerned with these shorter time measurements, however some things that happen rapidly, such as auras and battle enchantments, occur based on ticks and not combat rounds. For instance, most battle enchantments that inflict damage such as Fire Storm strike some percentage of the battlefield every 320 ticks, or 23.4375 times per combat round.

Internally, some effects such as stun and petrification have durations measured in ticks. The duration of these effects is also reduced by 320 every 320 ticks.
1) This can be seen from the debug log, generated by running the game with the -dd command line option.

时刻
一般情况下,使用“回合”来描述Dominions 5 的实时战斗系统已经足够。“战斗回合”的概念可能比较直观,但实际上每个回合都细分为7500个“时刻”。通常我们无需考虑如此微小的时间跨度,但是一些频繁发生的事情,例如光环和战场结界,是基于时刻而不是战斗回合进行结算的。像大多数造成伤害的战场结界,如火风暴,每320刻就会击中一定比例的战场,换言之即每战斗回合击中23.4375次。
在内部,某些影响(例如眩晕和石化)的持续时间也以时刻为单位。 这些效果的持续时间每320刻也减少320。



https://illwiki.com/dom5/battle-enchantment

Battle Enchantment

Battle enchantments are spells like Light of the Northern Star and Storm that create an ongoing effect that affects the entire battlefield until the caster leaves the battlefield by any means. Typically this occurs through death or retreat, but can more rarely happen through returning or becoming banished to another plane.

These generally require gems, a lot of fatigue, and high paths, but can be extremely powerful. Some battlefield enchantments do continual damage to all units of a particular type; these are particularly powerful if your army is resistant or immune but the enemy's army is not. Examples of these include Rigor Mortis, Foul Vapors, Fire Storm, and Wrathful Skies.
Battle Enchantment Paths Gems Research Effect
Light of the Northern Star astral 33 2astralpearl Conjuration 4 +1 Astral to all astral mages on the battlefield.
Howl nature 33 3naturegem Conjuration 5 Every 320 ticks, wolves appear at the edge of the battlefield. 1d3 are summoned if the provinces is neither a forest nor a mountain. 1d6 are instead summoned in forests and mountains. The wolf die rolls can explode.
Shark Attack water 33 3watergem Conjuration 6 Sharks appear at the edge of the battlefield when wounded. They mostly, but not always, attack enemies.
Solar Eclipse fire 33astral 11 1firegem Alteration 5 The battlefield becomes dark, applying darkness penalties of -3 to attack, defence, and precision.
Darkness death 44 4deathgem Alteration 6 The battlefield becomes dark, applying darkness penalties of -6 to attack, defence, and precision.
Rain water 22 1watergem Evocation 2 It starts to rain on the battlefield. Heat aura effect is reduced, Fire magic fatigue is doubled. Creatures on fire are very likely to stop burning quickly. If cast in cold it snows instead, which does not double fire magic fatigue.
Mist air 33 1airgem Evocation 3 Base precision is halved, rounding down.
Storm air 44 1airgem Evocation 4 Flight is prevented for all creatures without storm immunity. 50% of missiles are lost. All creatures without storm immunity have their precision halved. Also applies Rain.
Wrathful Skies air 55 2airgem Evocation 6 Strikes 0.3% of the battlefield with 15 AN shock damage every 320 ticks. Storm doubles the area struck.
Wailing Winds death 44air 11 2deathgem Evocation 6 Strikes 5% of the battlefield with a strength 1 Fear effect every 320 ticks. Does not affect friendlies.
Rain of Stones earth 33air 11 1earthgem Evocation 7 Every 320 ticks, strikes 1% of the battlefield with falling stones that inflict 5 nonmagical blunt damage to a creature in the affected square. Appears to be more likely to hit heads.
Fire Storm fire 55 3firegem Evocation 7 Strikes 3% of the battlefield with 6 AP fire damage every 320 ticks.
Acid Storm water 44fire 11 3watergem Evocation 7 Strikes 3% of the battlefield with 4 AP acid damage every 320 ticks.
Astral Tempest astral 55 2astralpearl Evocation 8 Every 320 ticks: Strikes 2% of the battlefield with 1 AN magic damage, negated by MR. Additionally strikes 4% of the battlefield with 100 Interrupt damage, that does not affect Mindless creatures and can be negated by passing a MR check.
Meteor Shower earth 55astral 44 3earthgem Evocation 9 Every 320 ticks, makes five rolls each with a 15% chance of success. Each success drops a meteor randomly on the battlefield which inflicts 150 magical blunt damage.1)
Quagmire water 44 1watergem Enchantment 5 Creatures without swamp survival have -1 attack, -1 defence, +2 encumbrance, and -20% combat speed.
Friendly Currents water 33 1watergem Enchantment 5
Foul Vapors nature 33water 11 1naturegem Enchantment 5 Strikes 1% of the battlefield with 5 AN poison damage every 320 ticks.
Rigor Mortis death 44 3deathgem Enchantment 6 Strikes 3% of the battlefield with 10 AN fatigue damage every 320 ticks. Undead and inanimates are unaffected.
Relief nature 55 1naturegem Enchantment 6 Strikes 6% of the field every 320 ticks. Friendly units lose 1 fatigue.
Heat from Hell fire 44 2firegem Enchantment 6 Strikes 3% of the battlefield with AN fire fatigue damage every 320 ticks. The amount of damage dealt is 5+Heat scale, -3 if raining. Does nothing if Grip of Winter is also active.
Grip of Winter water 44 2watergem Enchantment 6 Strikes 3% of the battlefield with AN cold fatigue damage every 320 ticks. The amount of damage dealt is 4+Cold scale, +2 if it is snowing and a storm is present. Does nothing if Heat from Hell is also active.
Solar Brilliance astral 55 3astralpearl Enchantment 7 Every 320 ticks: 5% of the battlefield must make an easy MR check or become blinded. 5% of the battlefield is struck for 5 AP damage if Undead or Demonic, with an easy MR check to negate.
Mists of Deception air 66 2airgem Enchantment 8 Applies Mist. Summons 1 phantasm per turn for each air level of the caster.
Fields of the Dead death 55earth 22 1deathgem Enchantment 9
Demon Cleansing water 55 1watergem Enchantment 9 All demons on the battlefield take double damage.
The Ravenous Swarm nature 33 1naturegem Thaumaturgy 5 A random undead target takes 7 AN damage per round. If there are no undead, it begins attacking the living instead.
Growing Fury nature 44 1naturegem Thaumaturgy 5 Affects the battlefield every 320 ticks. All friendly units with an inherent berserker value, or those whose current hitpoints are lower than their maximum immediately go berserk. Other friendly units have a flat 5% chance instead. As with usual berserking, this does not affect most mounted units, Mindless units, or Slave Vessels.
Soul Drain astral 55death 55 5astralpearl Thaumaturgy 8 3% of the battlefield suffers 2 AN magical life steal every 320 ticks. Magic resistance avoids the damage.
Blood Rain blood 33 3bloodslave Blood 7 All units on the battlefield suffer -4 morale.
Divine Channeling holy 55 All friendly holy 11 priests gain +1 holy level.
Dance of the Morrigans (EA Fomoria) death 55air 22 4deathgem Conjuration 8
The Ark Caused by the presence of the The Ark artifact in battle. Strikes 3% of the battlefield every 320 ticks. All units affected make a MR check. Sacred units, prophets, or pretenders belonging to Ark's owner are entirely unaffected, even upon failing this. All other units are struck for 2 AN magical damage. Additionally, there are 20% chances, rolled independently of each other, that each struck unit becomes diseased and blinded2).

Whilst not technically battle enchantments, the presence of the following Global Enchantments act as if they were battle enchantments:
Global Enchantment Paths Gems Research Effect
The Eyes of God astral 55 50astralpearl Enchantment 5 Active only in its caster's dominion. Every 320 ticks, all enemy illusionary creatures must make a MR check or take 999 AN magical damage.
Foul Air death 55air 11 75deathgem Thaumaturgy 6 Active only in land provinces. Every 320 ticks, applies disease to any unit in battle whose current hitpoints are less than their maximum, and that are not Demonic or Inanimate.
1) Analysis of battlefield enchantment rates, including meteor shower
2) Analysis of the Dominions 5.51b executable


https://illwiki.com/dom5/user/loggy/age-decay

Age and Decay
Old Age penalties
Multiple of max age Penalty
<1.0 0
1.0-1.2x 1
1.2-1.4x 2
1.4-1.6x 3
1.6-2x 4
2-3x 5
>3x 6
Decay

Age the unit 5 years per combat round. The number is modified by the unit's current aging rate (unaging bless, quickness, item modifiers, etc etc). This in itself can cause damage and afflictions, as below.
You take additional damage. This amount is calculated as floor((old age penalty * 5 + [random number 0-9] + number of years actually added in the first step)/10).
There is a 1% chance that affected units are allowed to make a check to stop decaying of 15 + DRN vs MR + DRN. Unlike regular MR checks, a tie on the defender's side counts as a success.

Aging

This applies to all forced age changes as well as the natural one applied every midwinter.

If the number of years is negative, simply subtract that from the unit's current age, and don't do anything else.

If your aging rate is greater than 100 (this is measured in years per century), the number of years becomes:

(Age rate * number of years to add + [a random number 0-99]) / 100

With that out the way, do this once for each year to add to the unit:

If your age rate is less than 100, pick a random number between 0 and 99. If this >= your age rate, you skip aging and all its effects this time.
If your age < your max age, increment your age by 1 and suffer no other adverse effects.
Calculate some value: 500 / max age, capped to a maximum value of 10.
If you are on the map (province ID is positive, so not in another plane), the value becomes ((death scale + 10) * (old value) * 10)/100.
If a random number 0-999 is less than (value * 15), you get to ride the affliction train.
35% chance of disease. Cannot happen if already diseased.
Otherwise, there is a 75% chance that you get a random minor affliction. If this doesn't happen you get a random major affliction instead.
If something above gave you battle fright, remove it.
If something above gave you disease, you have a 50% chance per death path (rolled independently) to have your disease removed.
If you are 2x your max age (or older), you take 1 point of damage (no rolls).
If you are diseased, you take 1 point of damage (no rolls).

Random Major affliction

10% for undocumented affliction 16. I don't know what this actually does but there seems to be some very unique messages for certain chassis. If you get this, exit.
If you have the miscellaneous body type:
90% to skip the rest of this section.
50% to enter this section:
If you are mindless or a slave vessel, leave without any ill effects.
50% to gain undocumented affliction 137438953472 and leave, but only if you do not have it already.
Otherwise:
If you have more than one arm, lose an arm and exit.
If you are not mindless and not inanimate, lose an eye if you have one. Either way, exit.
Otherwise, gain undocumented affliction 2147483648 and become mute. Exit the affliction train only if mindless or a slave vessel.
Upon making it to this point, become feebleminded and exit.
If you do not have the miscellaneous body type:
???

Random Minor affliction

10% for undocumented affliction 16. I don't know what this actually does but there seems to be some very unique messages for certain chassis. If you get this, exit.
If in battle: 10% chance if not ethereal, undead or inanimate (and not already bleeding) to start bleeding and exit.
20% chance to get battle fright if your base morale is less than 25. Even if your morale is 25+ this is rolled. Exit after applying battle fright (or not).
More of the bizarre bodyshape stuff that I am clearly not understanding properly

老化与腐朽
老年惩罚
老年惩罚:当前年龄<1.0*(最大年龄),无惩罚;1.0-1.2,1x;1.2-1.4,2x;1.4-1.6,3x;1.6-2,4x;2-3,5x;> 3,6x
腐朽
每个战斗回合年龄增长5岁,该数字也受当前角色的老化速度(不老祝福,迅捷,魔法物品等)影响。如下所示,腐朽也可能会造成伤害,甚至带来战伤。
腐朽单位受到额外的伤害。此伤害数值的计算方法为:((老年惩罚* 5 + [随机数0-9] +第一步中实际增加的年数)/ 10)。
每回合,受腐朽影响的单位有1%的机会进行一次15 + DRN vs MR + DRN的判定以结束此效果。与常规的MR判定不同,防守方的平局也算作成功。
老化
这适用于所有强制性的年龄变化以及每个仲冬的自然变化。如果年数是负数,只需从单位的当前年龄中减去该年数,然后不执行其他任何操作。如果您的老化速度大于100(以每世纪增长的年数衡量),则增加的年数变为:(年龄率*要添加的年数+ [随机数0-99])/ 100
有了这种方式,每年就可以将其添加到该单元中一次:
如果您的老化速度小于100,roll一个介于0到99之间的随机数。如果该随机数大于等于单位的老化速度,则这次该单位将跳过老化及其所有影响;如果单位的年龄<最大年龄,则将单位的年龄增加1,并且不会遭受其他不利影响。
计算值a=500 /最大年龄,上限为10。如果您在地图上(省ID为正,所以不在另一个位面中),则计算b=((死亡神域+ 10)* a * 10)/ 100。Roll一个0-999的随机数,若随机结果小于(b* 15),则该单位获得战伤。单位有35%的几率患病,如果已经患病则有75%的几率会随机得到小战伤。如果这种情况没有发生,您将获得随机的大痛苦。如果上述判定使单位获得怯战,则将其删除。如果上述情况使单位患上了疾病,则每个死亡魔法等级(单独判定)都有50%的几率清除您的疾病。如果您的年龄是最大年龄的2倍(或更老),则受到1点伤害(无掷骰)。如果患病,您将受到1点伤害(无掷骰)。
随机的大战伤
如果单位有多于一根的手臂,则失去一根手臂。如果您并非无意识/无生命单位且有眼睛,则失去一只眼睛。无论采取上述哪种方式,均退出战伤阶段。若上述条件均不满足,则获得沉默。仅在无意识或成为奴隶的情况下才退出战伤阶段。
随机的小战伤
在战斗中:如果不是虚体,不死或无生命单位(并且尚未流血),则有10%几率开始流血。如果您的基本士气低于25,则有20%的几率获得怯战。即使您的士气为25+,仍然会进行判定。判定后结束战伤阶段。


https://illwiki.com/dom5/user/loggy/horror-seed

Horror Seed

Casting the spell itself is a hard MR check (15 not 11)

Internally, horror set uses unit effect 289. It takes two values of this: 1 (lesser infections, gains horror marks and bursts into horrors) and 2 (primary infection, spreads lesser infections)

Upon hosting:

The game checks every single unit on the map in turn. If they have no kind of infection, it skips them
A unit with any kind of horror seed infection is 20% to gain a horror mark, no MR check offered
10% chance to add a curse
If the unit has a lesser infection and two or more horror marks, it is 10% to burst into a random lesser horror (kills the unit, attacks the province as a special monster)
If the unit is a primary infection, picks a random unit in the province. The picked unit is skipped if the picked unit IS the primary infected unit or meets another unknown criterion. The picked unit makes a special MR check (no pen or path boosts) of MR + DRN vs 15 + DRN. Loss or tie causes the unit to gain a horror mark. This continues until 100 units have been considered or 5 units have attempted MR checks
If the unit is a primary infection, begin another loop of picking random units. The picked unit is skipped if it has any horror marks AND has no horror seed effect AND is not mindless AND is not a pretender AND one other unknown check. Upon passing these checks, it makes another special MR check of MR + DRN vs 11 + DRN. Failure causes it to gain a lesser infection. This continues until 100 units have been considered or 2 units have attempted MR checks
It then does something beyond my comprehension

惧魔种子
施放这个咒语本身就非常艰难。在系统内部,该法术使用单位效果289。它采用两个值:1(次级感染,获得惧魔标记并爆发出惧魔)和2(高级感染,传播次级感染)。
游戏会依次检查地图上的每个单位。如果他们没有感染,则会跳过它们;被任何惧魔种子感染的单位有20%的几率得到惧魔标记(该过程没有MR判定),10%的几率被诅咒。
如果单位受到次级感染且有两个或更多的惧魔标记,则有10%的几率爆发一个次级惧魔(杀死单位,以特殊怪物攻击全省)。
如果单位受到高级感染,则在省内随机选择一个单位。如果被挑选的单位是高级感染状态或满足另一个未知标准,则被挑选的单位将被跳过。被挑选的单位进行一次MR + DRN vs 15 + DRN的特殊MR判定(不受任何道系效果影响)。失败或打平会使单位获得惧魔标记。这一直持续到检查了100个单位或在5个单位上进行了MR判定为止。
如果该单位是原发感染,则开始另一个循环,随机挑选单位。如果被挑选的单位具有任何惧魔标记,没有惧魔种子效果并且不是无意识或伪神,则将跳过该单位。通过上述判定后,进行一次MR + DRN vs 11 + DRN的特殊MR判定。失败导致它受到次级感染。这一直持续到检查了100个单位或在2个单位上进行了MR判定为止。
然后它做了我无法理解的事情。


https://illwiki.com/dom5/user/loggy/casttime

Casting times

TL;DR: cast time is what you'd expect ± 500 ticks (distributed linearly) in each direction, regardless of the original cast time percentage.

Running this with -dddd shows that all mages on the same side doing the same thing start casting at the same time, so there's no variance in starting.

If I sort my data (this is for 100% cast time) I get this deliciously linear thing. It appears jagged because the debug log only ever prints increments every 10 ticks, so everything in the data is a multiple of 10.

400

Then it was just a simple matter of checking minimum and max times the spell got cast at, which revealed two numbers exactly two apart.

Then I repeated the whole thing on the same spell modded to 125% cast time, which increased the casting time but not the distance between min and max values recorded - that was still 1000. Also not shown is that the distribution is still absolutely linear.

https://illwiki.com/dom5/user/loggy/freespawn

Freespawn
Yomi, "natural" spawns

Friendly dominion and a temple is required.

"Terrains" is true in any combination of caves/mountains/highlands, otherwise false.

"Your cap" also technically includes Shinuyama's cap, both of them have the flag used for this for some reason.

Number of spawn attempts is Turmoil + 1.

If End of Culture is up, add Turmoil again (so it becomes 2*Turmoil + 1).

While the number of spawn attempts > 0:

66% to just flat out fail (-1 spawn attempt).
If (terrains or your cap) and a 2% chance: Amanojaku (-2 spawn attempts)
If (terrains or your cap) and a 80% chance: Kuro-Oni (-2 spawn attempts)
If (terrains or your cap) and a 70% chance: Oni (-2 spawn attempts)
30% chance per cold scale: Ao-Oni (-1 spawn attempt)
30% chance per heat scale: Aka-Oni (-1 spawn attempt)
Otherwise: 1d4 (non-exploding) Ko-Oni (-1 spawn attempt)

(Once a single check succeeds, go spawn the units, subtract the spawn attempts, and then go back to the top of the bullets)
Yomi, Oni Summoner

Local value = (something * 10) + unrest, capped at 100

If End of culture, double this (and cap at 150).

Doesn't function underwater.

Final % to spawn is (local value * oni summoner ability value)/100

Unknown criteria can also prevent spawning

You get a non-exploding d6 number of Ko-Oni.

This post has been edited by dfc103: 2021-03-22, 09:42
TOP
dfc103
2021-03-19, 12:25
Post #2


特珞祭司
Group Icon
 300
   19

Group: Avatar
Posts: 1061
Joined: 2006-08-07
Member No.: 8604


https://illwiki.com/dom5/user/loggy/hall-of-fame

Hall of Fame

I'm sleepy and it's late but might as well get some of this out.

95% chance to:

Roll a random number 1-12.
If this is exactly 9, and you either have some magic skills or some unknown thing to do with ranged weapons, gain ability 9. [precision]
If exactly 10 and unknown criteria, gain ability 10 [endurance]
If exactly 5 and unknown criteria, gain ability 5 [valor]
If exactly 11 and unknown criteria, gain ability 11 [obesity]
Any other result not above: unconditionally gain that ability ID.
If any check is failed, reroll a new number 1-12 and try again

Otherwise:

Roll a random number 100-109.
If this is exactly 102, gain ability 102 [legendary command of undead] if you are not MA Marignon and any one of the following are true:
Death magic level > 0
Blood magic level > 0
Your nation has a value for attribute 210 that is greater than 0 [Lanka, Therodos, MA Ermor, Sceleria, Nazca, Lemuria, LA Ctis]
If this is exactly 103, gain ability 103 if you have any nonholy paths [adept research]
If this is exactly 104, gain ability 104 if you have a certain quantity of eyes [third eye]
If this is exactly 105, gain ability 105 if you have any magic skill and are not mindless [daftness]
If this is exactly 108, gain ability 108 if you have any magic skill and are not mindless [fast casting]
Any other result not above: unconditionally gain that ability
If any check is failed, roll 100-109 again.

If you got ability 7, update your current hitpoints to match your maximum. You gain abilities with a base value of 100.
Ability ID Name Effect
1 Enormous Strength
2 Battle Prowess att skill
3 Lightning Reflexes def skill
4 Iron Will mr
5 Valor morale, leadership, inspirational
6 Tough Skin natural protection
7 Toughness HP
8 Quickness Action speed
9 Precision
10 Endurance Reinvigoration
11 Obesity HP, Str, enc
12 Agility att, def, ambidex
100 Awesome presence Awe, leadership
101 Battle Bellow Fear
102 Legendary Command of the Undead
103 Adept Research
104 Third Eye prec, mr
105 Daftness +mor, mr, att; -ldr
106 Cruelty affliction rate
107 Soul Butcher strength, fear, death gem production
108 Fast Casting
109 Troll Blood Regen

名人堂
95%的几率:随机取一个1-12的随机数。
如果恰好是9且该单位使用远程武器或拥有某些魔法能力,获得能力9。
如果恰好是10且符合未知标准,则获得能力10 。
如果恰好是5且符合未知标准,则获得能力5 。
如果恰好是11且符合未知标准,则获得能力11 。
除此以外的任何其他结果:获得该能力ID。
如果任何判定失败,重新roll一个1-12的随机数,然后重试。
否则:
随机取一个100-109的随机数。
如果恰好是102,不是MA Marignon且满足以下任一条件,则获得能力102:死亡魔法等级> 0;血魔法等级> 0;您所在国家/地区的属性值210大于0 [Lanka,Therodos,MA Ermor,Sceleria,Nazca,Lemuria,LA Ctis]。
如果恰好是103,且该单位有任何神术以外的施法能力,则获得能力103。
如果恰好是104,且该单位有一定数量的眼睛,则获得能力104 。
如果恰好是105,且该单位具有施法能力而又不是无心智单位,则获得能力105。
如果恰好是108,且该单位具有施法能力而又不是无心智单位,则获得能力108 。
除此以外的任何其他结果:无条件地获得该能力。
如果任何判定失败,重新roll一个100-109的随机数。
如果获得技能7,则更新当前的生命值以匹配您的最大生命值。您获得的基础值为100的异能。
能力ID对应的效果:1力量,2攻击,3防御,4魔抗,5士气、领导力、激励能力,6天生护甲,7生命值,8战斗速度,9精准,10恢复精力,11生命值、力量、增加负重,12攻击、防御、ambidex,100敬畏、领导力,101恐惧,102不死领导,103熟练研究员,104精准、魔抗,105士气、魔抗、攻击、降低领导力,106降低战伤几率,107力量、恐惧、生成死亡宝石,108快速施法,109再生


https://illwiki.com/dom5/user/loggy/scoutreports

Scout reports
Inaccuracy

The function that generates scout numbers does the following:

It accepts an inaccuracy percent. I'm still investigating what alters this
Counts units in the province, including something which looks suspiciously like the glamour and invisible interaction with spirit sight on the map
Adds false army and obfuscate (they are technically the same ability, only difference is their positive/negative magnitude)
It then fudges the total number of units
Generates a random number 0-199, subtracts 100 from it (so it is now -100 to +99)
Adds (the above number * inaccuracy percent * number of units)/10000, rounded down, to the unit count - effectively this is adding (-100 to 99% of the inaccuracy percent and rounding the result down)
If the unit count is now less than 10 it is set to 10*?floor((units + 5)/10)
If fata morgana is in play, there is a 50% chance to hide ALL the units in a province. Otherwise, multiply the number of units by a random number between 0 and 499, divide by 100, then round down.

Then the next question is what the inaccuracy percent for various types of scouting is.

With eyes of god, it is 0%
With arco scry dominion it is 40%
With some other conditions (default)? it is 50%
With scrying spells it is 0%
With a spy in the province it is 10%
With a scout it is 30%

Other observations

"The army appears to be commanded by <Leader>" only appears if the inaccuracy value is less than 30
What does and doesn't radiate power is done by a complex function I don't really understand, it needs a radiate power score of >100 to get the text. Magic paths count for 10

侦察报告
生成军情报告的函数执行以下操作:
首先确定侦察报告的“不准确度”。
计算该省的单位,包括一些看起来可疑的东西,比如说拥有灵视能力的单位即可看破幻象或者隐形单位。
增加虚假的军队和迷惑(在技术上它们是相同的,唯一的区别是它们的正/负大小)。
计算出单位总数。
生成一个随机数0-199,从中减去100(因此,它现在是-100到+99)。
将(上面的数字*不准确百分比*单位数量)/ 10000四舍五入后加到单位总数里。
如果有蜃楼幻象,则有50%的几率将一个省的所有单位隐藏起来。否则,将单位数乘以0到499之间的随机数,再除以100,然后四舍五入。
然后,下一个问题是各种侦察的不准确度是多少。
神之眼是0%,阿柯赛菲的神域是40%,其他一些情况下(默认)是50%,使用咒语时为0%,在省内有间谍时10%,侦察兵是30%。
此外,仅当不准确度小于30%时才会出现“军队似乎由xx指挥”。


https://illwiki.com/dom5/user/loggy/callgod

Call God
Holy levels

Turns out that each priest has a variance in the number of holy levels they contribute when calling.

400

Relatively small sample size but is strongly suggestive of holy ± 1 with equal (or almost equal) weightings.

A quick gather of a dataset calling with a single h1 at 49 rebirth points confirms that the requirement to return does not vary, rather that is entirely implemented in the holy level variation…
Path loss

This is more complicated, but not unnecessarily so…

https://illwiki.com/dom5/user/loggy/slaver

Slavers

In all cases, if 75 + (random 0-74) < province unrest, the action fails and you get the unrest too high message.

In all cases, if 50 + (random 0-14) > province population / 10, the action fails and you get the pop too low message.

For slavers only:

Number of slaves is exploding d6 + 4 + [invisible slaver bonus]
if 10 + (random 0-29) > province population / 10, you get half as many
Population loss is 10 * floor((num slaves + 4) / 5)
Unrest is then just 1 per slave found

Lord over heathen tribes is considerably more complicated and is quite different

https://illwiki.com/dom5/user/loggy/randomevents
Random Events


Generating Random Events

Events are considered on a nation-by-nation basis, for every nation that is in the game.
Each nation in the game gets a total of four checks.
Check 1 has a base event rate of 15.
Check 2 has a base event rate of (owned provinces*3)+2.
Check 3 has a base event rate of (owned provinces*2)+2.
Check 4 has a base event rate of (owned provinces) + 2.
The event rate is then calculated as:
base event rate + (turmoil's modifier) + (luck's modifier).
The scales are considered in the nation's cap only for this check.
If the event rate is less than 3, it is set to 3.
Then min(calculated event rate and (current turn number * 5)) is used as the final event rate.
The event rate is divided by 2 if random events are rare.
If this is check 4, divide the event rate by 2. Both these divisions can happen after each other.
If (random number 0-99) < calculated event rate, generate an event.
The game then determines:
If the event is good or bad.
A random province where the event occurs.
If the event is bad, the game checks every unit on the map to see if any are in the targeted province and have a fortune teller ability
If yes, the game then rolls for this ability.
The event is then triggered.
If this was check 1-3, the game rolls again, checking the next consecutive number.
If this was check 4, random event rolls are completed.

Determining Good or Bad Events

Whether an event is good or bad depends on the following calculation:
Luck scale in a province * the global luck "event is good" value.
Note: If the province is not under friendly dominion, any positive luck scales are ignored and 0 is used instead.
If (random number 0-99) < (random number 0-99) – the "event is good" %, the event is good.

https://illwiki.com/dom5/user/loggy/inferno

Inferno and Kokytos

Non-commanders die instantly (no resist)
The game checks every unit every turn. Units in Inferno take 1d20+ AP fire damage, those in Kokytos take 1d20+ AN cold damage.
In inferno: 50% to be attacked; attackers are 50% chance of 2d30+ imps, 50% chance of 1d8+ devils
In kokytos: 75% to be attacked:
25% chance of 2d10+ unfrozen (1/4 total)
(if not unfrozen) 25% chance of 1d20+ winter wolves (3/16 total)
(if neither of those two) 1d8+ frost fiends (9/16 total)

Escape chance is 8% + plane returning bonuses
There is a 50% chance you come back in a province you control, otherwise it's entirely random
Returning has a 10% chance to give +1 fire or water (depending on the plane) to a max path of 4

https://illwiki.com/dom5/user/loggy/indepspells

Independent Spells

Pretender chassis and things with effect 0x1e0 (I theorise this is #indepspells the mod command) use their own logic that gets spells up to a given research level. For pretender chassis, this is 7. Everything else seems to be hardcoded to chassis.

I'm not sure what lets other throne defenders cast things like Horde of Skeletons or make big elementals.
Sorceress#344 (grey robe version)

Blindness
Mind Burn
Dust to Dust
Petrify
Decay
Sleep
Tangle Vines

Wind Master#93

Wind Guide
Orb Lightning
Shock Wave

Cloud Mage#92

Shocking Grasp
Resist Lightning
Mistform
Charge Body

Circle Master#95

Raise Skeletons
Agony
Pain Transfer
Summon Imp [this spell doesn't exist so probably does not function as intended]

Conjurer#94

Animate Skeleton
Dust to Dust
Hand of Dust

Azure Initiate#96 and Azure Mage#97

Cold Resistance
Breath of Winter
Desiccation
Resist Fire
Quickness
Cold Blast

Adept of Pyriphlegeton#99

Fire Fend
Flame Bolt
Holy Pyre
Fireball

Pyromancer#98

Fire Resistance
Fire Darts
Burning Hands

Hydromancer#103

Cold Bolt
Cold Blast
Summon Water Power
Sailors' Death
Water Strike
Water Shield
Water Ward

Woodhenge Druid#105

Barkskin
Heal
Strength of Giants
Sleep

Shadow Seer#106

Enslave Mind
Stellar Cascades
Magic Duel

Bloodhenge Druid#122

Barkskin
Poison Touch
Sleep Cloud
Poison Cloud
Agony
Maggots
Sabbath Master
Sabbath Slave
Blood Rain
Resist Poison

Cyclops#156

Hand of Death
Wither Bones
Drain Life
Soul Vortex
Disintegrate
Resist Magic
Ironskin

Shaman#170 [lizard]

Curse
Barkskin

Lich#178, Master Lich#179

Raise Dead
Raise Skeletons
Hand of Death
Ghost Grip
Terror
Cloud of Death
Wither Bones
Undead Horde
Bane Fire
Wind of Death

Harab Seraph#252

Hand of Death
Raise Dead
Animate Skeletons

Wight Mage#299

Raise Dead
Raise Skeletons
Hand of Dust
Decay

Wizards (both #302 and #312, blue and red robes)

Combustion
Quickness
Dust to Dust
Stoneskin
Barkskin
Leprosy
Panic
Summon Imp
Mind Burn
Desiccation
Fire Blast
Geyser
Fire Resistance
Cold Bolt
Lightning Bolt
Shock Wave
Earth Meld

Ice Druid#309

Breath of Winter
Numbness
Dust to Dust
Cold Bolt
Cold Blast

Necromancer#310

Raise Dead
Raise Skeletons
Hand of Death
Ghost Grip
Dust to Dust

Shaman (prophet shape lizard)#321

Mass Protection
Sleep Cloud
Paralyze

Spectral Mage#329

Hand of Death
Soul Slay
Resist Magic
Magic Duel
Enslave Mind
Curse
Astral Shield
Nether Bolt
Burning Hands
Magma Bolts
Ghost Grip
Eagle Eyes
Earth Grip
Shocking Grasp
Orb Lightning
Fire Shield

Starspawn#332

Enslave Mind
Soul Slay
Magic Duel
Curse
Sleep

Illusionist#341

Phantasmal Army
Phantasmal Warrior
False Horror
Ghost Wolves
Mistform
Mirror Image
Mists of Deception

Everything not mentioned elsewhere

This list is manual and may miss some possible things included above. Technically it will apply to ANYTHING with ID 1-343.

Adept of the Silver Order
Adept of the Iron Order
Adept of the Golden Order
Hydromancer
Woodhenge Druid
Bloodhenge Druid
Shaman
Lich
Wizard (blue robe)
Ice Druid
Necromancer
Wizard? (red robe)
Spectral Mage
Sorcerer
Crystal Mage
Illusionist
Moon Mage
Sorceress (blue robe)
Sorceress (grey robe)
Wind Master
Cloud Mage
Circle Master
Conjurer
Azure Initiate
Azure Mage
Adept of Pyriphlegeton
Pyromancer
Shadow Seer
Cyclops

Fire

Phoenix Power
Combustion
Flame Bolt
Flare
Bonds of Fire

Air

Mirror Image
False Fetters
Shock Wave
Lightning Bolt

Water

Summon Water Power
Ice Shield
Slime
Geyser
Cold Bolt
Numbness
Water Strike

Earth

Summon Earthpower
Stoneskin
Earth Might
Earth Grip
Fists of Iron
Legions of Steel

Astral

Personal Luck
Star Fires
Astral Shield
Mind Burn

Death

Decay
Weakness
Animate Skeleton
Raise Dead

Nature

Tangle Vines
Personal Regeneration
Vine Arrow
Sleep Cloud
Panic

Blood

Summon Imp [this spell doesn't exist so probably does not function as intended]
Agony
Leeching Touch

Great Mother#606, Lord of Fertility#965

Strength of Gaia
Summon Earthpower
Tangle Vines
Sleep
Sleep Cloud
Wild Growth
Charm
Dust to Dust

All Amazon sorceresses and priests

Fire Darts
Shocking Grasp
Charge Body
Desiccation
Cold Bolt
Mind Burn
Dust to Dust
Decay
Barkskin
Tangle Vines
Blood Boil

Thalassa, Queen of the Sea#359

Summon Water Power
Summon Water Elemental
Summon Lesser Water Elemental
Water Ward
Water Shield
Water Strike

Fire Lord#389

Burning Hands
Immolation
Fire Blast

Vampire Lord#404, Mound Fiend#439

Terror
Summon Imp
Raise Skeletons
Raise Dead
Drain Life

Harvester of Sorrows#491

Soul Slay
Luck
Hand of Death
Terror

Troll King#519, Sea King#580

Earthquake
Fists of Iron
Sailors' Death
Cold Blast
Water Shield
Water Strike
Shark Attack

Divine Mummy#778

Disintegrate
Dust to Dust
Raise Skeletons
Raise Dead
Hand of Death
Ghost Grip
Terror
Phoenix Pyre
Astral Fires

Lamia Queen#609

Terror
Decay
Sleep
Luck

Treelord#621

Howl
Tangle Vines
Wild Growth

Intor Vadul, Ancient Mandragora#641

Tangle Vines
Ghost Grip
Wild Growth
Resist Poison
Sleep Cloud
Regeneration
Dust to Dust
Wither Bones
Mass Regeneration
Sleep
Terror

Other units between 641 and 779

Likely

Troll Mage
Warrior Mage
Vastness

Earth Might
Mind Burn
Ghost Wolves
False Fetters

Lord of the Hunt#780

Vine Arrow
Howl
Haste
Growing Fury
Wild Growth
Strength of Gaia
Panic

Kappa Mage#1530

Quickness
Cold Bolt
Water Strike

https://illwiki.com/dom5/user/loggy/windride

Conclusions: spell parameters seem to be as follows:
Size Full drop damage Move chance
6 Can't be lifted, but I didn't test 0%
5 40 50%
4 35 75%
3 30 90%
2 25 95%
1 15 95%

Damage is simply AN magical (specmask is always 0x80)

Units with E4 or ethereal can never be lifted under any circumstances. The spell returns NO message in such situations (versus the whirlwind returned empty for unknown reasons)

If bodyguards are moved, they do not take the falling damage

I did not investigate how bodyguards are moved, though

If successfully pulled into the caster's province, no falling damage is dealt

Floating has no effect, but being a flyer completely negates the damage portion

A paths on the victim affect the above values by reducing pickup chance by 10% (unless friendly!) and damage by 5

Failing to pick up deals half the full damage, rounded down

The units used were MA arco scout, indie mounted commander, arco chariot + GoR, golem, horticulturist

My data, and the script I used to generate said data. I think I forgot to say that you need the -dd command line flag on the executable for the log file to be created, though.

https://illwiki.com/dom5/user/loggy/trample

Trample

Illwinter manual failed: the def check is actually vs 3d6+ and not 10.
Delay

The delay for trampling (in ticks) is:

max(10, 10000/combat speed) + (7500*action time)/(largest size difference in the trampled square/2 + 3)

Things that affect action time (default is 1.0) are

Quickness, half
Being frozen, double
Being slimed, double
Being slowed, double
Something else which I assume is heroic quickness

https://illwiki.com/dom5/user/loggy/longdead

Longdead and Soulless

The chances to pull from the "national pool" varies depending on the creation method.

In remote summons (effect 27 rituals, Army of the Dead), the leader has a 50% chance and troops have a 10% chance.

In ritual spells that summon permanent creatures (effect 1 rituals, so Reanimation), they are always national longdead if available.

Otherwise, there is a 10% chance to get nationals.

If you don't have nationals, just use fallback.
Longdead
Fallback (national roll failed)

You get one of 191-196, chosen randomly at equal weighting.
Jotunheim, Utgard

50% to use fallback. Otherwise, 50% for 2484, else 316.
Niefelheim

50% to use fallback, else 316.
EA Ermor, MA Ermor, Sceleria

50% to pick evenly between 186 and 187. Else pick evenly between 1657 and 1658.
MA Arcoscephale, MA Machaka, LA Arcoscephale

Equal chances to pick one of 2120-2122.
MA Ulm, MA Marignon, LA Marignon, LA Abysia

Equal chances to pick between 2123 and 2124.
LA Ulm

75% chance to use 2124. Otherwise use fallback.
EA Ulm

85% to pick between 3360 and 3361. Otherwise use 2123.
EA Vanheim, MA Vanheim, LA Midgard

25% to use 3361. Otherwise use fallback.
C'tis, any age

Equal chances to pick any of 615-619.
Nazca

Equal chances to pick 2701 or 2702.
Hinnom and Ashdod

50% to pick randomly between 2041-2043. Otherwise use fallback.
Lanka, Kailasa, Bandar Log, Patala

2/7 chance to pick between 1720-1722. 1/7 chance to pick between 1727-1729. Otherwise, 1732.
MA Man

15% to use 2124, otherwise pretend you are Berytos.
Berytos

50% to pick between 2120 and 2121. Otherwise, 2451.

https://illwiki.com/dom5/user/loggy/astral-harpoon

Astral Harpoon

Seems I'm now learning new tricks…

1) MR check negates. If the victim resists, they get the message "Suddenly %s felt someone trying to magically attack him, but he/she resisted the attempt."

2) The victim takes 5AN magical damage, upon killing the victim nothing else happens. The victim gets the message "Suddenly a silver cord appeared out of nothing and flew straight into %s who died instantly. The corpse was then snatched away into the void as the silver cord was retracted.", the caster gets "The target died when it was punctured by the silver cord.".

3) If the target has the unteleportable ability, nothing else happens. The victim gets the message "Suddenly a silver cord appeared out of nothing and flew into %s and tried to yank him away without any success." and the caster gets "The target was much too heavy to be pulled by the silver cord.".

4) Each side makes a roll of Astral + str + DRN. The caster wins ties. Whoever loses is pulled into the other's province.

This post has been edited by dfc103: 2021-03-22, 09:43
TOP
dfc103
2021-03-19, 12:30
Post #3


特珞祭司
Group Icon
 300
   19

Group: Avatar
Posts: 1061
Joined: 2006-08-07
Member No.: 8604


https://illwiki.com/dom5/user/loggy/void

Lost in the Void

Each turn you have a 100/voidsanity% chance to gain 1d6 (exploding) insanity
There is a 20% chance that:
If you are not a commander, you just die
There is a 25% chance for:
There is a further 5% chance (another independent d100) for something else to happen, maybe more on this later
Else something else happens to you (more on this later)
Otherwise, you get attacked. Roll a non exploding d25. (The number of creatures may just be an upper limit)
If 1-5: 6x lesser otherness
If 6: 4x vile thing
If 7: 3x thing of many eyes
If 8: 3x thing from the void
If 9: 5x elder thing
If 10: 4x formless spawn
If 11: 4x otherness
If 12: 3x thing from the beyond
If 13: 2x dweller in the deep
If 14: 4x: greater otherness
If 15: 5x thing that should not be
If 16: 1x vastness
If 17+: 2x greater otherness
I'm assuming that this somehow leads to you getting attacked by the above thing
If random (0-99) < 5 + [magnitude of unknown effect 435] + [magnitude of unknown effect 333]:
If random (0-99) < astral level * 20 + 10, you come back to a province you own, otherwise it's random
If we have a valid commander ID:
Pick a random province?
Return to that province
30% chance if (I think) you have less than s4 to get +1 astral and an extra 2d50 (exploding) insanity
Do a drowning check
Resolve battles where we end up

https://illwiki.com/dom5/user/loggy/patrol

Patrol

Eyes of god is 25 patrol strength
If 1d50 exploding is greater than (patrol strength + 25) then your patrollers do nothing
Patrol unrest reduction looks to be random 0-patrol strength inclusive
pop loss to patrolling may be 10*floor((unrest reduced by patrolling + 4)/5)
patrol corpse gain is looking like (pop killed by patrolling/10 - (pop killed by patrolling * 5)) + unrest reduction

https://illwiki.com/dom5/user/loggy/horrors

Horror Stuff

The "global horror level" is defined as follows:

Default is 1.
If AC is active, that is boosted to 10
If the cataclysm has hit, it is 20
If it is the turn before the cataclysm hit, it is 10
If it is 2 turns before the cataclysm hits AND AC is not up, it is 5

Spawning a horror:

Calculate an upgrade value.
By default this is 15
If a province is involved, set this to (DRAIN scale in the province + 3) * 5
Add the haunted unit's horror marks * 20 to this
If the upgrade value is less than 500, the upgrade value is set to 500 + floor((upgrade value -500) / 5) - Get the global horror level. If it is 1, consider it as if it were 3. Otherwise, set upgrade value to (upgrade value + floor(horror level / 2)) * floor(horror level / 2)
If asking for a lesser horror:
Get a random number 0-999
If upgrade value ⇐ this random number, you get a lesser horror of some description, otherwise, continue as if you asked for a greater horror
If looking for a greater horror:
Greater horror upgrade value = max(global horror level, floor(upgrade level/10))
If greater horror upgrade value ⇐ random number 0-999, make a greater horror, else continue as if asking for a doom horror
If looking for a doom horror:
complicated things

Astral Corruption and Cataclysm attacks

Technically, these happen any time the global horror level (as above) is greater than 1. They do not happen on things whose path is blood magic (but items with a mixed gem/slave component will still trigger for their gem part), nor do they happen to mindless or slave vessels. For items which take two different types of gems, the below is done independently for both parts. Cost reductions from forge bonuses apply to items.

Calc some number that I'm going to call the "horror score". This is (horror marks * 20 + 1) - province drain scale + (what I assume to be the number of gems you are spending)
Roll an exploding d(350/global horror level). If the die result <= the horror score, you get attacked
Roll an exploding d250. If the horror score >= the result, you get attacked by a doom horror
Otherwise, roll an exploding d100. If the horror score >= the result, you get attacked by a greater horror
Otherwise you get attacked by a lesser horror

Horror Mark attacks (this time from the executable directly)

Having more than 100 horror marks does nothing
Attractiveness = Markcount * 5 + 1
if (unit has the "holding a cursed item" affliction) , add a further markcount * 5
Attractiveness = ((Attractiveness - Drain scale) + Misfortune scale) * Global Horror Level
If random 0 - 999 < attractiveness, you get attacked

Eater of Gods

50% to skip a given god
Can't happen if banished or negative HP
If global horror level 1:
Attack chance is (marks / 5) + 1%, to a max of 5% [BUT no effect if not horror marked]
Otherwise: Attack chance is (1% + 2% per mark) WITHOUT the horror mark requirement

This means pretenders are 0.5% per turn to be attacked under AC or cataclysm even without marks
Hunter of Heroes

10% to skip eligible commanders
Same calculation as the above, except the random roll at the end is 0-49 so it is twice as likely (as the 0-99)

https://illwiki.com/dom5/user/loggy/battlefieldenchants

Battlefield Enchants

Specifically, what % of the area they strike and how often.

Method: A setup with a bunch of watchers (I forget how many offhand, but it is in the scripts) and logging how often they swing and how many watchers they hit each time, then turning that into a % of the battlefield.

Frequency seems to always be 320 ticks. The debug log spits a message every 1000 ticks, the 320 comes from the fact that there are seven 1000 tick "buckets" with three swings followed by one with four. This also comes up as the number of ticks the game decrements stun effects by in the debug log.

Takeaway from this is that battle enchantments swing 7500/320 = 23.4375 times per combat round.

Without going into detail, the number of squares per swing were simply obtained from letting the battle run to turn timer and analysing how many watchers were hit.

FV 1%
Rigor 3%
Fire storm 3%
Acid storm 3%
Wrathful skies 0.3%, doubled if storm
Wailing winds 5%
Soul drain 3%
Solar brilliance looks like two separate swings of 2.5% each
Rain of stones 1% per square to have a rock fall on it
Meteor shower every swing, make 5 rolls at 15% and drop that many meteors
Heat from hell 3%
Grip of winter 3%
Astral Tempest 2% damage and 4% interrupt (I assume this is what eff129 is)
The Ark 3%

Meteor shower is a bit special. The number of meteors summoned per swing varies (blue below). This seems to roughly correspond to 5 rolls at 15% each to drop a meteor (orange below).

https://illwiki.com/dom5/user/loggy/corrupt_dome

Dome of Corruption

This concerns itself only with the horror marking and eating part of the dome. The other stuff seems to be well known already.

This is done for each unit in in the province
There is a ((Sum of all non holy paths * 2) + 2)% chance for any unit to gain a horror mark. This does not affect mindless commanders or those that are slave vessels
If the chosen unit is a commander:
There is a (10*<number of horror marks on the commander>)% chance (with a max of 50%) for a commander to be targeted by a random lesser horror

https://illwiki.com/dom5/user/loggy/auras

Auras

(from 5.51b executable)

"Aura value" means the size of the aura ability. So for sleep cloud (10) the aura value would be 10.

All auras are checked every 320 ticks.
Aura Primary Effect Notes
Poison cloud Eff2007 Dmg2 (poison cloud with 1 damage ticks with lingering 2)
Heat / UWHeat Damage 4, eff variable (makes clouds with lingering 1 or 2 that do 2 AN heat fatigue damage) Normal heat and UWHeat values are additive in overwater provinces. Heat scale is added to aura value. If raining, -2 to aura value. If final aura value is 6 or less, clouds generate with lingering 1 instead of 2.
Chill Damage 5, eff variable (cloud with lingering 1 or 2 that do 2 AN cold fatigue damage) Cold scale is added to aura value. If some condition I don't understand, extra +2 to aura value. If final aura value is 6 or less, clouds generate with lingering 1 instead of 2.
Mind Slimer Slowness, no effect on mindless
"Fatigue Sacred Aura" (unit effect 326) 15AP fatigue damage to sacreds only Unknown vanilla source. Generates the same green/cyan particles as sleep aura.
Sleep aura Sleep, MR neg, no effect on friendlies/mindless/undead/inanimates MR check is considered to be from a nature source
Disbelieve 999 AN disbelieve damage, MR neg (to illusions only) MR check is considered to be from an astral source
Soul Vortex 1 AN life steal, MR negates, no effect on inanimate Aura value generated by the spell is always 8. MR check is considered to be from a death source
Plague Carrier Disease, MR neg MR check is considered to be from a death source
Contagious aspect of Plague spell effect (affliction 8) Plague, MR neg, no effect on inanimate This aura always has an aura value of 2. MR check is not associated with any particular path
Fear Fear, magnitude floor(aura value/5) + 3, enemies only Does nothing if aura value is less than 5. Providing that is the case, the aura value is increased by 6.

With that out the way, time to move on to…
Actual Aura Mechanics

In all cases, if the unit is somehow off the field (in a square where either coordinate is less than -1), do nothing.

If the aura value is over 600, it follows different rules:

Calculate the size of the battlefield in squares (this is normally 80x40 so 3200 squares total)
If the aura value is less than 666: number of pulses is given by:
X = floor(squares/6) + (squares » 31) [533 for a normal sized field]
final = (X » 4) - (X » 31) [33 for a normal sized field]
Otherwise: do the same, but final is instead (X » 3) - (X » 31) [66 for a normal sized field]
Each pulse hits a completely random square on the battlefield.

For normal auras:

If the aura value is less than or equal to a random number 0-23, do nothing.
Otherwise, add one to the pulse count and subtract 24 from the aura value. If a random number 0-23 is less than the new aura value, add another pulse. Repeat this step until a pulse is not added.
With the number of pulses calculated, all that remains is to place them.
If this is one of the first three pulses or the (now reduced) aura value is less than 10, pick a random square with a max distance of 1 (diagonals allowed). Otherwise, the max distance is 2. Repeat until the calculated number of pulses have been generated.

https://illwiki.com/dom5/user/loggy/adventures

Adventure Sites

I can't where the success percentage actually matters.

After each step, if the commander is dead or has changed province (via the Inferno trap), stop.

50% chance for traps
10% chance AND NOT (1/entries) chance: if successful, roll loot
50% chance for another trap
50% chance AND NOT (1/entries) chance for loot
10% chance for traps
50% chance for assassination
If the unit survived and isn't banished to inferno, it gains 20 xp and all the gold it got is added to the treasury.

Traps

All of these have equal chances. If the entry count requirement isn't matched, try again until one succeeds or 10000 attempts were made.
At least 1 prior entry: A crossbow bolt (12dmg, AP, untyped, magical)
At least 2 prior entries: A huge ballista bolt (25dmg, AP, untyped, magical)
At least 3 prior entries: A "dozen" crossbow bolts (6 hits, 12dmg, AP, untyped, magical)
At least 4 prior entries: A burst of flame (1d50+ dmg, AP, fire, magical)
At least 4 prior entries: A deadly cold (1d50+ dmg, AN, cold, magical)
At least 1 prior entry: A sword swiped out (10 dmg, untyped, magical, fully respects prot)
At least 4 prior entries: Become cursed. This could still happen if you were already cursed when you went in.
At least 10 prior entires: A major magic discharge (1d200+ dmg, AN, untyped, magical)
At least 6 prior entries: Disintegration (999 dmg, AN, untyped, magical, MR negates)
At least 7 prior entries: Send to inferno (unresistable)

Loot

As with traps, roll until one succeeds or 10000 attempts were made.

1/12 (At least 1 prior entry) 1d(350 * number of entries) gold, exploding
2/12 (At least 1 prior entry) Magic item, construction 0
1/12 (At least 3 prior entries) Magic item, construction 2
1/12 (At least 5 prior entries) Magic item, construction 4
1/12 (At least 7 prior entries) Magic item, construction 6
1/12 (At least 9 prior entries) Magic item, construction 8
5/12 (Any number of entries) 1d50+ gold

Assassinations

The Forgotten City has special rules here.
Others

Note that each percentage chance is rolled independently in the order indicated. The first successful roll is taken and the remainder skipped.

25% for 1d6+ Shadow Soldier#675
25% for 1 Ghost#566
25% for 1 Shade#676
Guaranteed for 1d25+ Longdead#195

The Forgotten City

5% chance for a random doom horror
Otherwise, equal chances for lesser or greater horrors (with the usual lesser horror multiplicity)

TOP
Xteam25boyz
2021-03-22, 07:13
Post #4


主物质者
Group Icon
 2
   0

Group: Primer
Posts: 8
Joined: 2019-06-30
Member No.: 82062


发现这里面很多概念都是以前没接触过的……尽力翻译了一半,剩下的有些东西实在是难以理解。

Attached File(s)
Attached File dom.docx ( 22.12k ) Number of downloads: 3
TOP
dfc103
2021-03-22, 09:43
Post #5


特珞祭司
Group Icon
 300
   19

Group: Avatar
Posts: 1061
Joined: 2006-08-07
Member No.: 8604


QUOTE(Xteam25boyz @ 2021-03-22, 07:13) *

发现这里面很多概念都是以前没接触过的……尽力翻译了一半,剩下的有些东西实在是难以理解。

好,我贴到原帖里了,剩下的有空慢慢弄。
TOP
Fast ReplyReply to this topicStart new topic
 


Time is now: 2021-06-21, 09:08