@@ -1,4 +1,6 @@
|
|
1
|
+
using System.Collections.Generic;
|
1
2
|
using System.Runtime.CompilerServices;
|
3
|
+
using TaleWorlds.Core;
|
2
4
|
using TaleWorlds.MountAndBlade;
|
3
5
|
using TaleWorlds.MountAndBlade.Network.Messages;
|
4
6
|
|
@@ -13,8 +15,13 @@ namespace NetworkMessages.FromClient
|
|
13
15
|
public int BufferLength { [CompilerGenerated]
|
14
16
|
get; }
|
15
17
|
|
18
|
+
public List<VirtualPlayer> ReceiverList { [CompilerGenerated]
|
19
|
+
get; }
|
20
|
+
|
16
21
|
public extern SendVoiceRecord();
|
17
22
|
|
18
23
|
public extern SendVoiceRecord(byte[] buffer, int bufferLength);
|
24
|
+
|
25
|
+
public extern SendVoiceRecord(byte[] buffer, int bufferLength, List<VirtualPlayer> receiverList);
|
19
26
|
}
|
20
27
|
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
using System.Runtime.CompilerServices;
|
2
|
+
using TaleWorlds.MountAndBlade;
|
3
|
+
using TaleWorlds.MountAndBlade.Network.Messages;
|
4
|
+
|
5
|
+
namespace NetworkMessages.FromClient
|
6
|
+
{
|
7
|
+
[DefineGameNetworkMessageType(GameNetworkMessageSendType.FromClient)]
|
8
|
+
public sealed class TeamInitialPerkInfoMessage : GameNetworkMessage
|
9
|
+
{
|
10
|
+
public int[] Perks { [CompilerGenerated]
|
11
|
+
get; }
|
12
|
+
|
13
|
+
public extern TeamInitialPerkInfoMessage(int[] perks);
|
14
|
+
|
15
|
+
public extern TeamInitialPerkInfoMessage();
|
16
|
+
}
|
17
|
+
}
|
@@ -6,13 +6,13 @@ using TaleWorlds.MountAndBlade.Network.Messages;
|
|
6
6
|
namespace NetworkMessages.FromServer
|
7
7
|
{
|
8
8
|
[DefineGameNetworkMessageType(GameNetworkMessageSendType.FromServer)]
|
9
|
-
public sealed class
|
9
|
+
public sealed class GoldGain : GameNetworkMessage
|
10
10
|
{
|
11
11
|
public List<KeyValuePair<ushort, int>> GoldChangeEventList { [CompilerGenerated]
|
12
12
|
get; }
|
13
13
|
|
14
|
-
public extern
|
14
|
+
public extern GoldGain(List<KeyValuePair<ushort, int>> goldChangeEventList);
|
15
15
|
|
16
|
-
public extern
|
16
|
+
public extern GoldGain();
|
17
17
|
}
|
18
18
|
}
|
@@ -7,10 +7,12 @@ namespace NetworkMessages.FromServer
|
|
7
7
|
[DefineGameNetworkMessageType(GameNetworkMessageSendType.FromServer)]
|
8
8
|
public sealed class SetRoundMVP : GameNetworkMessage
|
9
9
|
{
|
10
|
+
public int MVPCount;
|
11
|
+
|
10
12
|
public NetworkCommunicator MVPPeer { [CompilerGenerated]
|
11
13
|
get; }
|
12
14
|
|
13
|
-
public extern SetRoundMVP(NetworkCommunicator mvpPeer);
|
15
|
+
public extern SetRoundMVP(NetworkCommunicator mvpPeer, int mvpCount);
|
14
16
|
|
15
17
|
public extern SetRoundMVP();
|
16
18
|
}
|
@@ -119,6 +119,13 @@ namespace TaleWorlds.MountAndBlade
|
|
119
119
|
Alarmed
|
120
120
|
}
|
121
121
|
|
122
|
+
public enum MortalityState
|
123
|
+
{
|
124
|
+
Mortal,
|
125
|
+
Invulnerable,
|
126
|
+
Immortal
|
127
|
+
}
|
128
|
+
|
122
129
|
[EngineStruct("Agent_controller_type")]
|
123
130
|
public enum ControllerType
|
124
131
|
{
|
@@ -406,6 +413,8 @@ namespace TaleWorlds.MountAndBlade
|
|
406
413
|
|
407
414
|
public bool CanLeadFormationsRemotely { get; }
|
408
415
|
|
416
|
+
public bool IsDetachableFromFormation { get; }
|
417
|
+
|
409
418
|
public float AgentScale { get; }
|
410
419
|
|
411
420
|
public bool CrouchMode { get; }
|
@@ -529,7 +538,7 @@ namespace TaleWorlds.MountAndBlade
|
|
529
538
|
public bool HasBeenBuilt { [CompilerGenerated]
|
530
539
|
get; }
|
531
540
|
|
532
|
-
public
|
541
|
+
public MortalityState CurrentMortalityState { [CompilerGenerated]
|
533
542
|
get; }
|
534
543
|
|
535
544
|
public Equipment SpawnEquipment { [CompilerGenerated]
|
@@ -542,9 +551,6 @@ namespace TaleWorlds.MountAndBlade
|
|
542
551
|
public bool RandomizeColors { [CompilerGenerated]
|
543
552
|
get; }
|
544
553
|
|
545
|
-
public bool IsRangedCached { [CompilerGenerated]
|
546
|
-
get; }
|
547
|
-
|
548
554
|
public float CharacterPowerCached { [CompilerGenerated]
|
549
555
|
get; }
|
550
556
|
|
@@ -579,6 +585,9 @@ namespace TaleWorlds.MountAndBlade
|
|
579
585
|
get; [CompilerGenerated]
|
580
586
|
set; }
|
581
587
|
|
588
|
+
public bool IsRangedCached { [CompilerGenerated]
|
589
|
+
get; }
|
590
|
+
|
582
591
|
public bool HasMeleeWeaponCached { [CompilerGenerated]
|
583
592
|
get; }
|
584
593
|
|
@@ -757,6 +766,12 @@ namespace TaleWorlds.MountAndBlade
|
|
757
766
|
[MBCallback]
|
758
767
|
public extern void UpdateAgentStats();
|
759
768
|
|
769
|
+
[MBCallback]
|
770
|
+
public extern float GetWeaponInaccuracy(EquipmentIndex weaponSlotIndex, int weaponUsageIndex);
|
771
|
+
|
772
|
+
[MBCallback]
|
773
|
+
public extern float DebugGetHealth();
|
774
|
+
|
760
775
|
public extern void SetTargetPosition(Vec2 value);
|
761
776
|
|
762
777
|
public extern void SetGuardState(Agent guardedAgent, bool isGuarding);
|
@@ -1017,9 +1032,11 @@ namespace TaleWorlds.MountAndBlade
|
|
1017
1032
|
|
1018
1033
|
internal extern Vec2 GetWallDirectionOfRelativeFormationLocation();
|
1019
1034
|
|
1020
|
-
public extern
|
1035
|
+
public extern void SetMortalityState(MortalityState newState);
|
1021
1036
|
|
1022
|
-
public extern void
|
1037
|
+
public extern void ToggleInvulnerable();
|
1038
|
+
|
1039
|
+
public extern float GetArmLength();
|
1023
1040
|
|
1024
1041
|
public extern float GetArmWeight();
|
1025
1042
|
|
@@ -1149,13 +1166,15 @@ namespace TaleWorlds.MountAndBlade
|
|
1149
1166
|
|
1150
1167
|
public extern void AssignToGeneralsFormation();
|
1151
1168
|
|
1169
|
+
public extern void SetDetachableFromFormation(bool value);
|
1170
|
+
|
1152
1171
|
public extern void EnforceShieldUsage(UsageDirection shieldDirection);
|
1153
1172
|
|
1154
1173
|
public extern bool ObjectHasVacantPosition(UsableMissionObject gameObject);
|
1155
1174
|
|
1156
|
-
public extern void StopUsingGameObjectMT(bool isSuccessful = true, bool autoAttach = true);
|
1175
|
+
public extern void StopUsingGameObjectMT(bool isSuccessful = true, bool autoAttach = true, bool dontWieldWeaponAnyway = false);
|
1157
1176
|
|
1158
|
-
public extern void StopUsingGameObject(bool isSuccessful = true, bool autoAttach = true);
|
1177
|
+
public extern void StopUsingGameObject(bool isSuccessful = true, bool autoAttach = true, bool dontWieldWeaponAnyway = false);
|
1159
1178
|
|
1160
1179
|
public extern void HandleStopUsingAction();
|
1161
1180
|
|
@@ -1261,9 +1280,9 @@ namespace TaleWorlds.MountAndBlade
|
|
1261
1280
|
|
1262
1281
|
public extern void MakeDead(bool isKilled, ActionIndexCache actionIndex);
|
1263
1282
|
|
1264
|
-
public extern void RegisterBlow(Blow blow);
|
1283
|
+
public extern void RegisterBlow(Blow blow, in AttackCollisionData collisionData);
|
1265
1284
|
|
1266
|
-
public extern
|
1285
|
+
public extern void CreateBlowFromBlowAsReflection(in Blow blow, in AttackCollisionData collisionData, out Blow outBlow, out AttackCollisionData outCollisionData);
|
1267
1286
|
|
1268
1287
|
public extern void Tick(float dt);
|
1269
1288
|
|
@@ -1292,6 +1311,10 @@ namespace TaleWorlds.MountAndBlade
|
|
1292
1311
|
|
1293
1312
|
public override extern int GetHashCode();
|
1294
1313
|
|
1314
|
+
public extern bool TryGetImmediateEnemyAgentMovementData(out float maximumForwardUnlimitedSpeed, out Vec3 position);
|
1315
|
+
|
1316
|
+
public extern bool HasLostShield();
|
1317
|
+
|
1295
1318
|
internal extern void SetMountAgentBeforeBuild(Agent mount);
|
1296
1319
|
|
1297
1320
|
internal extern void SetMountInitialValues(TextObject name, string horseCreationKey);
|
@@ -49,6 +49,8 @@ namespace TaleWorlds.MountAndBlade
|
|
49
49
|
|
50
50
|
public bool AgentIsFemale { get; }
|
51
51
|
|
52
|
+
public int AgentRace { get; }
|
53
|
+
|
52
54
|
public IAgentOriginBase AgentOrigin { get; }
|
53
55
|
|
54
56
|
public Agent.ControllerType AgentController { [CompilerGenerated]
|
@@ -60,7 +62,7 @@ namespace TaleWorlds.MountAndBlade
|
|
60
62
|
public bool AgentIsReinforcement { [CompilerGenerated]
|
61
63
|
get; }
|
62
64
|
|
63
|
-
public bool
|
65
|
+
public bool AgentSpawnsIntoOwnFormation { [CompilerGenerated]
|
64
66
|
get; }
|
65
67
|
|
66
68
|
public float MakeUnitStandOutDistance { [CompilerGenerated]
|
@@ -124,7 +126,7 @@ namespace TaleWorlds.MountAndBlade
|
|
124
126
|
|
125
127
|
public extern AgentBuildData IsReinforcement(bool isReinforcement);
|
126
128
|
|
127
|
-
public extern AgentBuildData
|
129
|
+
public extern AgentBuildData SpawnsIntoOwnFormation(bool spawnIntoOwnFormation);
|
128
130
|
|
129
131
|
public extern AgentBuildData MakeUnitStandOutOfFormationDistance(float makeUnitStandOutDistance);
|
130
132
|
|
@@ -172,6 +174,8 @@ namespace TaleWorlds.MountAndBlade
|
|
172
174
|
|
173
175
|
public extern AgentBuildData IsFemale(bool isFemale);
|
174
176
|
|
177
|
+
public extern AgentBuildData Race(int race);
|
178
|
+
|
175
179
|
public extern AgentBuildData MountKey(string mountKey);
|
176
180
|
|
177
181
|
public extern AgentBuildData Index(int index);
|
@@ -42,10 +42,6 @@ namespace TaleWorlds.MountAndBlade
|
|
42
42
|
|
43
43
|
public float ArmorArms { get; set; }
|
44
44
|
|
45
|
-
public float LongestRangedWeaponSlotIndex { get; set; }
|
46
|
-
|
47
|
-
public float LongestRangedWeaponInaccuracy { get; set; }
|
48
|
-
|
49
45
|
public float AttributeRiding { get; set; }
|
50
46
|
|
51
47
|
public float AttributeShield { get; set; }
|
@@ -31,6 +31,16 @@ namespace TaleWorlds.MountAndBlade
|
|
31
31
|
|
32
32
|
public virtual extern int GetEffectiveSkill(BasicCharacterObject agentCharacter, IAgentOriginBase agentOrigin, Formation agentFormation, SkillObject skill);
|
33
33
|
|
34
|
+
public virtual extern int GetEffectiveSkillForWeapon(Agent agent, WeaponComponentData weapon);
|
35
|
+
|
36
|
+
public abstract float GetWeaponDamageMultiplier(BasicCharacterObject agentCharacter, IAgentOriginBase agentOrigin, Formation agentFormation, WeaponComponentData weapon);
|
37
|
+
|
38
|
+
public abstract float GetKnockBackResistance(Agent agent);
|
39
|
+
|
40
|
+
public abstract float GetKnockDownResistance(Agent agent, StrikeType strikeType = StrikeType.Invalid);
|
41
|
+
|
42
|
+
public abstract float GetDismountResistance(Agent agent);
|
43
|
+
|
34
44
|
public virtual extern string GetMissionDebugInfoForAgent(Agent agent);
|
35
45
|
|
36
46
|
protected extern int GetMeleeSkill(Agent agent, WeaponComponentData equippedItem, WeaponComponentData secondaryItem);
|
@@ -39,6 +49,8 @@ namespace TaleWorlds.MountAndBlade
|
|
39
49
|
|
40
50
|
protected extern void SetAiRelatedProperties(Agent agent, AgentDrivenProperties agentDrivenProperties, WeaponComponentData equippedItem, WeaponComponentData secondaryItem);
|
41
51
|
|
52
|
+
protected extern void SetAllWeaponInaccuracy(Agent agent, AgentDrivenProperties agentDrivenProperties, int equippedIndex, WeaponComponentData equippedWeaponComponent);
|
53
|
+
|
42
54
|
protected extern AgentStatCalculateModel();
|
43
55
|
}
|
44
56
|
}
|
@@ -96,6 +96,9 @@ namespace TaleWorlds.MountAndBlade
|
|
96
96
|
public bool AddColorRandomnessData { [CompilerGenerated]
|
97
97
|
get; }
|
98
98
|
|
99
|
+
public int RaceData { [CompilerGenerated]
|
100
|
+
get; }
|
101
|
+
|
99
102
|
public extern AgentVisualsData(AgentVisualsData agentVisualsData);
|
100
103
|
|
101
104
|
public extern AgentVisualsData();
|
@@ -126,6 +129,8 @@ namespace TaleWorlds.MountAndBlade
|
|
126
129
|
|
127
130
|
public extern AgentVisualsData Banner(Banner banner);
|
128
131
|
|
132
|
+
public extern AgentVisualsData Race(int race);
|
133
|
+
|
129
134
|
public extern GameEntity GetCachedWeaponEntity(EquipmentIndex slotIndex);
|
130
135
|
|
131
136
|
public extern AgentVisualsData CachedWeaponEntity(EquipmentIndex slotIndex, GameEntity cachedWeaponEntity);
|
@@ -22,6 +22,16 @@ namespace TaleWorlds.MountAndBlade
|
|
22
22
|
|
23
23
|
public sbyte ReinCollision2BoneIndex;
|
24
24
|
|
25
|
+
public sbyte ReinBoneIndexHead;
|
26
|
+
|
27
|
+
public sbyte ReinBoneIndexHeadRightAttachment;
|
28
|
+
|
29
|
+
public sbyte ReinBoneIndexHeadLeftAttachment;
|
30
|
+
|
31
|
+
public sbyte ReinBoneIndexRightHand;
|
32
|
+
|
33
|
+
public sbyte ReinBoneIndexLeftHand;
|
34
|
+
|
25
35
|
public sbyte HeadLookDirectionBoneIndex;
|
26
36
|
|
27
37
|
public sbyte ThoraxLookDirectionBoneIndex;
|
@@ -33,5 +43,9 @@ namespace TaleWorlds.MountAndBlade
|
|
33
43
|
public Vec3 ReinHandleLeftLocalPosition;
|
34
44
|
|
35
45
|
public Vec3 ReinHandleRightLocalPosition;
|
46
|
+
|
47
|
+
public string ReinSkeleton;
|
48
|
+
|
49
|
+
public string ReinCollisionBody;
|
36
50
|
}
|
37
51
|
}
|
@@ -126,6 +126,8 @@ namespace TaleWorlds.MountAndBlade
|
|
126
126
|
|
127
127
|
public extern void SetCollisionBoneIndexForAreaDamage(sbyte boneIndex);
|
128
128
|
|
129
|
+
public extern void UpdateCollisionPositionAndBoneForReflect(int inflictedDamage, Vec3 position, sbyte boneIndex);
|
130
|
+
|
129
131
|
public static extern AttackCollisionData GetAttackCollisionDataForDebugPurpose(bool _attackBlockedWithShield, bool _correctSideShieldBlock, bool _isAlternativeAttack, bool _isColliderAgent, bool _collidedWithShieldOnBack, bool _isMissile, bool _isMissileBlockedWithWeapon, bool _missileHasPhysics, bool _entityExists, bool _thrustTipHit, bool _missileGoneUnderWater, bool _missileGoneOutOfBorder, CombatCollisionResult collisionResult, int affectorWeaponSlotOrMissileIndex, int StrikeType, int DamageType, sbyte CollisionBoneIndex, BoneBodyPartType VictimHitBodyPart, sbyte AttackBoneIndex, Agent.UsageDirection AttackDirection, int PhysicsMaterialIndex, CombatHitResultFlags CollisionHitResultFlags, float AttackProgress, float CollisionDistanceOnWeapon, float AttackerStunPeriod, float DefenderStunPeriod, float MissileTotalDamage, float MissileInitialSpeed, float ChargeVelocity, float FallSpeed, Vec3 WeaponRotUp, Vec3 _weaponBlowDir, Vec3 CollisionGlobalPosition, Vec3 MissileVelocity, Vec3 MissileStartingPosition, Vec3 VictimAgentCurVelocity, Vec3 GroundNormal);
|
130
132
|
}
|
131
133
|
}
|
@@ -7,8 +7,6 @@ namespace TaleWorlds.MountAndBlade
|
|
7
7
|
{
|
8
8
|
public class AttackEntityOrderDetachment : IDetachment
|
9
9
|
{
|
10
|
-
public bool IsUsedByFormations { get; }
|
11
|
-
|
12
10
|
public IReadOnlyList<Formation> UserFormations { get; }
|
13
11
|
|
14
12
|
public IEnumerable<Agent> Agents { get; }
|
@@ -68,12 +68,20 @@ namespace TaleWorlds.MountAndBlade
|
|
68
68
|
|
69
69
|
public BasicCharacterObject AttackerAgentCharacter;
|
70
70
|
|
71
|
+
public BasicCharacterObject AttackerRiderAgentCharacter;
|
72
|
+
|
71
73
|
public IAgentOriginBase AttackerAgentOrigin;
|
72
74
|
|
75
|
+
public IAgentOriginBase AttackerRiderAgentOrigin;
|
76
|
+
|
73
77
|
public BasicCharacterObject VictimAgentCharacter;
|
74
78
|
|
79
|
+
public BasicCharacterObject VictimRiderAgentCharacter;
|
80
|
+
|
75
81
|
public IAgentOriginBase VictimAgentOrigin;
|
76
82
|
|
83
|
+
public IAgentOriginBase VictimRiderAgentOrigin;
|
84
|
+
|
77
85
|
public Vec2 AttackerAgentMovementDirection;
|
78
86
|
|
79
87
|
public Vec3 AttackerAgentVelocity;
|
@@ -132,6 +140,6 @@ namespace TaleWorlds.MountAndBlade
|
|
132
140
|
|
133
141
|
public extern AttackInformation(Agent attackerAgent, Agent victimAgent, GameEntity hitObject, in AttackCollisionData attackCollisionData, in MissionWeapon attackerWeapon);
|
134
142
|
|
135
|
-
public extern AttackInformation(float armorAmountFloat, WeaponComponentData shieldOnBack, AgentFlag victimAgentFlag, float victimAgentAbsorbedDamageRatio, float damageMultiplierOfBone, float combatDifficultyMultiplier, MissionWeapon victimMainHandWeapon, MissionWeapon victimShield, bool canGiveDamageToAgentShield, bool isVictimAgentLeftStance, bool isFriendlyFire, bool doesAttackerHaveMountAgent, bool doesVictimHaveMountAgent, Vec2 attackerAgentMovementVelocity, Vec2 attackerAgentMountMovementDirection, float attackerMovementDirectionAsAngle, Vec2 victimAgentMovementVelocity, Vec2 victimAgentMountMovementDirection, float victimMovementDirectionAsAngle, bool isVictimAgentSameWithAttackerAgent, bool isAttackerAgentMine, bool doesAttackerHaveRiderAgent, bool isAttackerAgentRiderAgentMine, bool isAttackerAgentMount, bool isVictimAgentMine, bool doesVictimHaveRiderAgent, bool isVictimAgentRiderAgentMine, bool isVictimAgentMount, bool isAttackerAgentNull, bool isAttackerAIControlled, BasicCharacterObject attackerAgentCharacter, IAgentOriginBase attackerAgentOrigin, BasicCharacterObject victimAgentCharacter, IAgentOriginBase victimAgentOrigin, Vec2 attackerAgentMovementDirection, Vec3 attackerAgentVelocity, float attackerAgentMountChargeDamageProperty, Vec3 attackerAgentCurrentWeaponOffset, bool isAttackerAgentHuman, bool isAttackerAgentActive, bool isAttackerAgentDoingPassiveAttack, bool isVictimAgentNull, float victimAgentScale, float victimAgentHealth, float victimAgentMaxHealth, float victimAgentWeight, float victimAgentTotalEncumbrance, bool isVictimAgentHuman, Vec3 victimAgentVelocity, Vec3 victimAgentPosition, int weaponAttachBoneIndex, MissionWeapon offHandItem, bool isHeadShot, bool isVictimRiderAgentSameAsAttackerAgent, bool isAttackerPlayer, bool isVictimPlayer);
|
143
|
+
public extern AttackInformation(float armorAmountFloat, WeaponComponentData shieldOnBack, AgentFlag victimAgentFlag, float victimAgentAbsorbedDamageRatio, float damageMultiplierOfBone, float combatDifficultyMultiplier, MissionWeapon victimMainHandWeapon, MissionWeapon victimShield, bool canGiveDamageToAgentShield, bool isVictimAgentLeftStance, bool isFriendlyFire, bool doesAttackerHaveMountAgent, bool doesVictimHaveMountAgent, Vec2 attackerAgentMovementVelocity, Vec2 attackerAgentMountMovementDirection, float attackerMovementDirectionAsAngle, Vec2 victimAgentMovementVelocity, Vec2 victimAgentMountMovementDirection, float victimMovementDirectionAsAngle, bool isVictimAgentSameWithAttackerAgent, bool isAttackerAgentMine, bool doesAttackerHaveRiderAgent, bool isAttackerAgentRiderAgentMine, bool isAttackerAgentMount, bool isVictimAgentMine, bool doesVictimHaveRiderAgent, bool isVictimAgentRiderAgentMine, bool isVictimAgentMount, bool isAttackerAgentNull, bool isAttackerAIControlled, BasicCharacterObject attackerAgentCharacter, BasicCharacterObject attackerRiderAgentCharacter, IAgentOriginBase attackerAgentOrigin, IAgentOriginBase attackerRiderAgentOrigin, BasicCharacterObject victimAgentCharacter, BasicCharacterObject victimRiderAgentCharacter, IAgentOriginBase victimAgentOrigin, IAgentOriginBase victimRiderAgentOrigin, Vec2 attackerAgentMovementDirection, Vec3 attackerAgentVelocity, float attackerAgentMountChargeDamageProperty, Vec3 attackerAgentCurrentWeaponOffset, bool isAttackerAgentHuman, bool isAttackerAgentActive, bool isAttackerAgentDoingPassiveAttack, bool isVictimAgentNull, float victimAgentScale, float victimAgentHealth, float victimAgentMaxHealth, float victimAgentWeight, float victimAgentTotalEncumbrance, bool isVictimAgentHuman, Vec3 victimAgentVelocity, Vec3 victimAgentPosition, int weaponAttachBoneIndex, MissionWeapon offHandItem, bool isHeadShot, bool isVictimRiderAgentSameAsAttackerAgent, bool isAttackerPlayer, bool isVictimPlayer);
|
136
144
|
}
|
137
145
|
}
|
@@ -59,6 +59,8 @@ namespace TaleWorlds.MountAndBlade
|
|
59
59
|
|
60
60
|
public const bool DefaultEnableDamageTakenVisuals = true;
|
61
61
|
|
62
|
+
public const bool DefaultEnableVoiceChat = true;
|
63
|
+
|
62
64
|
public const bool DefaultEnableDeathIcon = true;
|
63
65
|
|
64
66
|
public const bool DefaultEnableNetworkAlertIcons = true;
|
@@ -81,6 +83,10 @@ namespace TaleWorlds.MountAndBlade
|
|
81
83
|
|
82
84
|
public const bool DefaultHidePasswordProtectedServers = false;
|
83
85
|
|
86
|
+
public const bool DefaultHideUnofficialServers = false;
|
87
|
+
|
88
|
+
public const bool DefaultHideModuleIncompatibleServers = false;
|
89
|
+
|
84
90
|
public const int DefaultOrderLayoutType = 0;
|
85
91
|
|
86
92
|
public const bool DefaultHideBattleUI = false;
|
@@ -107,9 +113,7 @@ namespace TaleWorlds.MountAndBlade
|
|
107
113
|
get; [CompilerGenerated]
|
108
114
|
set; }
|
109
115
|
|
110
|
-
public static int NumberOfCorpses {
|
111
|
-
get; [CompilerGenerated]
|
112
|
-
set; }
|
116
|
+
public static int NumberOfCorpses { get; set; }
|
113
117
|
|
114
118
|
public static bool ShowBlood { [CompilerGenerated]
|
115
119
|
get; [CompilerGenerated]
|
@@ -223,10 +227,22 @@ namespace TaleWorlds.MountAndBlade
|
|
223
227
|
get; [CompilerGenerated]
|
224
228
|
set; }
|
225
229
|
|
230
|
+
public static bool HideUnofficialServers { [CompilerGenerated]
|
231
|
+
get; [CompilerGenerated]
|
232
|
+
set; }
|
233
|
+
|
234
|
+
public static bool HideModuleIncompatibleServers { [CompilerGenerated]
|
235
|
+
get; [CompilerGenerated]
|
236
|
+
set; }
|
237
|
+
|
226
238
|
public static int OrderType { get; set; }
|
227
239
|
|
228
240
|
public static int OrderLayoutType { get; set; }
|
229
241
|
|
242
|
+
public static bool EnableVoiceChat { [CompilerGenerated]
|
243
|
+
get; [CompilerGenerated]
|
244
|
+
set; }
|
245
|
+
|
230
246
|
public static bool EnableDeathIcon { [CompilerGenerated]
|
231
247
|
get; [CompilerGenerated]
|
232
248
|
set; }
|
@@ -262,5 +278,7 @@ namespace TaleWorlds.MountAndBlade
|
|
262
278
|
public static extern int GetRealBattleSize();
|
263
279
|
|
264
280
|
public static extern int GetRealBattleSizeForSiege();
|
281
|
+
|
282
|
+
public static extern int GetRealBattleSizeForSallyOut();
|
265
283
|
}
|
266
284
|
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
using System.Runtime.CompilerServices;
|
2
|
+
|
3
|
+
namespace TaleWorlds.MountAndBlade
|
4
|
+
{
|
5
|
+
public class BattlePowerCalculationLogic : MissionLogic
|
6
|
+
{
|
7
|
+
public bool IsTeamPowersCalculated { [CompilerGenerated]
|
8
|
+
get; }
|
9
|
+
|
10
|
+
public extern BattlePowerCalculationLogic();
|
11
|
+
|
12
|
+
public extern float GetTotalTeamPower(Team team);
|
13
|
+
}
|
14
|
+
}
|
@@ -1,80 +1,53 @@
|
|
1
1
|
using System.Collections.Generic;
|
2
|
-
using System.Runtime.CompilerServices;
|
3
2
|
using TaleWorlds.Core;
|
4
|
-
using TaleWorlds.Engine;
|
5
3
|
using TaleWorlds.Library;
|
6
4
|
|
7
5
|
namespace TaleWorlds.MountAndBlade
|
8
6
|
{
|
9
7
|
public class BattleSideDeploymentPlan
|
10
8
|
{
|
11
|
-
public const float VerticalFormationGap = 3f;
|
12
|
-
|
13
|
-
public const float HorizontalFormationGap = 2f;
|
14
|
-
|
15
|
-
public const float DeployZoneForwardMargin = 10f;
|
16
|
-
|
17
|
-
public const float DeployZoneExtraWidthPerTroop = 1.5f;
|
18
|
-
|
19
|
-
public const float DeployZoneMinimumWidth = 100f;
|
20
|
-
|
21
9
|
public readonly BattleSideEnum Side;
|
22
10
|
|
23
|
-
public bool SpawnWithHorses;
|
24
|
-
|
25
|
-
public bool IsPlanMade { [CompilerGenerated]
|
26
|
-
get; }
|
27
|
-
|
28
|
-
public int BattleSize { [CompilerGenerated]
|
29
|
-
get; }
|
11
|
+
public bool SpawnWithHorses { get; }
|
30
12
|
|
31
|
-
public
|
32
|
-
|
33
|
-
public bool HasDeploymentBoundaries { [CompilerGenerated]
|
34
|
-
get; }
|
35
|
-
|
36
|
-
public int TroopCount { get; }
|
37
|
-
|
38
|
-
public int FootTroopCount { get; }
|
39
|
-
|
40
|
-
public int MountedTroopCount { get; }
|
13
|
+
public extern BattleSideDeploymentPlan(Mission mission, BattleSideEnum side);
|
41
14
|
|
42
|
-
public
|
15
|
+
public extern void CreateReinforcementPlans();
|
43
16
|
|
44
|
-
public
|
17
|
+
public extern void SetSpawnWithHorses(bool value);
|
45
18
|
|
46
|
-
public
|
19
|
+
public extern void PlanBattleDeployment(FormationSceneSpawnEntry[,] formationSceneSpawnEntries, DeploymentPlanType planType, float spawnPathOffset);
|
47
20
|
|
48
|
-
public extern
|
21
|
+
public extern void UpdateReinforcementPlans();
|
49
22
|
|
50
|
-
public extern
|
23
|
+
public extern void ClearPlans(DeploymentPlanType planType);
|
51
24
|
|
52
|
-
public extern void
|
25
|
+
public extern void ClearAddedTroops(DeploymentPlanType planType);
|
53
26
|
|
54
|
-
public extern void
|
27
|
+
public extern void AddTroops(FormationClass formationClass, int footTroopCount, int mountedTroopCount, DeploymentPlanType planType);
|
55
28
|
|
56
|
-
public extern
|
29
|
+
public extern bool IsFirstPlan(DeploymentPlanType planType);
|
57
30
|
|
58
|
-
public extern
|
31
|
+
public extern bool IsPlanMade(DeploymentPlanType planType);
|
59
32
|
|
60
|
-
public extern
|
33
|
+
public extern float GetSpawnPathOffset(DeploymentPlanType planType);
|
61
34
|
|
62
|
-
public extern
|
35
|
+
public extern int GetTroopCount(DeploymentPlanType planType);
|
63
36
|
|
64
|
-
public extern
|
37
|
+
public extern MatrixFrame GetDeploymentFrame(DeploymentPlanType planType);
|
65
38
|
|
66
|
-
public extern
|
39
|
+
public extern MBReadOnlyDictionary<string, List<Vec2>> GetDeploymentBoundaries(DeploymentPlanType planType);
|
67
40
|
|
68
|
-
public extern
|
41
|
+
public extern float GetDeploymentWidth(DeploymentPlanType planType);
|
69
42
|
|
70
|
-
public extern
|
43
|
+
public extern bool HasDeploymentBoundaries(DeploymentPlanType planType);
|
71
44
|
|
72
|
-
public extern
|
45
|
+
public extern IFormationDeploymentPlan GetFormationPlan(FormationClass fClass, DeploymentPlanType planType);
|
73
46
|
|
74
|
-
public extern bool
|
47
|
+
public extern bool IsInitialPlanSuitableForFormations((int, int)[] troopDataPerFormationClass);
|
75
48
|
|
76
|
-
public extern bool
|
49
|
+
public extern bool IsPositionInsideInitialDeploymentBoundaries(in Vec2 position);
|
77
50
|
|
78
|
-
public extern Vec2
|
51
|
+
public extern Vec2 GetClosestInitialDeploymentBoundaryPosition(in Vec2 position);
|
79
52
|
}
|
80
53
|
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
using TaleWorlds.Engine;
|
2
|
+
using TaleWorlds.Library;
|
3
|
+
|
4
|
+
namespace TaleWorlds.MountAndBlade
|
5
|
+
{
|
6
|
+
public class BattleSideSpawnPathSelector
|
7
|
+
{
|
8
|
+
public const float MaxNeighborCount = 2f;
|
9
|
+
|
10
|
+
public SpawnPathData InitialSpawnPath { get; }
|
11
|
+
|
12
|
+
public MBReadOnlyList<SpawnPathData> ReinforcementPaths { get; }
|
13
|
+
|
14
|
+
public extern BattleSideSpawnPathSelector(Mission mission, Path initialPath, float initialPathCenterRatio, bool initialPathIsInverted);
|
15
|
+
|
16
|
+
public extern bool HasReinforcementPath(Path path);
|
17
|
+
}
|
18
|
+
}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
using System.Runtime.CompilerServices;
|
2
|
+
using TaleWorlds.Core;
|
3
|
+
using TaleWorlds.Engine;
|
4
|
+
using TaleWorlds.Library;
|
5
|
+
|
6
|
+
namespace TaleWorlds.MountAndBlade
|
7
|
+
{
|
8
|
+
public class BattleSpawnPathSelector
|
9
|
+
{
|
10
|
+
public bool IsInitialized { [CompilerGenerated]
|
11
|
+
get; }
|
12
|
+
|
13
|
+
public Path InitialPath { get; }
|
14
|
+
|
15
|
+
public extern BattleSpawnPathSelector(Mission mission);
|
16
|
+
|
17
|
+
public extern void Initialize();
|
18
|
+
|
19
|
+
public extern bool HasPath(Path path);
|
20
|
+
|
21
|
+
public extern bool GetInitialPathDataOfSide(BattleSideEnum side, out SpawnPathData pathPathData);
|
22
|
+
|
23
|
+
public extern MBReadOnlyList<SpawnPathData> GetReinforcementPathsDataOfSide(BattleSideEnum side);
|
24
|
+
|
25
|
+
public static extern bool FindBestInitialPath(Mission mission, out Path path, out float centerRatio, out bool isInverted);
|
26
|
+
}
|
27
|
+
}
|
@@ -2,8 +2,6 @@ namespace TaleWorlds.MountAndBlade
|
|
2
2
|
{
|
3
3
|
public class BehaviorFireFromInfantryCover : BehaviorComponent
|
4
4
|
{
|
5
|
-
public Formation _mainFormation;
|
6
|
-
|
7
5
|
public extern BehaviorFireFromInfantryCover(Formation formation);
|
8
6
|
|
9
7
|
protected override extern void CalculateCurrentOrder();
|
@@ -13,6 +13,8 @@ namespace TaleWorlds.MountAndBlade
|
|
13
13
|
|
14
14
|
public BodyProperties BodyPropertiesMax;
|
15
15
|
|
16
|
+
public int Race;
|
17
|
+
|
16
18
|
public bool IsFemale;
|
17
19
|
|
18
20
|
public BasicCharacterObject Character { [CompilerGenerated]
|
@@ -121,6 +121,8 @@ namespace TaleWorlds.MountAndBlade
|
|
121
121
|
|
122
122
|
protected internal override extern void OnTick(float dt);
|
123
123
|
|
124
|
+
protected override extern bool IsAgentOnInconvenientNavmesh(Agent agent, StandingPoint standingPoint);
|
125
|
+
|
124
126
|
public extern TargetFlags GetTargetFlags();
|
125
127
|
|
126
128
|
public extern float GetTargetValue(List<Vec3> weaponPos);
|
@@ -1,3 +1,4 @@
|
|
1
|
+
using System;
|
1
2
|
using System.Runtime.CompilerServices;
|
2
3
|
using TaleWorlds.Core;
|
3
4
|
using TaleWorlds.PlayerServices;
|
@@ -6,6 +7,8 @@ namespace TaleWorlds.MountAndBlade
|
|
6
7
|
{
|
7
8
|
public class ChatBox : GameHandler
|
8
9
|
{
|
10
|
+
public Action<NetworkCommunicator, string> OnMessageReceivedAtDedicatedServer;
|
11
|
+
|
9
12
|
public bool IsContentRestricted { [CompilerGenerated]
|
10
13
|
get; }
|
11
14
|
|
@@ -87,12 +90,14 @@ namespace TaleWorlds.MountAndBlade
|
|
87
90
|
|
88
91
|
public extern void SetPlayerMuted(PlayerId playerID, bool isMuted);
|
89
92
|
|
90
|
-
public extern void
|
91
|
-
|
92
|
-
public extern void OnPlayerUnmuted(PlayerId unmutedPlayer);
|
93
|
+
public extern void SetPlayerMutedFromPlatform(PlayerId playerID, bool isMuted);
|
93
94
|
|
94
95
|
public extern bool IsPlayerMuted(PlayerId player);
|
95
96
|
|
97
|
+
public extern bool IsPlayerMutedFromPlatform(PlayerId player);
|
98
|
+
|
99
|
+
public extern bool IsPlayerMutedFromGame(PlayerId player);
|
100
|
+
|
96
101
|
public extern void SetChatFilterLists(string[] profanityList, string[] allowList);
|
97
102
|
|
98
103
|
public extern void InitializeForMultiplayer();
|
@@ -80,13 +80,14 @@ namespace TaleWorlds.MountAndBlade
|
|
80
80
|
|
81
81
|
public extern Vec2? GetLocalDirectionOfUnitOrDefault(IFormationUnit unit);
|
82
82
|
|
83
|
-
|
84
|
-
public extern IEnumerable<IFormationUnit> GetUnitsToPop(int count);
|
83
|
+
public extern List<IFormationUnit> GetUnitsToPop(int count);
|
85
84
|
|
86
|
-
|
85
|
+
public extern List<IFormationUnit> GetUnitsToPop(int count, Vec3 targetPosition);
|
86
|
+
|
87
|
+
[IteratorStateMachine(typeof(_003CGetUnitsToPopWithCondition_003Ed__70))]
|
87
88
|
public extern IEnumerable<IFormationUnit> GetUnitsToPopWithCondition(int count, Func<IFormationUnit, bool> currentCondition);
|
88
89
|
|
89
|
-
[IteratorStateMachine(typeof(
|
90
|
+
[IteratorStateMachine(typeof(_003CGetSingleUnitToPopWithPriority_003Ed__71))]
|
90
91
|
public extern IEnumerable<IFormationUnit> GetSingleUnitToPopWithPriority(Func<IFormationUnit, int> currentCondition);
|
91
92
|
|
92
93
|
public extern IFormationUnit GetNeighbourUnit(IFormationUnit unit, int fileOffset, int rankOffset);
|
@@ -103,7 +104,7 @@ namespace TaleWorlds.MountAndBlade
|
|
103
104
|
|
104
105
|
public extern Vec2? GetLocalWallDirectionOfRelativeFormationLocation(IFormationUnit unit);
|
105
106
|
|
106
|
-
[IteratorStateMachine(typeof(
|
107
|
+
[IteratorStateMachine(typeof(_003CGetUnavailableUnitPositions_003Ed__80))]
|
107
108
|
public extern IEnumerable<Vec2> GetUnavailableUnitPositions();
|
108
109
|
|
109
110
|
public extern float GetOccupationWidth(int unitCount);
|
@@ -150,7 +151,7 @@ namespace TaleWorlds.MountAndBlade
|
|
150
151
|
|
151
152
|
public extern float GetDirectionChangeTendencyOfUnit(IFormationUnit unit);
|
152
153
|
|
153
|
-
[IteratorStateMachine(typeof(
|
154
|
+
[IteratorStateMachine(typeof(_003CGetUnitsAtVanguardFile_003Ed__122<>))]
|
154
155
|
public extern IEnumerable<T> GetUnitsAtVanguardFile<T>() where T : IFormationUnit;
|
155
156
|
}
|
156
157
|
}
|
@@ -140,6 +140,12 @@ namespace TaleWorlds.MountAndBlade
|
|
140
140
|
|
141
141
|
public static CompressionInfo.Float IntermissionTimerCompressionInfo;
|
142
142
|
|
143
|
+
public static CompressionInfo.Integer IntermissionCultureVoteItemCountCompressionInfo;
|
144
|
+
|
145
|
+
public static CompressionInfo.Integer IntermissionMapVoteItemCountCompressionInfo;
|
146
|
+
|
147
|
+
public static CompressionInfo.Integer IntermissionVoterCountCompressionInfo;
|
148
|
+
|
143
149
|
public static CompressionInfo.Integer ActionCodeCompressionInfo;
|
144
150
|
|
145
151
|
public static CompressionInfo.Integer AnimationIndexCompressionInfo;
|
@@ -6,10 +6,6 @@ namespace TaleWorlds.MountAndBlade
|
|
6
6
|
|
7
7
|
public const string ContinueKey = "ContinueKey";
|
8
8
|
|
9
|
-
public const string ContinueKeyRDown = "ContinueKeyRDown";
|
10
|
-
|
11
|
-
public const string ContinueKeyRRight = "ContinueKeyRRight";
|
12
|
-
|
13
9
|
public const string ContinueClick = "ContinueClick";
|
14
10
|
|
15
11
|
public extern ConversationHotKeyCategory();
|
@@ -15,7 +15,7 @@ namespace TaleWorlds.MountAndBlade
|
|
15
15
|
extern void IManagedComponent.OnStart();
|
16
16
|
|
17
17
|
[MBCallback]
|
18
|
-
internal static extern void
|
18
|
+
internal static extern void OnLoadCommonFinished();
|
19
19
|
|
20
20
|
extern void IManagedComponent.OnCustomCallbackMethodPassed(string name, Delegate method);
|
21
21
|
|
@@ -16,6 +16,8 @@ namespace TaleWorlds.MountAndBlade
|
|
16
16
|
|
17
17
|
public const string Paste = "Paste";
|
18
18
|
|
19
|
+
public new const string Confirm = "Confirm";
|
20
|
+
|
19
21
|
public extern CraftingHotkeyCategory();
|
20
22
|
}
|
21
23
|
}
|
@@ -4,7 +4,7 @@ namespace TaleWorlds.MountAndBlade
|
|
4
4
|
{
|
5
5
|
public class CustomBattleAgentLogic : MissionLogic
|
6
6
|
{
|
7
|
-
public override extern void OnAgentHit(Agent affectedAgent, Agent affectorAgent,
|
7
|
+
public override extern void OnAgentHit(Agent affectedAgent, Agent affectorAgent, in MissionWeapon affectorWeapon, in Blow blow, in AttackCollisionData attackCollisionData);
|
8
8
|
|
9
9
|
public override extern void OnAgentRemoved(Agent affectedAgent, Agent affectorAgent, AgentState agentState, KillingBlow killingBlow);
|
10
10
|
|
@@ -12,6 +12,14 @@ namespace TaleWorlds.MountAndBlade
|
|
12
12
|
|
13
13
|
public override extern void UpdateAgentStats(Agent agent, AgentDrivenProperties agentDrivenProperties);
|
14
14
|
|
15
|
+
public override extern float GetWeaponDamageMultiplier(BasicCharacterObject agentCharacter, IAgentOriginBase agentOrigin, Formation agentFormation, WeaponComponentData weapon);
|
16
|
+
|
17
|
+
public override extern float GetKnockBackResistance(Agent agent);
|
18
|
+
|
19
|
+
public override extern float GetKnockDownResistance(Agent agent, StrikeType strikeType = StrikeType.Invalid);
|
20
|
+
|
21
|
+
public override extern float GetDismountResistance(Agent agent);
|
22
|
+
|
15
23
|
public extern CustomBattleAgentStatCalculateModel();
|
16
24
|
}
|
17
25
|
}
|
@@ -14,8 +14,6 @@ namespace TaleWorlds.MountAndBlade
|
|
14
14
|
public extern int GetTroopSizeLimitForFormation(FormationClass formClass);
|
15
15
|
}
|
16
16
|
|
17
|
-
public int NumActiveTroops { get; }
|
18
|
-
|
19
17
|
public int NumRemovedTroops { get; }
|
20
18
|
|
21
19
|
public int NumTroopsNotSupplied { get; }
|
@@ -28,6 +26,8 @@ namespace TaleWorlds.MountAndBlade
|
|
28
26
|
|
29
27
|
public extern IEnumerable<IAgentOriginBase> SupplyTroops(int numberToAllocate);
|
30
28
|
|
29
|
+
public extern IEnumerable<IAgentOriginBase> GetAllTroops();
|
30
|
+
|
31
31
|
public extern void OnTroopWounded();
|
32
32
|
|
33
33
|
public extern void OnTroopKilled();
|
@@ -0,0 +1,54 @@
|
|
1
|
+
using TaleWorlds.Core;
|
2
|
+
using TaleWorlds.MountAndBlade.ComponentInterfaces;
|
3
|
+
|
4
|
+
namespace TaleWorlds.MountAndBlade
|
5
|
+
{
|
6
|
+
public class DefaultAgentApplyDamageModel : AgentApplyDamageModel
|
7
|
+
{
|
8
|
+
public override extern float CalculateDamage(in AttackInformation attackInformation, in AttackCollisionData collisionData, in MissionWeapon weapon, float baseDamage);
|
9
|
+
|
10
|
+
public override extern void DecideMissileWeaponFlags(Agent attackerAgent, MissionWeapon missileWeapon, ref WeaponFlags missileWeaponFlags);
|
11
|
+
|
12
|
+
public override extern bool DecideCrushedThrough(Agent attackerAgent, Agent defenderAgent, float totalAttackEnergy, Agent.UsageDirection attackDirection, StrikeType strikeType, WeaponComponentData defendItem, bool isPassiveUsage);
|
13
|
+
|
14
|
+
public override extern void CalculateCollisionStunMultipliers(Agent attackerAgent, Agent defenderAgent, bool isAlternativeAttack, CombatCollisionResult collisionResult, WeaponComponentData attackerWeapon, WeaponComponentData defenderWeapon, out float attackerStunMultiplier, out float defenderStunMultiplier);
|
15
|
+
|
16
|
+
public override extern bool CanWeaponDismount(Agent attackerAgent, WeaponComponentData attackerWeapon, in Blow blow, in AttackCollisionData collisionData);
|
17
|
+
|
18
|
+
public override extern bool CanWeaponKnockback(Agent attackerAgent, WeaponComponentData attackerWeapon, in Blow blow, in AttackCollisionData collisionData);
|
19
|
+
|
20
|
+
public override extern bool CanWeaponKnockDown(Agent attackerAgent, Agent victimAgent, WeaponComponentData attackerWeapon, in Blow blow, in AttackCollisionData collisionData);
|
21
|
+
|
22
|
+
public override extern float GetDismountPenetration(Agent attackerAgent, WeaponComponentData attackerWeapon, in Blow blow, in AttackCollisionData attackCollisionData);
|
23
|
+
|
24
|
+
public override extern float GetKnockBackPenetration(Agent attackerAgent, WeaponComponentData attackerWeapon, in Blow blow, in AttackCollisionData attackCollisionData);
|
25
|
+
|
26
|
+
public override extern float GetKnockDownPenetration(Agent attackerAgent, WeaponComponentData attackerWeapon, in Blow blow, in AttackCollisionData attackCollisionData);
|
27
|
+
|
28
|
+
public override extern float GetHorseChargePenetration();
|
29
|
+
|
30
|
+
public override extern float CalculateStaggerThresholdMultiplier(Agent defenderAgent);
|
31
|
+
|
32
|
+
public override extern float CalculatePassiveAttackDamage(BasicCharacterObject attackerCharacter, in AttackCollisionData collisionData, float baseDamage);
|
33
|
+
|
34
|
+
public override extern MeleeCollisionReaction DecidePassiveAttackCollisionReaction(Agent attacker, Agent defender, bool isFatalHit);
|
35
|
+
|
36
|
+
public override extern float CalculateShieldDamage(float baseDamage);
|
37
|
+
|
38
|
+
public override extern float GetDamageMultiplierForBodyPart(BoneBodyPartType bodyPart, DamageTypes type, bool isHuman);
|
39
|
+
|
40
|
+
public override extern bool CanWeaponIgnoreFriendlyFireChecks(WeaponComponentData weapon);
|
41
|
+
|
42
|
+
public override extern bool DecideAgentShrugOffBlow(Agent victimAgent, AttackCollisionData collisionData, in Blow blow);
|
43
|
+
|
44
|
+
public override extern bool DecideAgentDismountedByBlow(Agent attackerAgent, Agent victimAgent, in AttackCollisionData collisionData, WeaponComponentData attackerWeapon, in Blow blow);
|
45
|
+
|
46
|
+
public override extern bool DecideAgentKnockedBackByBlow(Agent attackerAgent, Agent victimAgent, in AttackCollisionData collisionData, WeaponComponentData attackerWeapon, in Blow blow);
|
47
|
+
|
48
|
+
public override extern bool DecideAgentKnockedDownByBlow(Agent attackerAgent, Agent victimAgent, in AttackCollisionData collisionData, WeaponComponentData attackerWeapon, in Blow blow);
|
49
|
+
|
50
|
+
public override extern bool DecideMountRearedByBlow(Agent attackerAgent, Agent victimAgent, in AttackCollisionData collisionData, WeaponComponentData attackerWeapon, in Blow blow);
|
51
|
+
|
52
|
+
public extern DefaultAgentApplyDamageModel();
|
53
|
+
}
|
54
|
+
}
|
@@ -3,10 +3,10 @@ using TaleWorlds.MountAndBlade.ComponentInterfaces;
|
|
3
3
|
|
4
4
|
namespace TaleWorlds.MountAndBlade
|
5
5
|
{
|
6
|
-
public class
|
6
|
+
public class DefaultAgentDecideKilledOrUnconsciousModel : AgentDecideKilledOrUnconsciousModel
|
7
7
|
{
|
8
8
|
public override extern float GetAgentStateProbability(Agent affectorAgent, Agent effectedAgent, DamageTypes damageType, out float useSurgeryProbability);
|
9
9
|
|
10
|
-
public extern
|
10
|
+
public extern DefaultAgentDecideKilledOrUnconsciousModel();
|
11
11
|
}
|
12
12
|
}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
using TaleWorlds.Core;
|
2
|
+
using TaleWorlds.MountAndBlade.ComponentInterfaces;
|
3
|
+
|
4
|
+
namespace TaleWorlds.MountAndBlade
|
5
|
+
{
|
6
|
+
public class DefaultItemPickupModel : ItemPickupModel
|
7
|
+
{
|
8
|
+
public override extern float GetItemScoreForAgent(SpawnedItemEntity item, Agent agent);
|
9
|
+
|
10
|
+
public override extern bool IsItemAvailableForAgent(SpawnedItemEntity item, Agent agent, EquipmentIndex slotToPickUp);
|
11
|
+
|
12
|
+
public override extern bool IsAgentEquipmentSuitableForPickUpAvailability(Agent agent);
|
13
|
+
|
14
|
+
public extern DefaultItemPickupModel();
|
15
|
+
}
|
16
|
+
}
|
@@ -40,5 +40,7 @@ namespace TaleWorlds.MountAndBlade
|
|
40
40
|
public virtual extern void OnPlayerDeploymentFinish();
|
41
41
|
|
42
42
|
protected extern void InvokePlayerDeploymentFinish();
|
43
|
+
|
44
|
+
protected extern void OnPlayerDeploymentFinishedAux();
|
43
45
|
}
|
44
46
|
}
|
@@ -0,0 +1,91 @@
|
|
1
|
+
using System.Collections.Generic;
|
2
|
+
using System.Runtime.CompilerServices;
|
3
|
+
using TaleWorlds.Core;
|
4
|
+
using TaleWorlds.Engine;
|
5
|
+
using TaleWorlds.Library;
|
6
|
+
|
7
|
+
namespace TaleWorlds.MountAndBlade
|
8
|
+
{
|
9
|
+
public class DeploymentPlan
|
10
|
+
{
|
11
|
+
public const float VerticalFormationGap = 3f;
|
12
|
+
|
13
|
+
public const float HorizontalFormationGap = 2f;
|
14
|
+
|
15
|
+
public const float DeployZoneMinimumWidth = 100f;
|
16
|
+
|
17
|
+
public const float DeployZoneForwardMargin = 10f;
|
18
|
+
|
19
|
+
public const float DeployZoneExtraWidthPerTroop = 1.5f;
|
20
|
+
|
21
|
+
public const float MaxSafetyScore = 100f;
|
22
|
+
|
23
|
+
public readonly BattleSideEnum Side;
|
24
|
+
|
25
|
+
public readonly DeploymentPlanType Type;
|
26
|
+
|
27
|
+
public readonly SpawnPathData SpawnPathData;
|
28
|
+
|
29
|
+
public bool SpawnWithHorses { get; }
|
30
|
+
|
31
|
+
public int PlanCount { get; }
|
32
|
+
|
33
|
+
public bool IsPlanMade { [CompilerGenerated]
|
34
|
+
get; }
|
35
|
+
|
36
|
+
public float SpawnPathOffset { [CompilerGenerated]
|
37
|
+
get; }
|
38
|
+
|
39
|
+
public bool HasDeploymentBoundaries { [CompilerGenerated]
|
40
|
+
get; }
|
41
|
+
|
42
|
+
public bool IsSafeToDeploy { get; }
|
43
|
+
|
44
|
+
public float SafetyScore { [CompilerGenerated]
|
45
|
+
get; }
|
46
|
+
|
47
|
+
public int FootTroopCount { get; }
|
48
|
+
|
49
|
+
public int MountedTroopCount { get; }
|
50
|
+
|
51
|
+
public int TroopCount { get; }
|
52
|
+
|
53
|
+
public MatrixFrame DeploymentFrame { get; }
|
54
|
+
|
55
|
+
public float DeploymentWidth { get; }
|
56
|
+
|
57
|
+
public MBReadOnlyDictionary<string, List<Vec2>> DeploymentBoundaries { get; }
|
58
|
+
|
59
|
+
public static extern DeploymentPlan CreateInitialPlan(Mission mission, BattleSideEnum side);
|
60
|
+
|
61
|
+
public static extern DeploymentPlan CreateReinforcementPlan(Mission mission, BattleSideEnum side);
|
62
|
+
|
63
|
+
public static extern DeploymentPlan CreateReinforcementPlanWithSpawnPath(Mission mission, BattleSideEnum side, SpawnPathData spawnPathData);
|
64
|
+
|
65
|
+
public extern void SetSpawnWithHorses(bool value);
|
66
|
+
|
67
|
+
public extern void ClearAddedTroops();
|
68
|
+
|
69
|
+
public extern void ClearPlan();
|
70
|
+
|
71
|
+
public extern void AddTroops(FormationClass formationClass, int footTroopCount, int mountedTroopCount);
|
72
|
+
|
73
|
+
public extern void PlanBattleDeployment(FormationSceneSpawnEntry[,] formationSceneSpawnEntries, float spawnPathOffset = 0f);
|
74
|
+
|
75
|
+
public extern FormationDeploymentPlan GetFormationPlan(FormationClass fClass);
|
76
|
+
|
77
|
+
public extern MatrixFrame GetFormationDeploymentFrame(FormationClass fClass);
|
78
|
+
|
79
|
+
public extern bool IsPositionInsideDeploymentBoundaries(in Vec2 position);
|
80
|
+
|
81
|
+
public extern bool IsPlanSuitableForFormations((int, int)[] troopDataPerFormationClass);
|
82
|
+
|
83
|
+
public extern Vec2 GetClosestBoundaryPosition(in Vec2 position);
|
84
|
+
|
85
|
+
public extern void UpdateSafetyScore();
|
86
|
+
|
87
|
+
public extern WorldFrame GetFrameFromFormationSpawnEntity(GameEntity formationSpawnEntity, float depthOffset = 0f);
|
88
|
+
|
89
|
+
public extern (float, float) GetFormationSpawnWidthAndDepth(FormationClass formationNo, int troopCount, bool hasMountedTroops, bool considerCavalryAsInfantry = false);
|
90
|
+
}
|
91
|
+
}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
namespace TaleWorlds.MountAndBlade
|
2
|
+
{
|
3
|
+
public enum DeploymentPlanType
|
4
|
+
{
|
5
|
+
Initial,
|
6
|
+
Reinforcement
|
7
|
+
}
|
8
|
+
}
|
@@ -81,7 +81,7 @@ namespace TaleWorlds.MountAndBlade
|
|
81
81
|
|
82
82
|
public extern List<SiegeLadder> GetAssociatedSiegeLadders();
|
83
83
|
|
84
|
-
public extern
|
84
|
+
public extern List<SynchedMissionObject> GetWeaponsUnder();
|
85
85
|
|
86
86
|
public extern IEnumerable<SpawnerBase> GetSpawnersForEditor();
|
87
87
|
|
@@ -6,9 +6,15 @@ namespace TaleWorlds.MountAndBlade
|
|
6
6
|
{
|
7
7
|
public static extern void CreateInstance();
|
8
8
|
|
9
|
-
public extern
|
9
|
+
public extern Monster GetMonster(string monsterID);
|
10
10
|
|
11
|
-
extern
|
11
|
+
public extern Monster GetMonsterWithSuffix(int race, string suffix);
|
12
|
+
|
13
|
+
public extern Monster GetBaseMonsterFromRace(int race);
|
14
|
+
|
15
|
+
public extern BodyProperties GetRandomBodyProperties(int race, bool isFemale, BodyProperties bodyPropertiesMin, BodyProperties bodyPropertiesMax, int hairCoverType, int seed, string hairTags, string beardTags, string tattooTags);
|
16
|
+
|
17
|
+
extern void IFaceGen.GenerateParentBody(BodyProperties childBodyProperties, int race, ref BodyProperties motherBodyProperties, ref BodyProperties fatherBodyProperties);
|
12
18
|
|
13
19
|
extern void IFaceGen.SetHair(ref BodyProperties bodyProperties, int hair, int beard, int tattoo);
|
14
20
|
|
@@ -22,6 +28,12 @@ namespace TaleWorlds.MountAndBlade
|
|
22
28
|
|
23
29
|
public extern BodyMeshMaturityType GetMaturityTypeWithAge(float age);
|
24
30
|
|
25
|
-
public extern
|
31
|
+
public extern int GetRaceCount();
|
32
|
+
|
33
|
+
public extern int GetRaceOrDefault(string raceId);
|
34
|
+
|
35
|
+
public extern string GetBaseMonsterNameFromRace(int race);
|
36
|
+
|
37
|
+
public extern string[] GetRaceNames();
|
26
38
|
}
|
27
39
|
}
|
@@ -14,6 +14,8 @@ namespace TaleWorlds.MountAndBlade
|
|
14
14
|
|
15
15
|
public int _curEyebrow;
|
16
16
|
|
17
|
+
public int _currentRace;
|
18
|
+
|
17
19
|
public int _currentGender;
|
18
20
|
|
19
21
|
public int _curFaceTexture;
|
@@ -71,8 +73,8 @@ namespace TaleWorlds.MountAndBlade
|
|
71
73
|
|
72
74
|
public static extern FaceGenerationParams Create();
|
73
75
|
|
74
|
-
public extern void
|
76
|
+
public extern void SetRaceGenderAndAdjustParams(int race, int gender, int curAge);
|
75
77
|
|
76
|
-
public extern void SetRandomParamsExceptKeys(int gender, int minAge, out float scale);
|
78
|
+
public extern void SetRandomParamsExceptKeys(int race, int gender, int minAge, out float scale);
|
77
79
|
}
|
78
80
|
}
|
@@ -26,22 +26,22 @@ namespace TaleWorlds.MountAndBlade
|
|
26
26
|
|
27
27
|
public Vec2? ReferencePosition;
|
28
28
|
|
29
|
-
public MovementOrder _movementOrder;
|
30
|
-
|
31
|
-
public bool isRearrangingArrangement;
|
32
|
-
|
33
29
|
public FormationClass PrimaryClass { get; }
|
34
30
|
|
35
31
|
public int CountOfUnits { get; }
|
36
32
|
|
37
33
|
public int CountOfDetachedUnits { get; }
|
38
34
|
|
35
|
+
public int CountOfUndetachableNonPlayerUnits { get; }
|
36
|
+
|
39
37
|
public int CountOfUnitsWithoutDetachedOnes { get; }
|
40
38
|
|
41
39
|
public List<IFormationUnit> UnitsWithoutLooseDetachedOnes { get; }
|
42
40
|
|
43
41
|
public int CountOfUnitsWithoutLooseDetachedOnes { get; }
|
44
42
|
|
43
|
+
public int CountOfDetachableNonplayerUnits { get; }
|
44
|
+
|
45
45
|
public Vec2 OrderPosition { get; }
|
46
46
|
|
47
47
|
public Vec3 OrderGroundPosition { get; }
|
@@ -115,6 +115,10 @@ namespace TaleWorlds.MountAndBlade
|
|
115
115
|
|
116
116
|
public bool IsSplittableByAI { get; }
|
117
117
|
|
118
|
+
public bool IsAIOwned { get; }
|
119
|
+
|
120
|
+
public bool IsConvenientForTransfer { get; }
|
121
|
+
|
118
122
|
public bool EnforceNotSplittableByAI { get; }
|
119
123
|
|
120
124
|
public bool IsAIControlled { get; }
|
@@ -133,7 +137,7 @@ namespace TaleWorlds.MountAndBlade
|
|
133
137
|
|
134
138
|
public bool HasAnyMountedUnit { get; }
|
135
139
|
|
136
|
-
public IEnumerable<FormationClass> SecondaryClasses { [IteratorStateMachine(typeof(
|
140
|
+
public IEnumerable<FormationClass> SecondaryClasses { [IteratorStateMachine(typeof(_003Cget_SecondaryClasses_003Ed__187))]
|
137
141
|
get; }
|
138
142
|
|
139
143
|
public float Width { get; }
|
@@ -241,7 +245,7 @@ namespace TaleWorlds.MountAndBlade
|
|
241
245
|
|
242
246
|
public extern Agent.MovementBehaviorType GetMovementTypeOfUnits();
|
243
247
|
|
244
|
-
[IteratorStateMachine(typeof(
|
248
|
+
[IteratorStateMachine(typeof(_003CGetUnitsWithoutDetachedOnes_003Ed__239))]
|
245
249
|
public extern IEnumerable<Agent> GetUnitsWithoutDetachedOnes();
|
246
250
|
|
247
251
|
public extern Vec2 GetWallDirectionOfRelativeFormationLocation(Agent unit);
|
@@ -272,7 +276,9 @@ namespace TaleWorlds.MountAndBlade
|
|
272
276
|
|
273
277
|
public extern Vec2 GetMiddleFrontUnitPositionOffset();
|
274
278
|
|
275
|
-
public extern
|
279
|
+
public extern List<IFormationUnit> GetUnitsToPopWithReferencePosition(int count, Vec3 targetPosition);
|
280
|
+
|
281
|
+
public extern List<IFormationUnit> GetUnitsToPop(int count);
|
276
282
|
|
277
283
|
public extern IEnumerable<(WorldPosition, Vec2)> GetUnavailableUnitPositionsAccordingToNewOrder(Formation simulationFormation, in WorldPosition position, in Vec2 direction, float width, int unitSpacing);
|
278
284
|
|
@@ -286,12 +292,18 @@ namespace TaleWorlds.MountAndBlade
|
|
286
292
|
|
287
293
|
public extern bool HasUnitsWithCondition(Func<Agent, bool> function);
|
288
294
|
|
289
|
-
public extern bool
|
295
|
+
public extern bool HasUnitsWithCondition(Func<Agent, bool> function, out Agent result);
|
296
|
+
|
297
|
+
public extern bool HasUnitWithConditionLimitedRandom(Func<Agent, bool> function, int startingIndex, int willBeCheckedUnitCount, out Agent resultAgent);
|
290
298
|
|
291
299
|
public extern int[] CollectUnitIndices();
|
292
300
|
|
293
301
|
public extern void ApplyActionOnEachUnit(Action<Agent> action);
|
294
302
|
|
303
|
+
public extern void ApplyActionOnEachAttachedUnit(Action<Agent> action);
|
304
|
+
|
305
|
+
public extern void ApplyActionOnEachDetachedUnit(Action<Agent> action);
|
306
|
+
|
295
307
|
public extern void ApplyActionOnEachUnitViaBackupList(Action<Agent> action);
|
296
308
|
|
297
309
|
public extern void ApplyActionOnEachUnit(Action<Agent, List<WorldPosition>> action, List<WorldPosition> list);
|
@@ -314,6 +326,10 @@ namespace TaleWorlds.MountAndBlade
|
|
314
326
|
|
315
327
|
public extern void OnUnitDetachmentChanged(Agent unit, bool isOldDetachmentLoose, bool isNewDetachmentLoose);
|
316
328
|
|
329
|
+
public extern void OnUndetachableNonPlayerUnitAdded(Agent unit);
|
330
|
+
|
331
|
+
public extern void OnUndetachableNonPlayerUnitRemoved(Agent unit);
|
332
|
+
|
317
333
|
public extern void ReleaseFormationFromAI();
|
318
334
|
|
319
335
|
public extern void ResetMovementOrderPositionCache();
|
@@ -324,7 +340,7 @@ namespace TaleWorlds.MountAndBlade
|
|
324
340
|
|
325
341
|
public extern void TransferUnits(Formation target, int unitCount);
|
326
342
|
|
327
|
-
public extern void TransferUnitsAux(Formation target, int unitCount, bool isPlayerOrder
|
343
|
+
public extern void TransferUnitsAux(Formation target, int unitCount, bool isPlayerOrder, bool useSelectivePop);
|
328
344
|
|
329
345
|
[Conditional("DEBUG")]
|
330
346
|
public extern void DebugArrangements();
|
@@ -50,9 +50,7 @@ namespace TaleWorlds.MountAndBlade
|
|
50
50
|
|
51
51
|
public extern T SetBehaviorWeight<T>(float w) where T : BehaviorComponent;
|
52
52
|
|
53
|
-
public extern
|
54
|
-
|
55
|
-
public extern T AddAiBehavior<T>() where T : BehaviorComponent;
|
53
|
+
public extern void AddAiBehavior(BehaviorComponent behaviorComponent);
|
56
54
|
|
57
55
|
public extern T GetBehavior<T>() where T : BehaviorComponent;
|
58
56
|
|
@@ -60,10 +58,6 @@ namespace TaleWorlds.MountAndBlade
|
|
60
58
|
|
61
59
|
public extern void Tick();
|
62
60
|
|
63
|
-
public extern void SetBehaviorPreference(Func<BehaviorComponent, bool> predicate, float preferenceScore = 10f, bool resetOtherBehaviorPreferences = true);
|
64
|
-
|
65
|
-
public extern void AddSpecificBehavior(BehaviorComponent behavior, float preferenceScore = 10f, bool resetOtherBehaviorPreferences = true);
|
66
|
-
|
67
61
|
[Conditional("DEBUG")]
|
68
62
|
public extern void DebugMore();
|
69
63
|
|
@@ -1,50 +1,44 @@
|
|
1
|
-
using System.Runtime.CompilerServices;
|
2
1
|
using TaleWorlds.Core;
|
3
2
|
using TaleWorlds.Engine;
|
4
3
|
using TaleWorlds.Library;
|
5
4
|
|
6
5
|
namespace TaleWorlds.MountAndBlade
|
7
6
|
{
|
8
|
-
public class FormationDeploymentPlan
|
7
|
+
public class FormationDeploymentPlan : IFormationDeploymentPlan
|
9
8
|
{
|
10
|
-
public
|
9
|
+
public FormationClass Class { get; }
|
11
10
|
|
12
|
-
public FormationClass SpawnClass {
|
13
|
-
get; }
|
11
|
+
public FormationClass SpawnClass { get; }
|
14
12
|
|
15
|
-
public float PlannedWidth {
|
16
|
-
get; }
|
13
|
+
public float PlannedWidth { get; }
|
17
14
|
|
18
|
-
public float PlannedDepth {
|
19
|
-
get; }
|
15
|
+
public float PlannedDepth { get; }
|
20
16
|
|
21
17
|
public int PlannedTroopCount { get; }
|
22
18
|
|
23
|
-
public int PlannedFootTroopCount {
|
24
|
-
get; }
|
19
|
+
public int PlannedFootTroopCount { get; }
|
25
20
|
|
26
|
-
public int PlannedMountedTroopCount {
|
27
|
-
get; }
|
28
|
-
|
29
|
-
public bool HasSignificantMountedTroops { get; }
|
21
|
+
public int PlannedMountedTroopCount { get; }
|
30
22
|
|
31
23
|
public bool HasDimensions { get; }
|
32
24
|
|
25
|
+
public bool HasSignificantMountedTroops { get; }
|
26
|
+
|
33
27
|
public extern FormationDeploymentPlan(FormationClass fClass);
|
34
28
|
|
29
|
+
public extern bool HasFrame();
|
30
|
+
|
35
31
|
public extern FormationDeploymentFlank GetDefaultFlank(bool spawnWithHorses, int formationTroopCount, int infantryCount);
|
36
32
|
|
37
33
|
public extern FormationDeploymentOrder GetFlankDeploymentOrder(int offset = 0);
|
38
34
|
|
39
|
-
public extern
|
40
|
-
|
41
|
-
public extern MatrixFrame GetGroundFrame(bool isReinforcement = false);
|
35
|
+
public extern MatrixFrame GetGroundFrame();
|
42
36
|
|
43
|
-
public extern Vec3 GetGroundPosition(
|
37
|
+
public extern Vec3 GetGroundPosition();
|
44
38
|
|
45
|
-
public extern
|
39
|
+
public extern Vec2 GetDirection();
|
46
40
|
|
47
|
-
public extern
|
41
|
+
public extern WorldPosition CreateNewDeploymentWorldPosition(WorldPosition.WorldPositionEnforcedCache worldPositionEnforcedCache);
|
48
42
|
|
49
43
|
public extern void Clear();
|
50
44
|
|
@@ -52,9 +46,7 @@ namespace TaleWorlds.MountAndBlade
|
|
52
46
|
|
53
47
|
public extern void SetPlannedDimensions(float width, float depth);
|
54
48
|
|
55
|
-
public extern void SetFrame(WorldFrame frame
|
56
|
-
|
57
|
-
public extern void CopyReinforcementFrameFromSpawnFrame();
|
49
|
+
public extern void SetFrame(WorldFrame frame);
|
58
50
|
|
59
51
|
public extern void SetSpawnClass(FormationClass spawnClass);
|
60
52
|
}
|
@@ -52,6 +52,10 @@ namespace TaleWorlds.MountAndBlade
|
|
52
52
|
|
53
53
|
public float RangedUnitRatio { get; }
|
54
54
|
|
55
|
+
public int InsideCastleUnitCountIncludingUnpositioned { get; }
|
56
|
+
|
57
|
+
public int InsideCastleUnitCountPositioned { get; }
|
58
|
+
|
55
59
|
public float CavalryUnitRatio { get; }
|
56
60
|
|
57
61
|
public float GetCavalryUnitRatioWithoutExpiration { get; }
|
@@ -114,12 +118,12 @@ namespace TaleWorlds.MountAndBlade
|
|
114
118
|
|
115
119
|
public Vec2 HighGroundCloseToForeseenBattleGround { get; }
|
116
120
|
|
117
|
-
public extern void ForceExpireCavalryUnitRatio();
|
118
|
-
|
119
121
|
public extern FormationQuerySystem(Formation formation);
|
120
122
|
|
121
123
|
public extern void EvaluateAllPreliminaryQueryData();
|
122
124
|
|
125
|
+
public extern void ForceExpireCavalryUnitRatio();
|
126
|
+
|
123
127
|
public extern void Expire();
|
124
128
|
|
125
129
|
public extern void ExpireAfterUnitAddRemove();
|
@@ -61,7 +61,7 @@ namespace TaleWorlds.MountAndBlade
|
|
61
61
|
|
62
62
|
public override extern void OnAgentRemoved(Agent affectedAgent, Agent affectorAgent, AgentState agentState, KillingBlow killingBlow);
|
63
63
|
|
64
|
-
public override extern void OnScoreHit(Agent affectedAgent, Agent affectorAgent, WeaponComponentData attackerWeapon, bool isBlocked, bool isSiegeEngineHit,
|
64
|
+
public override extern void OnScoreHit(Agent affectedAgent, Agent affectorAgent, WeaponComponentData attackerWeapon, bool isBlocked, bool isSiegeEngineHit, in Blow blow, in AttackCollisionData collisionData, float damagedHp, float hitDistance, float shotDifficulty);
|
65
65
|
|
66
66
|
public override extern void OnMissionTick(float dt);
|
67
67
|
|
@@ -1,5 +1,4 @@
|
|
1
1
|
using System.Runtime.CompilerServices;
|
2
|
-
using TaleWorlds.Core;
|
3
2
|
using TaleWorlds.DotNet;
|
4
3
|
|
5
4
|
namespace TaleWorlds.MountAndBlade
|
@@ -54,12 +53,12 @@ namespace TaleWorlds.MountAndBlade
|
|
54
53
|
|
55
54
|
public extern void SetBehaviorParams(AISimpleBehaviorKind behavior, float y1, float x2, float y2, float x3, float y3);
|
56
55
|
|
56
|
+
public extern void SyncBehaviorParamsIfNecessary();
|
57
|
+
|
57
58
|
public override extern void OnTickAsAI(float dt);
|
58
59
|
|
59
60
|
public override extern void OnAgentRemoved();
|
60
61
|
|
61
|
-
public override extern void OnWeaponHPChanged(ItemObject item, int hitPoints);
|
62
|
-
|
63
62
|
internal extern void ItemPickupDone(SpawnedItemEntity spawnedItemEntity);
|
64
63
|
|
65
64
|
public extern void MoveToUsableGameObject(UsableMissionObject usedObject, IDetachment detachment, Agent.AIScriptedFrameFlags scriptedFrameFlags = Agent.AIScriptedFrameFlags.NoAttack);
|
@@ -10,8 +10,6 @@ namespace TaleWorlds.MountAndBlade
|
|
10
10
|
|
11
11
|
IReadOnlyList<Formation> UserFormations { get; }
|
12
12
|
|
13
|
-
bool IsUsedByFormations { get; }
|
14
|
-
|
15
13
|
bool IsLoose { get; }
|
16
14
|
|
17
15
|
bool IsAgentUsingOrMovingTo(Agent agent);
|
@@ -16,7 +16,7 @@ namespace TaleWorlds.MountAndBlade
|
|
16
16
|
|
17
17
|
void RefreshCharacterEntity();
|
18
18
|
|
19
|
-
void MakeVoice(int
|
19
|
+
void MakeVoice(int voiceIndex, float pitch);
|
20
20
|
|
21
21
|
void SetFacialAnimation(string faceAnimation, bool loop);
|
22
22
|
|
@@ -51,7 +51,9 @@ namespace TaleWorlds.MountAndBlade
|
|
51
51
|
|
52
52
|
WorldPosition? GetWorldPositionOfUnitOrDefault(IFormationUnit unit);
|
53
53
|
|
54
|
-
|
54
|
+
List<IFormationUnit> GetUnitsToPop(int count);
|
55
|
+
|
56
|
+
List<IFormationUnit> GetUnitsToPop(int count, Vec3 targetPosition);
|
55
57
|
|
56
58
|
IEnumerable<IFormationUnit> GetUnitsToPopWithCondition(int count, Func<IFormationUnit, bool> conditionFunction);
|
57
59
|
|
@@ -0,0 +1,41 @@
|
|
1
|
+
using TaleWorlds.Core;
|
2
|
+
using TaleWorlds.Engine;
|
3
|
+
using TaleWorlds.Library;
|
4
|
+
|
5
|
+
namespace TaleWorlds.MountAndBlade
|
6
|
+
{
|
7
|
+
public interface IFormationDeploymentPlan
|
8
|
+
{
|
9
|
+
FormationClass Class { get; }
|
10
|
+
|
11
|
+
FormationClass SpawnClass { get; }
|
12
|
+
|
13
|
+
float PlannedWidth { get; }
|
14
|
+
|
15
|
+
float PlannedDepth { get; }
|
16
|
+
|
17
|
+
int PlannedTroopCount { get; }
|
18
|
+
|
19
|
+
int PlannedFootTroopCount { get; }
|
20
|
+
|
21
|
+
int PlannedMountedTroopCount { get; }
|
22
|
+
|
23
|
+
bool HasDimensions { get; }
|
24
|
+
|
25
|
+
bool HasSignificantMountedTroops { get; }
|
26
|
+
|
27
|
+
bool HasFrame();
|
28
|
+
|
29
|
+
FormationDeploymentFlank GetDefaultFlank(bool spawnWithHorses, int formationTroopCount, int infantryCount);
|
30
|
+
|
31
|
+
FormationDeploymentOrder GetFlankDeploymentOrder(int offset = 0);
|
32
|
+
|
33
|
+
MatrixFrame GetGroundFrame();
|
34
|
+
|
35
|
+
Vec3 GetGroundPosition();
|
36
|
+
|
37
|
+
Vec2 GetDirection();
|
38
|
+
|
39
|
+
WorldPosition CreateNewDeploymentWorldPosition(WorldPosition.WorldPositionEnforcedCache worldPositionEnforcedCache);
|
40
|
+
}
|
41
|
+
}
|
@@ -47,6 +47,8 @@ namespace TaleWorlds.MountAndBlade
|
|
47
47
|
|
48
48
|
void OnPlayerRemovedFromParty(PlayerId playerId, PartyRemoveReason reason);
|
49
49
|
|
50
|
+
void OnPlayerNameUpdated(string newName);
|
51
|
+
|
50
52
|
void OnSessionInvitationAccepted(PlayerId playerId);
|
51
53
|
|
52
54
|
void OnGameClientStateChange(LobbyClient.State state);
|
@@ -117,7 +119,7 @@ namespace TaleWorlds.MountAndBlade
|
|
117
119
|
|
118
120
|
void OnSigilChanged();
|
119
121
|
|
120
|
-
void
|
122
|
+
void OnNotificationsReceived(LobbyNotification[] notifications);
|
121
123
|
|
122
124
|
void OnFriendListUpdated();
|
123
125
|
}
|
@@ -539,6 +539,9 @@ namespace TaleWorlds.MountAndBlade
|
|
539
539
|
[EngineMethod("get_immediate_enemy", false)]
|
540
540
|
Agent GetImmediateEnemy(UIntPtr agentPointer);
|
541
541
|
|
542
|
+
[EngineMethod("try_get_immediate_agent_movement_data", false)]
|
543
|
+
bool TryGetImmediateEnemyAgentMovementData(UIntPtr agentPointer, out float maximumForwardUnlimitedSpeed, out Vec3 position);
|
544
|
+
|
542
545
|
[EngineMethod("get_is_doing_passive_attack", false)]
|
543
546
|
bool GetIsDoingPassiveAttack(UIntPtr agentPointer);
|
544
547
|
|
@@ -8,11 +8,20 @@ namespace TaleWorlds.MountAndBlade
|
|
8
8
|
[ScriptingInterfaceBase]
|
9
9
|
internal interface IMBAgentVisuals
|
10
10
|
{
|
11
|
+
[EngineMethod("validate_agent_visuals_reseted", false)]
|
12
|
+
void ValidateAgentVisualsReseted(UIntPtr scenePointer, UIntPtr agentRendererSceneControllerPointer);
|
13
|
+
|
11
14
|
[EngineMethod("create_agent_renderer_scene_controller", false)]
|
12
15
|
UIntPtr CreateAgentRendererSceneController(UIntPtr scenePointer, int maxRenderCount);
|
13
16
|
|
14
17
|
[EngineMethod("destruct_agent_renderer_scene_controller", false)]
|
15
|
-
void DestructAgentRendererSceneController(UIntPtr scenePointer, UIntPtr agentRendererSceneControllerPointer);
|
18
|
+
void DestructAgentRendererSceneController(UIntPtr scenePointer, UIntPtr agentRendererSceneControllerPointer, bool deleteThisFrame);
|
19
|
+
|
20
|
+
[EngineMethod("set_do_timer_based_skeleton_forced_updates", false)]
|
21
|
+
void SetDoTimerBasedForcedSkeletonUpdates(UIntPtr agentRendererSceneControllerPointer, bool value);
|
22
|
+
|
23
|
+
[EngineMethod("set_enforced_visibility_for_all_agents", false)]
|
24
|
+
void SetEnforcedVisibilityForAllAgents(UIntPtr scenePointer, UIntPtr agentRendererSceneControllerPointer);
|
16
25
|
|
17
26
|
[EngineMethod("create_agent_visuals", false)]
|
18
27
|
MBAgentVisuals CreateAgentVisuals(UIntPtr scenePtr, string ownerName, Vec3 eyeOffset);
|
@@ -147,7 +156,7 @@ namespace TaleWorlds.MountAndBlade
|
|
147
156
|
Vec3 GetGlobalStableNeckPoint(UIntPtr agentVisualsPtr, bool isHumanoid);
|
148
157
|
|
149
158
|
[EngineMethod("add_prefab_to_agent_visual_bone", false)]
|
150
|
-
|
159
|
+
CompositeComponent AddPrefabToAgentVisualBone(UIntPtr agentVisualsPtr, string prefabName, sbyte boneIndex);
|
151
160
|
|
152
161
|
[EngineMethod("get_attached_weapon_entity", false)]
|
153
162
|
GameEntity GetAttachedWeaponEntity(UIntPtr agentVisualsPtr, int attachedWeaponIndex);
|
@@ -67,5 +67,8 @@ namespace TaleWorlds.MountAndBlade
|
|
67
67
|
|
68
68
|
[EngineMethod("get_num_animations", false)]
|
69
69
|
int GetNumAnimations();
|
70
|
+
|
71
|
+
[EngineMethod("is_any_animation_loading_from_disk", false)]
|
72
|
+
bool IsAnyAnimationLoadingFromDisk();
|
70
73
|
}
|
71
74
|
}
|
@@ -20,7 +20,7 @@ namespace TaleWorlds.MountAndBlade
|
|
20
20
|
bool IsEntitySelected(UIntPtr entityId);
|
21
21
|
|
22
22
|
[EngineMethod("add_editor_warning", false)]
|
23
|
-
void AddEditorWarning(
|
23
|
+
void AddEditorWarning(string msg);
|
24
24
|
|
25
25
|
[EngineMethod("render_editor_mesh", false)]
|
26
26
|
void RenderEditorMesh(UIntPtr metaMeshId, ref MatrixFrame frame);
|
@@ -7,63 +7,66 @@ namespace TaleWorlds.MountAndBlade
|
|
7
7
|
internal interface IMBFaceGen
|
8
8
|
{
|
9
9
|
[EngineMethod("get_num_editable_deform_keys", false)]
|
10
|
-
int GetNumEditableDeformKeys(bool initialGender, float age);
|
10
|
+
int GetNumEditableDeformKeys(int race, bool initialGender, float age);
|
11
11
|
|
12
12
|
[EngineMethod("get_params_from_key", false)]
|
13
13
|
void GetParamsFromKey(ref FaceGenerationParams faceGenerationParams, ref BodyProperties bodyProperties, bool earsAreHidden);
|
14
14
|
|
15
15
|
[EngineMethod("get_params_max", false)]
|
16
|
-
void GetParamsMax(int curGender, float curAge, ref int hairNum, ref int beardNum, ref int faceTextureNum, ref int mouthTextureNum, ref int faceTattooNum, ref int soundNum, ref int eyebrowNum, ref float scale);
|
16
|
+
void GetParamsMax(int race, int curGender, float curAge, ref int hairNum, ref int beardNum, ref int faceTextureNum, ref int mouthTextureNum, ref int faceTattooNum, ref int soundNum, ref int eyebrowNum, ref float scale);
|
17
17
|
|
18
18
|
[EngineMethod("get_zero_probabilities", false)]
|
19
|
-
void GetZeroProbabilities(int curGender, float curAge, ref float tattooZeroProbability);
|
19
|
+
void GetZeroProbabilities(int race, int curGender, float curAge, ref float tattooZeroProbability);
|
20
20
|
|
21
21
|
[EngineMethod("produce_numeric_key_with_params", false)]
|
22
22
|
void ProduceNumericKeyWithParams(ref FaceGenerationParams faceGenerationParams, bool earsAreHidden, ref BodyProperties bodyProperties);
|
23
23
|
|
24
24
|
[EngineMethod("produce_numeric_key_with_default_values", false)]
|
25
|
-
void ProduceNumericKeyWithDefaultValues(ref BodyProperties initialBodyProperties, bool earsAreHidden, int gender, float age);
|
25
|
+
void ProduceNumericKeyWithDefaultValues(ref BodyProperties initialBodyProperties, bool earsAreHidden, int race, int gender, float age);
|
26
26
|
|
27
27
|
[EngineMethod("get_random_body_properties", false)]
|
28
|
-
void GetRandomBodyProperties(int gender, ref BodyProperties bodyPropertiesMin, ref BodyProperties bodyPropertiesMax, int hairCoverType, int seed, string hairTags, string beardTags, string tatooTags, ref BodyProperties outBodyProperties);
|
28
|
+
void GetRandomBodyProperties(int race, int gender, ref BodyProperties bodyPropertiesMin, ref BodyProperties bodyPropertiesMax, int hairCoverType, int seed, string hairTags, string beardTags, string tatooTags, ref BodyProperties outBodyProperties);
|
29
29
|
|
30
30
|
[EngineMethod("enforce_constraints", false)]
|
31
31
|
bool EnforceConstraints(ref FaceGenerationParams faceGenerationParams);
|
32
32
|
|
33
33
|
[EngineMethod("get_deform_key_data", false)]
|
34
|
-
void GetDeformKeyData(int keyNo, ref DeformKeyData deformKeyData, int gender, float age);
|
34
|
+
void GetDeformKeyData(int keyNo, ref DeformKeyData deformKeyData, int race, int gender, float age);
|
35
35
|
|
36
36
|
[EngineMethod("get_face_gen_instances_length", false)]
|
37
|
-
int GetFaceGenInstancesLength(int gender, float age);
|
37
|
+
int GetFaceGenInstancesLength(int race, int gender, float age);
|
38
38
|
|
39
39
|
[EngineMethod("get_scale", false)]
|
40
|
-
float GetScaleFromKey(int gender, ref BodyProperties initialBodyProperties);
|
40
|
+
float GetScaleFromKey(int race, int gender, ref BodyProperties initialBodyProperties);
|
41
41
|
|
42
42
|
[EngineMethod("get_voice_records_count", false)]
|
43
|
-
int GetVoiceRecordsCount(int curGender, float age);
|
43
|
+
int GetVoiceRecordsCount(int race, int curGender, float age);
|
44
44
|
|
45
45
|
[EngineMethod("get_hair_color_count", false)]
|
46
|
-
int GetHairColorCount(int curGender, float age);
|
46
|
+
int GetHairColorCount(int race, int curGender, float age);
|
47
47
|
|
48
48
|
[EngineMethod("get_hair_color_gradient_points", false)]
|
49
|
-
void GetHairColorGradientPoints(int curGender, float age, Vec3[] colors);
|
49
|
+
void GetHairColorGradientPoints(int race, int curGender, float age, Vec3[] colors);
|
50
50
|
|
51
51
|
[EngineMethod("get_tatoo_color_count", false)]
|
52
|
-
int GetTatooColorCount(int curGender, float age);
|
52
|
+
int GetTatooColorCount(int race, int curGender, float age);
|
53
53
|
|
54
54
|
[EngineMethod("get_tatoo_color_gradient_points", false)]
|
55
|
-
void GetTatooColorGradientPoints(int curGender, float age, Vec3[] colors);
|
55
|
+
void GetTatooColorGradientPoints(int race, int curGender, float age, Vec3[] colors);
|
56
56
|
|
57
57
|
[EngineMethod("get_skin_color_count", false)]
|
58
|
-
int GetSkinColorCount(int curGender, float age);
|
58
|
+
int GetSkinColorCount(int race, int curGender, float age);
|
59
59
|
|
60
60
|
[EngineMethod("get_maturity_type", false)]
|
61
61
|
int GetMaturityType(float age);
|
62
62
|
|
63
63
|
[EngineMethod("get_voice_type_usable_for_player_data", false)]
|
64
|
-
void GetVoiceTypeUsableForPlayerData(int curGender, float age, bool[] aiArray);
|
64
|
+
void GetVoiceTypeUsableForPlayerData(int race, int curGender, float age, bool[] aiArray);
|
65
65
|
|
66
66
|
[EngineMethod("get_skin_color_gradient_points", false)]
|
67
|
-
void GetSkinColorGradientPoints(int curGender, float age, Vec3[] colors);
|
67
|
+
void GetSkinColorGradientPoints(int race, int curGender, float age, Vec3[] colors);
|
68
|
+
|
69
|
+
[EngineMethod("get_race_ids", false)]
|
70
|
+
string GetRaceIds();
|
68
71
|
}
|
69
72
|
}
|
@@ -40,7 +40,7 @@ namespace TaleWorlds.MountAndBlade
|
|
40
40
|
void SetFrameForAtmosphere(UIntPtr scenePointer, float tod, float cameraElevation, bool forceLoadTextures);
|
41
41
|
|
42
42
|
[EngineMethod("get_color_grade_grid_data", false)]
|
43
|
-
void GetColorGradeGridData(UIntPtr scenePointer, byte[] snowData);
|
43
|
+
void GetColorGradeGridData(UIntPtr scenePointer, byte[] snowData, string textureName);
|
44
44
|
|
45
45
|
[EngineMethod("get_battle_scene_index_map_resolution", false)]
|
46
46
|
void GetBattleSceneIndexMapResolution(UIntPtr scenePointer, ref int width, ref int height);
|
@@ -51,6 +51,12 @@ namespace TaleWorlds.MountAndBlade
|
|
51
51
|
[EngineMethod("set_terrain_dynamic_params", false)]
|
52
52
|
void SetTerrainDynamicParams(UIntPtr scenePointer, Vec3 dynamic_params);
|
53
53
|
|
54
|
+
[EngineMethod("set_season_time_factor", false)]
|
55
|
+
void SetSeasonTimeFactor(UIntPtr scenePointer, float seasonTimeFactor);
|
56
|
+
|
57
|
+
[EngineMethod("get_season_time_factor", false)]
|
58
|
+
float GetSeasonTimeFactor(UIntPtr scenePointer);
|
59
|
+
|
54
60
|
[EngineMethod("get_mouse_visible", false)]
|
55
61
|
bool GetMouseVisible();
|
56
62
|
|
@@ -14,6 +14,9 @@ namespace TaleWorlds.MountAndBlade
|
|
14
14
|
[EngineMethod("create_mission", false)]
|
15
15
|
UIntPtr CreateMission(Mission mission);
|
16
16
|
|
17
|
+
[EngineMethod("tick_agents_and_teams_async", false)]
|
18
|
+
void tickAgentsAndTeamsAsync(UIntPtr missionPointer, float dt);
|
19
|
+
|
17
20
|
[EngineMethod("clear_agent_actions", false)]
|
18
21
|
void ClearAgentActions(UIntPtr missionPointer);
|
19
22
|
|
@@ -227,6 +230,9 @@ namespace TaleWorlds.MountAndBlade
|
|
227
230
|
[EngineMethod("get_closest_ally", false)]
|
228
231
|
Agent GetClosestAlly(UIntPtr missionPointer, int teamIndex, Vec3 position, float radius);
|
229
232
|
|
233
|
+
[EngineMethod("has_any_agents_of_team_around", false)]
|
234
|
+
bool HasAnyAgentsOfTeamAround(UIntPtr missionPointer, Vec3 origin, float radius, int teamNo);
|
235
|
+
|
230
236
|
[EngineMethod("get_agent_count_around_position", false)]
|
231
237
|
void GetAgentCountAroundPosition(UIntPtr missionPointer, int teamIndex, Vec2 position, float radius, ref int allyCount, ref int enemyCount);
|
232
238
|
|
@@ -7,5 +7,7 @@ namespace TaleWorlds.MountAndBlade
|
|
7
7
|
void StopSpawner();
|
8
8
|
|
9
9
|
bool IsSideDepleted(BattleSideEnum side);
|
10
|
+
|
11
|
+
float GetReinforcementInterval();
|
10
12
|
}
|
11
13
|
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
using System.Collections.Generic;
|
2
|
+
using TaleWorlds.Core;
|
3
|
+
using TaleWorlds.Library;
|
4
|
+
|
5
|
+
namespace TaleWorlds.MountAndBlade
|
6
|
+
{
|
7
|
+
public interface IMissionDeploymentPlan
|
8
|
+
{
|
9
|
+
bool IsPlanMadeForBattleSide(BattleSideEnum side, DeploymentPlanType planType);
|
10
|
+
|
11
|
+
bool IsPositionInsideDeploymentBoundaries(BattleSideEnum battleSide, in Vec2 position, DeploymentPlanType planType);
|
12
|
+
|
13
|
+
bool HasDeploymentBoundaries(BattleSideEnum side, DeploymentPlanType planType);
|
14
|
+
|
15
|
+
MBReadOnlyDictionary<string, List<Vec2>> GetDeploymentBoundaries(BattleSideEnum side, DeploymentPlanType planType);
|
16
|
+
|
17
|
+
Vec2 GetClosestDeploymentBoundaryPosition(BattleSideEnum battleSide, in Vec2 position, DeploymentPlanType planType);
|
18
|
+
|
19
|
+
int GetTroopCountForSide(BattleSideEnum side, DeploymentPlanType planType);
|
20
|
+
|
21
|
+
MatrixFrame GetBattleSideDeploymentFrame(BattleSideEnum side, DeploymentPlanType planType);
|
22
|
+
}
|
23
|
+
}
|
@@ -16,6 +16,6 @@ namespace TaleWorlds.MountAndBlade
|
|
16
16
|
|
17
17
|
void OnResetMission();
|
18
18
|
|
19
|
-
void
|
19
|
+
void OnInitialDeploymentPlanMade(BattleSideEnum battleSide, bool isFirstPlan);
|
20
20
|
}
|
21
21
|
}
|
@@ -9,7 +9,7 @@ namespace TaleWorlds.MountAndBlade
|
|
9
9
|
|
10
10
|
float GetExtraTroopCount();
|
11
11
|
|
12
|
-
List<(EquipmentIndex, EquipmentElement)> GetAlternativeEquipments(bool isPlayer, List<(EquipmentIndex, EquipmentElement)> alternativeEquipments);
|
12
|
+
List<(EquipmentIndex, EquipmentElement)> GetAlternativeEquipments(bool isPlayer, List<(EquipmentIndex, EquipmentElement)> alternativeEquipments, bool getAll = false);
|
13
13
|
|
14
14
|
float GetDrivenPropertyBonusOnSpawn(bool isPlayer, DrivenProperty drivenProperty, float baseValue);
|
15
15
|
|
@@ -1,5 +1,3 @@
|
|
1
|
-
using System.Collections.Generic;
|
2
|
-
|
3
1
|
namespace TaleWorlds.MountAndBlade
|
4
2
|
{
|
5
3
|
public interface IQueryData
|
@@ -8,6 +6,6 @@ namespace TaleWorlds.MountAndBlade
|
|
8
6
|
|
9
7
|
void Evaluate(float currentTime);
|
10
8
|
|
11
|
-
void SetSyncGroup(
|
9
|
+
void SetSyncGroup(IQueryData[] syncGroup);
|
12
10
|
}
|
13
11
|
}
|
@@ -28,7 +28,7 @@ namespace TaleWorlds.MountAndBlade
|
|
28
28
|
|
29
29
|
float GetExtraTroopCount(bool isWarmup);
|
30
30
|
|
31
|
-
List<(EquipmentIndex, EquipmentElement)> GetAlternativeEquipments(bool isWarmup, bool isPlayer, List<(EquipmentIndex, EquipmentElement)> alternativeEquipments);
|
31
|
+
List<(EquipmentIndex, EquipmentElement)> GetAlternativeEquipments(bool isWarmup, bool isPlayer, List<(EquipmentIndex, EquipmentElement)> alternativeEquipments, bool getAllEquipments = false);
|
32
32
|
|
33
33
|
float GetDrivenPropertyBonusOnSpawn(bool isWarmup, bool isPlayer, DrivenProperty drivenProperty, float baseValue);
|
34
34
|
|
@@ -92,15 +92,16 @@ namespace TaleWorlds.MountAndBlade
|
|
92
92
|
|
93
93
|
public extern void OnBatchRemoveEnd();
|
94
94
|
|
95
|
-
|
96
|
-
public extern IEnumerable<IFormationUnit> GetUnitsToPop(int count);
|
95
|
+
public extern List<IFormationUnit> GetUnitsToPop(int count);
|
97
96
|
|
98
|
-
[IteratorStateMachine(typeof(
|
97
|
+
[IteratorStateMachine(typeof(_003CGetUnitsToPopWithCondition_003Ed__95))]
|
99
98
|
public extern IEnumerable<IFormationUnit> GetUnitsToPopWithCondition(int count, Func<IFormationUnit, bool> currentCondition);
|
100
99
|
|
101
|
-
[IteratorStateMachine(typeof(
|
100
|
+
[IteratorStateMachine(typeof(_003CGetSingleUnitToPopWithPriority_003Ed__96))]
|
102
101
|
public extern IEnumerable<IFormationUnit> GetSingleUnitToPopWithPriority(Func<IFormationUnit, int> currentCondition);
|
103
102
|
|
103
|
+
public extern List<IFormationUnit> GetUnitsToPop(int count, Vec3 targetPosition);
|
104
|
+
|
104
105
|
protected virtual extern bool TryGetUnitPositionIndexFromLocalPosition(Vec2 localPosition, out int fileIndex, out int rankIndex);
|
105
106
|
|
106
107
|
protected virtual extern Vec2 GetLocalPositionOfUnit(int fileIndex, int rankIndex);
|
@@ -98,7 +98,7 @@ namespace TaleWorlds.MountAndBlade
|
|
98
98
|
|
99
99
|
extern void ILobbyClientSessionHandler.OnSigilChanged();
|
100
100
|
|
101
|
-
extern void ILobbyClientSessionHandler.
|
101
|
+
extern void ILobbyClientSessionHandler.OnNotificationsReceived(LobbyNotification[] notifications);
|
102
102
|
|
103
103
|
extern void ILobbyClientSessionHandler.OnGameClientStateChange(LobbyClient.State oldState);
|
104
104
|
|
@@ -134,9 +134,11 @@ namespace TaleWorlds.MountAndBlade
|
|
134
134
|
|
135
135
|
extern void ILobbyClientSessionHandler.OnClientQuitFromCustomGame(PlayerId playerId);
|
136
136
|
|
137
|
+
extern void ILobbyClientSessionHandler.OnAnnouncementReceived(Announcement announcement);
|
138
|
+
|
137
139
|
extern void ILobbyClientSessionHandler.OnChatMessageReceived(Guid roomId, string roomName, string playerName, string messageText, string textColor, MessageType type);
|
138
140
|
|
139
|
-
[AsyncStateMachine(typeof(
|
141
|
+
[AsyncStateMachine(typeof(_003CTaleWorlds_002DMountAndBlade_002DDiamond_002DILobbyClientSessionHandler_002DOnInviteToGame_003Ed__61))]
|
140
142
|
extern Task<bool> ILobbyClientSessionHandler.OnInviteToGame(PlayerId playerId);
|
141
143
|
|
142
144
|
extern void ILobbyClientSessionHandler.OnInvitedPlayerOnline(PlayerId playerId);
|
@@ -15,10 +15,15 @@ namespace TaleWorlds.MountAndBlade
|
|
15
15
|
{
|
16
16
|
public class LobbyState : GameState
|
17
17
|
{
|
18
|
+
public Action<bool> OnMultiplayerPrivilegeUpdated;
|
19
|
+
|
18
20
|
public override bool IsMenuState { get; }
|
19
21
|
|
20
22
|
public override bool IsMusicMenuState { get; }
|
21
23
|
|
24
|
+
public bool IsLoggingIn { [CompilerGenerated]
|
25
|
+
get; }
|
26
|
+
|
22
27
|
public ILobbyStateHandler Handler { get; set; }
|
23
28
|
|
24
29
|
public LobbyClient LobbyClient { get; }
|
@@ -26,19 +31,25 @@ namespace TaleWorlds.MountAndBlade
|
|
26
31
|
public NewsManager NewsManager { [CompilerGenerated]
|
27
32
|
get; }
|
28
33
|
|
34
|
+
public bool? HasMultiplayerPrivilege { [CompilerGenerated]
|
35
|
+
get; }
|
36
|
+
|
29
37
|
public extern void InitializeLogic(ILobbyStateHandler lobbyStateHandler);
|
30
38
|
|
31
|
-
[AsyncStateMachine(typeof(
|
39
|
+
[AsyncStateMachine(typeof(_003COnInitialize_003Ed__33))]
|
32
40
|
protected override extern void OnInitialize();
|
33
41
|
|
34
42
|
protected override extern void OnFinalize();
|
35
43
|
|
36
44
|
protected override extern void OnTick(float dt);
|
37
45
|
|
38
|
-
[AsyncStateMachine(typeof(
|
46
|
+
[AsyncStateMachine(typeof(_003CUpdateHasMultiplayerPrivilege_003Ed__39))]
|
47
|
+
public extern Task UpdateHasMultiplayerPrivilege();
|
48
|
+
|
49
|
+
[AsyncStateMachine(typeof(_003CTryLogin_003Ed__40))]
|
39
50
|
public extern Task TryLogin();
|
40
51
|
|
41
|
-
[AsyncStateMachine(typeof(
|
52
|
+
[AsyncStateMachine(typeof(_003CTryLogin_003Ed__41))]
|
42
53
|
public extern Task TryLogin(string userName, string password, bool forceAntiCheatEnabled = false);
|
43
54
|
|
44
55
|
public extern void HostGame();
|
@@ -71,6 +82,7 @@ namespace TaleWorlds.MountAndBlade
|
|
71
82
|
|
72
83
|
public extern void OnEnterBattleWithParty(string[] selectedGameTypes);
|
73
84
|
|
85
|
+
[AsyncStateMachine(typeof(_003COnPartyInvitationReceived_003Ed__57))]
|
74
86
|
public extern void OnPartyInvitationReceived(string inviterPlayerName, PlayerId playerId);
|
75
87
|
|
76
88
|
public extern void OnAdminMessageReceived(string message);
|
@@ -155,17 +167,14 @@ namespace TaleWorlds.MountAndBlade
|
|
155
167
|
|
156
168
|
internal extern void OnSigilChanged();
|
157
169
|
|
158
|
-
public extern void
|
170
|
+
public extern void OnNotificationsReceived(LobbyNotification[] notifications);
|
159
171
|
|
160
|
-
[AsyncStateMachine(typeof(
|
172
|
+
[AsyncStateMachine(typeof(_003COnInviteToGame_003Ed__102))]
|
161
173
|
public extern Task<bool> OnInviteToGame(PlayerId playerId);
|
162
174
|
|
163
175
|
public extern void OnInvitedPlayerOnline(PlayerId playerId);
|
164
176
|
|
165
|
-
[AsyncStateMachine(typeof(
|
166
|
-
public extern void OnSessionInvitationByConnectionStringAccepted();
|
167
|
-
|
168
|
-
[AsyncStateMachine(typeof(_003COnSessionInvitationAccepted_003Ed__94))]
|
177
|
+
[AsyncStateMachine(typeof(_003COnSessionInvitationAccepted_003Ed__104))]
|
169
178
|
public extern void OnSessionInvitationAccepted(SessionInvitationType targetGameType);
|
170
179
|
|
171
180
|
public extern LobbyState();
|
@@ -9,8 +9,14 @@ namespace TaleWorlds.MountAndBlade
|
|
9
9
|
|
10
10
|
extern ~MBAgentRendererSceneController();
|
11
11
|
|
12
|
+
public extern void SetEnforcedVisibilityForAllAgents(Scene scene);
|
13
|
+
|
12
14
|
public static extern MBAgentRendererSceneController CreateNewAgentRendererSceneController(Scene scene, int maxRenderCount);
|
13
15
|
|
14
|
-
public
|
16
|
+
public extern void SetDoTimerBasedForcedSkeletonUpdates(bool value);
|
17
|
+
|
18
|
+
public static extern void DestructAgentRendererSceneController(Scene scene, MBAgentRendererSceneController rendererSceneController, bool deleteThisFrame);
|
19
|
+
|
20
|
+
public static extern void ValidateAgentVisualsReseted(Scene scene, MBAgentRendererSceneController rendererSceneController);
|
15
21
|
}
|
16
22
|
}
|
@@ -25,7 +25,7 @@ namespace TaleWorlds.MountAndBlade
|
|
25
25
|
|
26
26
|
public extern Vec3 GetGlobalStableNeckPoint(bool isHumanoid);
|
27
27
|
|
28
|
-
public extern
|
28
|
+
public extern CompositeComponent AddPrefabToAgentVisualBone(string prefabName, sbyte boneIndex);
|
29
29
|
|
30
30
|
public extern GameEntity GetAttachedWeaponEntity(int attachedWeaponIndex);
|
31
31
|
|
@@ -41,5 +41,7 @@ namespace TaleWorlds.MountAndBlade
|
|
41
41
|
public static extern int GetNumActionCodes();
|
42
42
|
|
43
43
|
public static extern int GetNumAnimations();
|
44
|
+
|
45
|
+
public static extern bool IsAnyAnimationLoadingFromDisk();
|
44
46
|
}
|
45
47
|
}
|
@@ -12,43 +12,45 @@ namespace TaleWorlds.MountAndBlade
|
|
12
12
|
Count
|
13
13
|
}
|
14
14
|
|
15
|
-
public static extern int GetNumEditableDeformKeys(bool initialGender, int age);
|
15
|
+
public static extern int GetNumEditableDeformKeys(int race, bool initialGender, int age);
|
16
16
|
|
17
17
|
public static extern void GetParamsFromKey(ref FaceGenerationParams faceGenerationParams, BodyProperties bodyProperties, bool earsAreHidden);
|
18
18
|
|
19
|
-
public static extern void GetParamsMax(int curGender, int curAge, ref int hairNum, ref int beardNum, ref int faceTextureNum, ref int mouthTextureNum, ref int faceTattooNum, ref int soundNum, ref int eyebrowNum, ref float scale);
|
19
|
+
public static extern void GetParamsMax(int race, int curGender, int curAge, ref int hairNum, ref int beardNum, ref int faceTextureNum, ref int mouthTextureNum, ref int faceTattooNum, ref int soundNum, ref int eyebrowNum, ref float scale);
|
20
20
|
|
21
|
-
public static extern void GetZeroProbabilities(int curGender, float curAge, ref float tattooZeroProbability);
|
21
|
+
public static extern void GetZeroProbabilities(int race, int curGender, float curAge, ref float tattooZeroProbability);
|
22
22
|
|
23
23
|
public static extern void ProduceNumericKeyWithParams(FaceGenerationParams faceGenerationParams, bool earsAreHidden, ref BodyProperties bodyProperties);
|
24
24
|
|
25
|
-
public static extern void ProduceNumericKeyWithDefaultValues(ref BodyProperties initialBodyProperties, bool earsAreHidden, int gender, int age);
|
25
|
+
public static extern void ProduceNumericKeyWithDefaultValues(ref BodyProperties initialBodyProperties, bool earsAreHidden, int race, int gender, int age);
|
26
26
|
|
27
|
-
public static extern BodyProperties GetRandomBodyProperties(bool isFemale, BodyProperties bodyPropertiesMin, BodyProperties bodyPropertiesMax, int hairCoverType, int seed, string hairTags, string beardTags, string tatooTags);
|
27
|
+
public static extern BodyProperties GetRandomBodyProperties(int race, bool isFemale, BodyProperties bodyPropertiesMin, BodyProperties bodyPropertiesMax, int hairCoverType, int seed, string hairTags, string beardTags, string tatooTags);
|
28
28
|
|
29
|
-
public static extern DeformKeyData GetDeformKeyData(int keyNo, int gender, int age);
|
29
|
+
public static extern DeformKeyData GetDeformKeyData(int keyNo, int race, int gender, int age);
|
30
30
|
|
31
|
-
public static extern int GetFaceGenInstancesLength(int gender, int age);
|
31
|
+
public static extern int GetFaceGenInstancesLength(int race, int gender, int age);
|
32
32
|
|
33
33
|
public static extern bool EnforceConstraints(ref FaceGenerationParams faceGenerationParams);
|
34
34
|
|
35
|
-
public static extern float GetScaleFromKey(int gender, BodyProperties bodyProperties);
|
35
|
+
public static extern float GetScaleFromKey(int race, int gender, BodyProperties bodyProperties);
|
36
36
|
|
37
|
-
public static extern int GetHairColorCount(int curGender, int age);
|
37
|
+
public static extern int GetHairColorCount(int race, int curGender, int age);
|
38
38
|
|
39
|
-
public static extern List<uint> GetHairColorGradientPoints(int curGender, int age);
|
39
|
+
public static extern List<uint> GetHairColorGradientPoints(int race, int curGender, int age);
|
40
40
|
|
41
|
-
public static extern int GetTatooColorCount(int curGender, int age);
|
41
|
+
public static extern int GetTatooColorCount(int race, int curGender, int age);
|
42
42
|
|
43
|
-
public static extern List<uint> GetTatooColorGradientPoints(int curGender, int age);
|
43
|
+
public static extern List<uint> GetTatooColorGradientPoints(int race, int curGender, int age);
|
44
44
|
|
45
|
-
public static extern int GetSkinColorCount(int curGender, int age);
|
45
|
+
public static extern int GetSkinColorCount(int race, int curGender, int age);
|
46
46
|
|
47
47
|
public static extern BodyMeshMaturityType GetMaturityType(float age);
|
48
48
|
|
49
|
-
public static extern
|
49
|
+
public static extern string[] GetRaceIds();
|
50
50
|
|
51
|
-
public static extern List<
|
51
|
+
public static extern List<uint> GetSkinColorGradientPoints(int race, int curGender, int age);
|
52
|
+
|
53
|
+
public static extern List<bool> GetVoiceTypeUsableForPlayerData(int race, int curGender, float age, int voiceTypeCount);
|
52
54
|
|
53
55
|
public static extern void SetHair(ref BodyProperties bodyProperties, int hair, int beard, int tattoo);
|
54
56
|
|
@@ -56,7 +58,7 @@ namespace TaleWorlds.MountAndBlade
|
|
56
58
|
|
57
59
|
public static extern void SetPigmentation(ref BodyProperties bodyProperties, int skinColor, int hairColor, int eyeColor);
|
58
60
|
|
59
|
-
public static extern void GenerateParentKey(BodyProperties childBodyProperties, ref BodyProperties motherBodyProperties, ref BodyProperties fatherBodyProperties);
|
61
|
+
public static extern void GenerateParentKey(BodyProperties childBodyProperties, int race, ref BodyProperties motherBodyProperties, ref BodyProperties fatherBodyProperties);
|
60
62
|
|
61
63
|
public static extern BodyProperties GetBodyPropertiesWithAge(ref BodyProperties bodyProperties, float age);
|
62
64
|
}
|
@@ -48,6 +48,8 @@ namespace TaleWorlds.MountAndBlade
|
|
48
48
|
|
49
49
|
extern void IDebugManager.RenderDebugText3D(Vec3 position, string text, uint color, int screenPosOffsetX, int screenPosOffsetY, float time);
|
50
50
|
|
51
|
+
extern void IDebugManager.RenderDebugRectWithColor(float left, float bottom, float right, float top, uint color);
|
52
|
+
|
51
53
|
extern Vec3 IDebugManager.GetDebugVector();
|
52
54
|
|
53
55
|
extern void IDebugManager.SetTestModeEnabled(bool testModeEnabled);
|
@@ -61,6 +61,8 @@ namespace TaleWorlds.MountAndBlade
|
|
61
61
|
|
62
62
|
public static extern bool IsReplayManagerRecording();
|
63
63
|
|
64
|
+
public static extern void AddEditorWarning(string msg);
|
65
|
+
|
64
66
|
public static extern void AddEntityWarning(GameEntity entityId, string msg);
|
65
67
|
|
66
68
|
public static extern string GetAllPrefabsAndChildWithTag(string tag);
|
@@ -25,8 +25,6 @@ namespace TaleWorlds.MountAndBlade
|
|
25
25
|
|
26
26
|
public override bool IsEditModeOn { get; }
|
27
27
|
|
28
|
-
public override bool DeterministicMode { get; }
|
29
|
-
|
30
28
|
public override UnitSpawnPrioritizations UnitSpawnPrioritization { get; }
|
31
29
|
|
32
30
|
protected extern MBGameManager();
|
@@ -1,6 +1,6 @@
|
|
1
1
|
using System;
|
2
2
|
using System.Linq.Expressions;
|
3
|
-
using
|
3
|
+
using TaleWorlds.Core;
|
4
4
|
using TaleWorlds.Library;
|
5
5
|
|
6
6
|
namespace TaleWorlds.MountAndBlade
|
@@ -11,80 +11,10 @@ namespace TaleWorlds.MountAndBlade
|
|
11
11
|
|
12
12
|
public static readonly Vec3 GravityVec3;
|
13
13
|
|
14
|
-
public static MBActionSet HumanWarriorActionSet { [CompilerGenerated]
|
15
|
-
get; }
|
16
|
-
|
17
|
-
public static MBActionSet HumanFemaleWarriorActionSet { [CompilerGenerated]
|
18
|
-
get; }
|
19
|
-
|
20
|
-
public static MBActionSet HumanVillager1ActionSet { [CompilerGenerated]
|
21
|
-
get; }
|
22
|
-
|
23
|
-
public static MBActionSet HumanVillager2ActionSet { [CompilerGenerated]
|
24
|
-
get; }
|
25
|
-
|
26
|
-
public static MBActionSet HumanVillager3ActionSet { [CompilerGenerated]
|
27
|
-
get; }
|
28
|
-
|
29
|
-
public static MBActionSet HumanVillager4ActionSet { [CompilerGenerated]
|
30
|
-
get; }
|
31
|
-
|
32
|
-
public static MBActionSet HumanFemaleVillager1ActionSet { [CompilerGenerated]
|
33
|
-
get; }
|
34
|
-
|
35
|
-
public static MBActionSet HumanFemaleVillager2ActionSet { [CompilerGenerated]
|
36
|
-
get; }
|
37
|
-
|
38
|
-
public static MBActionSet HumanVillainActionSet { [CompilerGenerated]
|
39
|
-
get; }
|
40
|
-
|
41
|
-
public static MBActionSet HumanPrisonerActionSet { [CompilerGenerated]
|
42
|
-
get; }
|
43
|
-
|
44
|
-
public static MBActionSet HumanLordActionSet { [CompilerGenerated]
|
45
|
-
get; }
|
46
|
-
|
47
|
-
public static MBActionSet HumanLadyActionSet { [CompilerGenerated]
|
48
|
-
get; }
|
49
|
-
|
50
|
-
public static MBActionSet HumanVillagerDrinkerWithMugActionSet { [CompilerGenerated]
|
51
|
-
get; }
|
52
|
-
|
53
|
-
public static MBActionSet HumanVillagerDrinkerWithBowlActionSet { [CompilerGenerated]
|
54
|
-
get; }
|
55
|
-
|
56
|
-
public static MBActionSet HumanBarmaidActionSet { [CompilerGenerated]
|
57
|
-
get; }
|
58
|
-
|
59
|
-
public static MBActionSet HumanTavernKeeperActionSet { [CompilerGenerated]
|
60
|
-
get; }
|
61
|
-
|
62
|
-
public static MBActionSet HumanMusicianActionSet { [CompilerGenerated]
|
63
|
-
get; }
|
64
|
-
|
65
|
-
public static MBActionSet HumanGameHostActionSet { [CompilerGenerated]
|
66
|
-
get; }
|
67
|
-
|
68
|
-
public static MBActionSet HumanGuardActionSet { [CompilerGenerated]
|
69
|
-
get; }
|
70
|
-
|
71
|
-
public static MBActionSet HumanMaleFaceGenActionSet { [CompilerGenerated]
|
72
|
-
get; }
|
73
|
-
|
74
|
-
public static MBActionSet HumanFemaleFaceGenActionSet { [CompilerGenerated]
|
75
|
-
get; }
|
76
|
-
|
77
|
-
public static MBActionSet HumanMapActionSet { [CompilerGenerated]
|
78
|
-
get; }
|
79
|
-
|
80
|
-
public static MBActionSet HumanMapWithBannerActionSet { [CompilerGenerated]
|
81
|
-
get; }
|
82
|
-
|
83
|
-
public static MBActionSet PlayerMaleActionSet { [CompilerGenerated]
|
84
|
-
get; }
|
85
|
-
|
86
14
|
public static extern void InitializeReferences();
|
87
15
|
|
16
|
+
public static extern MBActionSet GetActionSetWithSuffix(Monster monster, bool isFemale, string suffix);
|
17
|
+
|
88
18
|
public static extern MBActionSet GetActionSet(string actionSetCode);
|
89
19
|
|
90
20
|
public static extern string GetMemberName<T>(Expression<Func<T>> memberExpression);
|
@@ -31,12 +31,16 @@ namespace TaleWorlds.MountAndBlade
|
|
31
31
|
|
32
32
|
public static extern void GetGlobalIlluminationOfString(Scene mapScene, string value);
|
33
33
|
|
34
|
-
public static extern void GetColorGradeGridData(Scene mapScene, byte[] gridData);
|
34
|
+
public static extern void GetColorGradeGridData(Scene mapScene, byte[] gridData, string textureName);
|
35
35
|
|
36
36
|
public static extern void GetBattleSceneIndexMap(Scene mapScene, ref byte[] indexData, ref int width, ref int height);
|
37
37
|
|
38
38
|
public static extern void SetFrameForAtmosphere(Scene mapScene, float tod, float cameraElevation, bool forceLoadTextures);
|
39
39
|
|
40
40
|
public static extern void SetTerrainDynamicParams(Scene mapScene, Vec3 dynamic_params);
|
41
|
+
|
42
|
+
public static extern void SetSeasonTimeFactor(Scene mapScene, float seasonTimeFactor);
|
43
|
+
|
44
|
+
public static extern float GetSeasonTimeFactor(Scene mapScene);
|
41
45
|
}
|
42
46
|
}
|
@@ -11,10 +11,6 @@ namespace TaleWorlds.MountAndBlade
|
|
11
11
|
|
12
12
|
protected extern MBMissile(Mission mission);
|
13
13
|
|
14
|
-
public virtual extern void SerializeToNetwork();
|
15
|
-
|
16
|
-
public virtual extern void DeserializeFromNetwork();
|
17
|
-
|
18
14
|
public extern Vec3 GetPosition();
|
19
15
|
|
20
16
|
public extern Vec3 GetVelocity();
|
@@ -0,0 +1,29 @@
|
|
1
|
+
using System.Collections.Generic;
|
2
|
+
using TaleWorlds.Engine;
|
3
|
+
using TaleWorlds.Library;
|
4
|
+
|
5
|
+
namespace TaleWorlds.MountAndBlade
|
6
|
+
{
|
7
|
+
public static class MBSceneUtilities
|
8
|
+
{
|
9
|
+
public const int MaxNumberOfSpawnPaths = 32;
|
10
|
+
|
11
|
+
public const string SpawnPathPrefix = "spawn_path_";
|
12
|
+
|
13
|
+
public const string SoftBorderVertexTag = "walk_area_vertex";
|
14
|
+
|
15
|
+
public const string SoftBoundaryName = "walk_area";
|
16
|
+
|
17
|
+
public const string SceneBoundaryName = "scene_boundary";
|
18
|
+
|
19
|
+
public static extern List<Path> GetAllSpawnPaths(Scene scene);
|
20
|
+
|
21
|
+
public static extern List<Vec2> GetSceneBoundaryPoints(Scene scene, out string boundaryName);
|
22
|
+
|
23
|
+
public static extern void RadialSortBoundaries(ref List<Vec2> boundaries);
|
24
|
+
|
25
|
+
public static extern bool IsPointInsideBoundaries(in Vec2 point, List<Vec2> boundaries);
|
26
|
+
|
27
|
+
public static extern float FindClosestPointToBoundaries(in Vec2 position, List<Vec2> boundaries, out Vec2 closestPoint);
|
28
|
+
}
|
29
|
+
}
|
@@ -16,6 +16,8 @@ namespace TaleWorlds.MountAndBlade
|
|
16
16
|
|
17
17
|
protected internal virtual extern void OnApplicationTick(float dt);
|
18
18
|
|
19
|
+
protected internal virtual extern void AfterAsyncTickTick(float dt);
|
20
|
+
|
19
21
|
protected internal virtual extern void InitializeGameStarter(Game game, IGameStarter starterObject);
|
20
22
|
|
21
23
|
public virtual extern void OnGameLoaded(Game game, object initializerObject);
|
@@ -40,10 +42,10 @@ namespace TaleWorlds.MountAndBlade
|
|
40
42
|
|
41
43
|
public virtual extern void OnGameEnd(Game game);
|
42
44
|
|
43
|
-
public virtual extern void OnBeforeMissionBehaviorInitialize(Mission mission);
|
44
|
-
|
45
45
|
public virtual extern void OnMissionBehaviorInitialize(Mission mission);
|
46
46
|
|
47
|
+
public virtual extern void OnBeforeMissionBehaviorInitialize(Mission mission);
|
48
|
+
|
47
49
|
public virtual extern void OnInitialState();
|
48
50
|
|
49
51
|
protected extern MBSubModuleBase();
|
@@ -21,7 +21,7 @@ namespace TaleWorlds.MountAndBlade
|
|
21
21
|
|
22
22
|
public virtual extern float GetExtraTroopCount();
|
23
23
|
|
24
|
-
public virtual extern List<(EquipmentIndex, EquipmentElement)> GetAlternativeEquipments(bool isPlayer, List<(EquipmentIndex, EquipmentElement)> alternativeEquipments);
|
24
|
+
public virtual extern List<(EquipmentIndex, EquipmentElement)> GetAlternativeEquipments(bool isPlayer, List<(EquipmentIndex, EquipmentElement)> alternativeEquipments, bool getAll = false);
|
25
25
|
|
26
26
|
public virtual extern float GetDrivenPropertyBonusOnSpawn(bool isPlayer, DrivenProperty drivenProperty, float baseValue);
|
27
27
|
|
@@ -124,7 +124,7 @@ namespace TaleWorlds.MountAndBlade
|
|
124
124
|
|
125
125
|
public extern float GetExtraTroopCount(bool isWarmup);
|
126
126
|
|
127
|
-
public extern List<(EquipmentIndex, EquipmentElement)> GetAlternativeEquipments(bool isWarmup, bool isPlayer, List<(EquipmentIndex, EquipmentElement)> alternativeEquipments);
|
127
|
+
public extern List<(EquipmentIndex, EquipmentElement)> GetAlternativeEquipments(bool isWarmup, bool isPlayer, List<(EquipmentIndex, EquipmentElement)> alternativeEquipments, bool getAllEquipments = false);
|
128
128
|
|
129
129
|
public extern float GetDrivenPropertyBonusOnSpawn(bool isWarmup, bool isPlayer, DrivenProperty drivenProperty, float baseValue);
|
130
130
|
|
@@ -27,6 +27,7 @@ namespace TaleWorlds.MountAndBlade
|
|
27
27
|
FirstPersonFov,
|
28
28
|
CombatCameraDistance,
|
29
29
|
EnableDamageTakenVisuals,
|
30
|
+
EnableVoiceChat,
|
30
31
|
EnableDeathIcon,
|
31
32
|
EnableNetworkAlertIcons,
|
32
33
|
ForceVSyncInMenus,
|
@@ -43,6 +44,8 @@ namespace TaleWorlds.MountAndBlade
|
|
43
44
|
HideFullServers,
|
44
45
|
HideEmptyServers,
|
45
46
|
HidePasswordProtectedServers,
|
47
|
+
HideUnofficialServers,
|
48
|
+
HideModuleIncompatibleServers,
|
46
49
|
HideBattleUI,
|
47
50
|
UnitSpawnPrioritization,
|
48
51
|
ManagedOptionTypeCount
|
@@ -50,6 +50,8 @@ namespace TaleWorlds.MountAndBlade
|
|
50
50
|
|
51
51
|
public const string MapFollowModifier = "MapFollowModifier";
|
52
52
|
|
53
|
+
public const string MapChangeCursorMode = "MapChangeCursorMode";
|
54
|
+
|
53
55
|
public const int MapTimeStop = 59;
|
54
56
|
|
55
57
|
public const int MapTimeNormal = 60;
|
@@ -0,0 +1,11 @@
|
|
1
|
+
namespace TaleWorlds.MountAndBlade
|
2
|
+
{
|
3
|
+
public class MapNotificationHotKeyCategory : GenericPanelGameKeyCategory
|
4
|
+
{
|
5
|
+
public new const string CategoryId = "MapNotificationHotKeyCategory";
|
6
|
+
|
7
|
+
public const string RemoveNotification = "RemoveNotification";
|
8
|
+
|
9
|
+
public extern MapNotificationHotKeyCategory();
|
10
|
+
}
|
11
|
+
}
|
@@ -4,9 +4,6 @@ namespace TaleWorlds.MountAndBlade
|
|
4
4
|
{
|
5
5
|
public static class MiscSoundContainer
|
6
6
|
{
|
7
|
-
public static int SoundCodeSiegeSiegetowerDoorland { [CompilerGenerated]
|
8
|
-
get; }
|
9
|
-
|
10
7
|
public static int SoundCodeMovementFoleyDoorOpen { [CompilerGenerated]
|
11
8
|
get; }
|
12
9
|
|
@@ -405,6 +405,8 @@ namespace TaleWorlds.MountAndBlade
|
|
405
405
|
|
406
406
|
public Agent MainAgent { get; set; }
|
407
407
|
|
408
|
+
public IMissionDeploymentPlan DeploymentPlan { get; }
|
409
|
+
|
408
410
|
public Agent MainAgentServer { get; set; }
|
409
411
|
|
410
412
|
public bool HasSpawnPath { get; }
|
@@ -417,14 +419,14 @@ namespace TaleWorlds.MountAndBlade
|
|
417
419
|
|
418
420
|
public IReadOnlyList<Agent> AllAgents { get; }
|
419
421
|
|
422
|
+
public bool IsInventoryAccessAllowed { get; }
|
423
|
+
|
420
424
|
public bool IsInventoryAccessible { [CompilerGenerated]
|
421
425
|
set; }
|
422
426
|
|
423
427
|
public MissionResult MissionResult { [CompilerGenerated]
|
424
428
|
get; }
|
425
429
|
|
426
|
-
public bool IsInventoryAccessAllowed { get; }
|
427
|
-
|
428
430
|
public bool IsQuestScreenAccessible { [CompilerGenerated]
|
429
431
|
set; }
|
430
432
|
|
@@ -569,6 +571,12 @@ namespace TaleWorlds.MountAndBlade
|
|
569
571
|
[MBCallback]
|
570
572
|
internal extern void OnSceneCreated(Scene scene);
|
571
573
|
|
574
|
+
[UsedImplicitly]
|
575
|
+
[MBCallback]
|
576
|
+
internal extern void TickAgentsAndTeams(float dt);
|
577
|
+
|
578
|
+
public extern void TickAgentsAndTeamsAsync(float dt);
|
579
|
+
|
572
580
|
internal extern void Tick(float dt);
|
573
581
|
|
574
582
|
internal extern void IdleTick(float dt);
|
@@ -669,44 +677,28 @@ namespace TaleWorlds.MountAndBlade
|
|
669
677
|
|
670
678
|
public extern float GetRemovedAgentRatioForSide(BattleSideEnum side);
|
671
679
|
|
672
|
-
public extern void MakeDeploymentPlanForSide(BattleSideEnum battleSide,
|
673
|
-
|
674
|
-
public extern void ClearDeploymentPlanForSide(BattleSideEnum battleSide);
|
675
|
-
|
676
|
-
public extern void ClearAddedTroopsInDeploymentPlan(BattleSideEnum battleSide);
|
680
|
+
public extern void MakeDeploymentPlanForSide(BattleSideEnum battleSide, DeploymentPlanType planType, float spawnPathOffset = 0f);
|
677
681
|
|
678
682
|
public extern void MakeDefaultDeploymentPlans();
|
679
683
|
|
680
|
-
public extern bool IsDeploymentPlanMadeForBattleSide(BattleSideEnum battleSide);
|
681
|
-
|
682
|
-
public extern void SetDeploymentPlanSpawnWithHorses(BattleSideEnum side, bool spawnWithHorses);
|
683
|
-
|
684
684
|
public extern ref readonly List<SiegeWeapon> GetAttackerWeaponsForFriendlyFirePreventing();
|
685
685
|
|
686
|
-
public extern
|
687
|
-
|
688
|
-
public extern bool HasDeploymentBoundaries(BattleSideEnum battleSide);
|
686
|
+
public extern void ClearDeploymentPlanForSide(BattleSideEnum battleSide, DeploymentPlanType planType);
|
689
687
|
|
690
|
-
public extern void
|
688
|
+
public extern void ClearAddedTroopsInDeploymentPlan(BattleSideEnum battleSide, DeploymentPlanType planType);
|
691
689
|
|
692
|
-
public extern
|
693
|
-
|
694
|
-
public extern Vec2 GetClosestDeploymentBoundaryPosition(BattleSideEnum battleSide, Vec2 position);
|
695
|
-
|
696
|
-
public extern int GetDeploymentTroopCountForSide(BattleSideEnum battleSide);
|
690
|
+
public extern void SetDeploymentPlanSpawnWithHorses(BattleSideEnum side, bool spawnWithHorses);
|
697
691
|
|
698
|
-
public extern
|
692
|
+
public extern void UpdateReinforcementPlans();
|
699
693
|
|
700
|
-
public extern
|
694
|
+
public extern void AddTroopsToDeploymentPlan(BattleSideEnum side, DeploymentPlanType planType, FormationClass fClass, int footTroopCount, int mountedTroopCount);
|
701
695
|
|
702
|
-
public extern bool
|
696
|
+
public extern bool TryRemakeInitialDeploymentPlanForBattleSide(BattleSideEnum battleSide);
|
703
697
|
|
704
698
|
public extern void AutoDeployTeamWithAI(Team team, bool enforceNotSplittableByAI = false);
|
705
699
|
|
706
700
|
public extern void AutoDeployTeamWithTeleport(Team team);
|
707
701
|
|
708
|
-
public extern void FinalizePlayerDeployment();
|
709
|
-
|
710
702
|
public extern WorldPosition GetAlternatePositionForNavmeshlessOrOutOfBoundsPosition(Vec2 directionTowards, WorldPosition originalPosition, ref float positionPenalty);
|
711
703
|
|
712
704
|
public extern int GetNextDynamicNavMeshIdStart();
|
@@ -747,10 +739,6 @@ namespace TaleWorlds.MountAndBlade
|
|
747
739
|
|
748
740
|
public extern void OnObjectDisabled(DestructableComponent destructionComponent);
|
749
741
|
|
750
|
-
[UsedImplicitly]
|
751
|
-
[MBCallback]
|
752
|
-
internal extern float OnAgentHit(Agent affectedAgent, Agent affectorAgent, int affectorWeaponSlotOrMissileIndex, bool isMissile, bool isBlocked, int damage, float damagedHp, float movementSpeedDamageModifier, float hitDistance, AgentAttackType attackType, BoneBodyPartType victimHitBodyPart);
|
753
|
-
|
754
742
|
public extern MissionObjectId SpawnWeaponAsDropFromMissile(int missileIndex, MissionObject attachedMissionObject, in MatrixFrame attachLocalFrame, WeaponSpawnFlags spawnFlags, in Vec3 velocity, in Vec3 angularVelocity, int forcedSpawnIndex);
|
755
743
|
|
756
744
|
[UsedImplicitly]
|
@@ -787,10 +775,12 @@ namespace TaleWorlds.MountAndBlade
|
|
787
775
|
[CommandLineFunctionality.CommandLineArgumentFunction("set_facial_anim_to_agent", "mission")]
|
788
776
|
public static extern string SetFacialAnimToAgent(List<string> strings);
|
789
777
|
|
778
|
+
public extern void TickAgentsAndTeamsImp(float dt);
|
779
|
+
|
790
780
|
[CommandLineFunctionality.CommandLineArgumentFunction("formation_speed_adjustment_enabled", "ai")]
|
791
781
|
public static extern string EnableSpeedAdjustmentCommand(List<string> strings);
|
792
782
|
|
793
|
-
public extern void OnTick(float dt, float realDt, bool updateCamera);
|
783
|
+
public extern void OnTick(float dt, float realDt, bool updateCamera, bool doAsyncAITick);
|
794
784
|
|
795
785
|
public extern void RemoveSpawnedItemsAndMissiles();
|
796
786
|
|
@@ -804,15 +794,21 @@ namespace TaleWorlds.MountAndBlade
|
|
804
794
|
|
805
795
|
public extern int GetMemberCountOfSide(BattleSideEnum side);
|
806
796
|
|
797
|
+
public extern Path GetInitialSpawnPath();
|
798
|
+
|
799
|
+
public extern SpawnPathData GetInitialSpawnPathDataOfSide(BattleSideEnum battleSide);
|
800
|
+
|
801
|
+
public extern MBReadOnlyList<SpawnPathData> GetReinforcementPathsDataOfSide(BattleSideEnum battleSide);
|
802
|
+
|
807
803
|
public extern void GetFormationSpawnFrame(BattleSideEnum side, FormationClass formationClass, bool isReinforcement, out WorldPosition spawnPosition, out Vec2 spawnDirection);
|
808
804
|
|
809
|
-
public extern WorldFrame
|
805
|
+
public extern WorldFrame GetBattleSideInitialSpawnPathFrame(BattleSideEnum battleSide, float pathOffset = 0f);
|
810
806
|
|
811
807
|
public extern void SetBattleAgentCount(int agentCount);
|
812
808
|
|
813
809
|
public extern Vec2 GetFormationSpawnPosition(BattleSideEnum side, FormationClass formationClass, bool isReinforcement);
|
814
810
|
|
815
|
-
public extern FormationClass GetFormationSpawnClass(BattleSideEnum side, FormationClass formationClass);
|
811
|
+
public extern FormationClass GetFormationSpawnClass(BattleSideEnum side, FormationClass formationClass, bool isReinforcement);
|
816
812
|
|
817
813
|
public extern Agent SpawnAgent(AgentBuildData agentBuildData, bool spawnFromAgentVisuals = false, int formationTroopCount = 0);
|
818
814
|
|
@@ -824,7 +820,7 @@ namespace TaleWorlds.MountAndBlade
|
|
824
820
|
|
825
821
|
public extern Agent SpawnMonster(EquipmentElement equipmentElement, EquipmentElement harnessRosterElement, in Vec3 initialPosition, in Vec2 initialDirection, int forcedAgentIndex = -1);
|
826
822
|
|
827
|
-
public extern Agent SpawnTroop(IAgentOriginBase troopOrigin, bool isPlayerSide, bool hasFormation, bool spawnWithHorse, bool isReinforcement,
|
823
|
+
public extern Agent SpawnTroop(IAgentOriginBase troopOrigin, bool isPlayerSide, bool hasFormation, bool spawnWithHorse, bool isReinforcement, int formationTroopCount, int formationTroopIndex, bool isAlarmed, bool wieldInitialWeapons, bool forceDismounted, Vec3? initialPosition, Vec2? initialDirection, string specialActionSetSuffix = null);
|
828
824
|
|
829
825
|
public extern Agent ReplaceBotWithPlayer(Agent botAgent, MissionPeer missionPeer);
|
830
826
|
|
@@ -848,7 +844,7 @@ namespace TaleWorlds.MountAndBlade
|
|
848
844
|
|
849
845
|
public extern bool IsOrderShoutingAllowed();
|
850
846
|
|
851
|
-
public extern List<EquipmentElement> GetExtraEquipmentElementsForCharacter(BasicCharacterObject character);
|
847
|
+
public extern List<EquipmentElement> GetExtraEquipmentElementsForCharacter(BasicCharacterObject character, bool getAllEquipments = false);
|
852
848
|
|
853
849
|
public extern bool IsPlayerCloseToAnEnemy(float distance = 5f);
|
854
850
|
|
@@ -886,9 +882,11 @@ namespace TaleWorlds.MountAndBlade
|
|
886
882
|
|
887
883
|
public extern int GetNearbyEnemyAgentCount(Team team, Vec2 position, float radius);
|
888
884
|
|
889
|
-
[IteratorStateMachine(typeof(
|
885
|
+
[IteratorStateMachine(typeof(_003CGetAgentsInRange_003Ed__522))]
|
890
886
|
public extern IEnumerable<Agent> GetAgentsInRange(Vec2 pos, float range, bool extendRangeByBiggestAgentCollisionPadding = false);
|
891
887
|
|
888
|
+
public extern bool HasAnyAgentsOfSideInRange(Vec3 origin, float radius, BattleSideEnum side);
|
889
|
+
|
892
890
|
public extern bool OnMissionObjectRemoved(MissionObject missionObject, int removeReason);
|
893
891
|
|
894
892
|
public extern bool AgentLookingAtAgent(Agent agent1, Agent agent2);
|
@@ -899,7 +897,7 @@ namespace TaleWorlds.MountAndBlade
|
|
899
897
|
|
900
898
|
public static extern Team GetAgentTeam(IAgentOriginBase troopOrigin, bool isPlayerSide);
|
901
899
|
|
902
|
-
public static extern
|
900
|
+
public static extern float GetBattleSizeOffset(int battleSize, Path path);
|
903
901
|
|
904
902
|
public extern void OnRenderingStarted();
|
905
903
|
|
@@ -915,6 +913,12 @@ namespace TaleWorlds.MountAndBlade
|
|
915
913
|
[MBCallback]
|
916
914
|
internal extern void MeleeHitCallback(ref AttackCollisionData collisionData, Agent attacker, Agent victim, GameEntity realHitEntity, ref float inOutMomentumRemaining, ref MeleeCollisionReaction colReaction, CrushThroughState crushThroughState, Vec3 blowDir, Vec3 swingDir, ref HitParticleResultData hitParticleResultData, bool crushedThroughWithoutAgentCollision);
|
917
915
|
|
916
|
+
[UsedImplicitly]
|
917
|
+
[MBCallback]
|
918
|
+
internal extern float OnAgentHitBlocked(Agent affectedAgent, Agent affectorAgent, ref AttackCollisionData collisionData, Vec3 blowDirection, Vec3 swingDirection, bool isMissile);
|
919
|
+
|
920
|
+
internal extern float OnAgentHit(Agent affectedAgent, Agent affectorAgent, in Blow b, in AttackCollisionData collisionData, bool isBlocked, float damagedHp);
|
921
|
+
|
918
922
|
[UsedImplicitly]
|
919
923
|
[MBCallback]
|
920
924
|
internal extern void MissileAreaDamageCallback(ref AttackCollisionData collisionDataInput, ref Blow blowInput, Agent alreadyDamagedAgent, Agent shooterAgent, bool isBigExplosion);
|
@@ -943,24 +947,14 @@ namespace TaleWorlds.MountAndBlade
|
|
943
947
|
|
944
948
|
public extern bool KillCheats(bool killAll, bool killEnemy, bool killHorse, bool killYourself);
|
945
949
|
|
946
|
-
public static extern float SpeedGraphFunction(float progress, StrikeType strikeType, Agent.UsageDirection attackDir);
|
947
|
-
|
948
|
-
public static extern void ComputeBlowMagnitude(ref AttackCollisionData acd, MissionWeapon weapon, ref AttackInformation attackInformation, float momentumRemaining, bool cancelDamage, bool hitWithAnotherBone, Vec2 attackerVelocity, Vec2 victimVelocity, out float specialMagnitude, out int speedBonusInt);
|
949
|
-
|
950
950
|
public extern float GetDamageMultiplierOfCombatDifficulty(Agent victimAgent, Agent attackerAgent = null);
|
951
951
|
|
952
|
-
public static extern void ComputeBlowDamage(ref AttackInformation attackInformation, ref AttackCollisionData attackCollisionData, in MissionWeapon attackerWeapon, DamageTypes damageType, float magnitude, int speedBonus, bool cancelDamage, out int inflictedDamage, out int absorbedByArmor);
|
953
|
-
|
954
|
-
public static extern void ComputeBlowDamageOnShield(bool isAttackerAgentNull, bool isAttackerAgentActive, bool isAttackerAgentDoingPassiveAttack, bool canGiveDamageToAgentShield, bool isVictimAgentLeftStance, MissionWeapon victimShield, ref AttackCollisionData attackCollisionData, WeaponComponentData attackerWeapon, float blowMagnitude);
|
955
|
-
|
956
952
|
public extern float GetShootDifficulty(Agent affectedAgent, Agent affectorAgent, bool isHeadShot);
|
957
953
|
|
958
954
|
[UsedImplicitly]
|
959
955
|
[MBCallback]
|
960
956
|
internal extern void GetDefendCollisionResults(Agent attackerAgent, Agent defenderAgent, CombatCollisionResult collisionResult, int attackerWeaponSlotIndex, bool isAlternativeAttack, StrikeType strikeType, Agent.UsageDirection attackDirection, float collisionDistanceOnWeapon, float attackProgress, bool attackIsParried, bool isPassiveUsageHit, bool isHeavyAttack, ref float defenderStunPeriod, ref float attackerStunPeriod, ref bool crushedThrough);
|
961
957
|
|
962
|
-
public static extern void GetAttackCollisionResults(ref AttackInformation attackInformation, bool crushedThrough, float momentumRemaining, ref AttackCollisionData attackCollisionData, in MissionWeapon attackerWeapon, bool cancelDamage, out CombatLogData combatLog, out int speedBonus);
|
963
|
-
|
964
958
|
public extern MissionObject CreateMissionObjectFromPrefab(string prefab, MatrixFrame frame);
|
965
959
|
|
966
960
|
public extern IEnumerable<Agent> GetNearbyAllyAgents(Vec2 center, float radius, Team team);
|
@@ -973,12 +967,11 @@ namespace TaleWorlds.MountAndBlade
|
|
973
967
|
|
974
968
|
public extern bool IsFormationUnitPositionAvailable(ref WorldPosition unitPosition, Team team);
|
975
969
|
|
976
|
-
public extern
|
970
|
+
public extern bool HasSceneMapPatch();
|
977
971
|
|
978
|
-
public extern
|
972
|
+
public extern bool GetPatchSceneEncounterPosition(out Vec3 position);
|
979
973
|
|
980
|
-
|
981
|
-
public extern IEnumerable<Path> GetAllSpawnPaths();
|
974
|
+
public extern bool GetPatchSceneEncounterDirection(out Vec2 direction);
|
982
975
|
|
983
976
|
public extern void AddTimerToDynamicEntity(GameEntity gameEntity, float timeToKill = 10f);
|
984
977
|
|
@@ -1000,9 +993,16 @@ namespace TaleWorlds.MountAndBlade
|
|
1000
993
|
[MBCallback]
|
1001
994
|
internal static extern void DebugLogNativeMissionNetworkEvent(int eventEnum, string eventName, int bitCount);
|
1002
995
|
|
996
|
+
[UsedImplicitly]
|
997
|
+
[MBCallback]
|
998
|
+
internal extern void PauseMission();
|
999
|
+
|
1003
1000
|
[CommandLineFunctionality.CommandLineArgumentFunction("toggleDisableDying", "mission")]
|
1004
1001
|
public static extern string ToggleDisableDying(List<string> strings);
|
1005
1002
|
|
1003
|
+
[CommandLineFunctionality.CommandLineArgumentFunction("toggleDisableDyingTeam", "mission")]
|
1004
|
+
public static extern string ToggleDisableDyingTeam(List<string> strings);
|
1005
|
+
|
1006
1006
|
[CommandLineFunctionality.CommandLineArgumentFunction("killAgent", "mission")]
|
1007
1007
|
public static extern string KillAgent(List<string> strings);
|
1008
1008
|
|
@@ -1,38 +1,81 @@
|
|
1
|
+
using System;
|
2
|
+
using System.Collections.Generic;
|
3
|
+
using System.Runtime.CompilerServices;
|
1
4
|
using TaleWorlds.Core;
|
2
5
|
|
3
6
|
namespace TaleWorlds.MountAndBlade
|
4
7
|
{
|
5
8
|
public class MissionAgentSpawnLogic : MissionLogic, IMissionAgentSpawnLogic, IMissionBehavior
|
6
9
|
{
|
10
|
+
public enum BattleSizeType
|
11
|
+
{
|
12
|
+
Battle,
|
13
|
+
Siege,
|
14
|
+
SallyOut
|
15
|
+
}
|
16
|
+
|
17
|
+
public struct SpawnNotificationData
|
18
|
+
{
|
19
|
+
public readonly BattleSideEnum BattleSide;
|
20
|
+
|
21
|
+
public readonly int NumberOfSpawnedTroops;
|
22
|
+
|
23
|
+
public extern SpawnNotificationData(BattleSideEnum battleSide, int numberOfSpawnedTroops);
|
24
|
+
}
|
25
|
+
|
26
|
+
public delegate void OnPhaseChangedDelegate();
|
27
|
+
|
7
28
|
public static int MaxNumberOfAgentsForMission { get; }
|
8
29
|
|
30
|
+
public int NumberOfAgents { get; }
|
31
|
+
|
32
|
+
public int BattleSize { get; }
|
33
|
+
|
34
|
+
public ref readonly MissionSpawnSettings ReinforcementSpawnSettings { get; }
|
35
|
+
|
9
36
|
public int NumberOfRemainingTroops { get; }
|
10
37
|
|
11
38
|
public int NumberOfActiveDefenderTroops { get; }
|
12
39
|
|
13
40
|
public int NumberOfActiveAttackerTroops { get; }
|
14
41
|
|
15
|
-
public int NumberOfAgents { get; }
|
16
|
-
|
17
42
|
public bool IsInitialSpawnOver { get; }
|
18
43
|
|
19
|
-
public
|
44
|
+
public event Action<SpawnNotificationData> OnNotifyReinforcementsSpawned
|
45
|
+
{
|
46
|
+
[CompilerGenerated]
|
47
|
+
add;
|
48
|
+
[CompilerGenerated]
|
49
|
+
remove;
|
50
|
+
}
|
51
|
+
|
52
|
+
public event Action<SpawnNotificationData> OnNotifyInitialTroopsSpawned
|
53
|
+
{
|
54
|
+
[CompilerGenerated]
|
55
|
+
add;
|
56
|
+
[CompilerGenerated]
|
57
|
+
remove;
|
58
|
+
}
|
20
59
|
|
21
60
|
public extern int GetNumberOfPlayerControllableTroops();
|
22
61
|
|
23
|
-
public extern
|
62
|
+
public extern IEnumerable<IAgentOriginBase> GetAllTroopsForSide(BattleSideEnum side);
|
24
63
|
|
25
|
-
public extern
|
64
|
+
public extern MissionAgentSpawnLogic(IMissionTroopSupplier[] suppliers, BattleSideEnum playerSide, BattleSizeType battleSizeType);
|
65
|
+
|
66
|
+
public extern void InitWithSinglePhase(int defenderTotalSpawn, int attackerTotalSpawn, int defenderInitialSpawn, int attackerInitialSpawn, bool spawnDefenders, bool spawnAttackers, in MissionSpawnSettings spawnSettings);
|
26
67
|
|
27
68
|
public extern void SetSpawnTroops(BattleSideEnum side, bool spawnTroops, bool enforceSpawning = false);
|
28
69
|
|
29
70
|
public extern void SetSpawnHorses(BattleSideEnum side, bool spawnHorses);
|
30
71
|
|
72
|
+
public extern void SetReinforcementsSpawnTimerEnabled(bool value, bool resetTimer = true);
|
73
|
+
|
31
74
|
public extern void StopSpawner();
|
32
75
|
|
33
|
-
public extern
|
76
|
+
public extern float GetReinforcementInterval();
|
34
77
|
|
35
|
-
public extern void
|
78
|
+
public extern void OnInitialSpawnForSideEnded(BattleSideEnum side);
|
36
79
|
|
37
80
|
public override extern void OnMissionTick(float dt);
|
38
81
|
|
@@ -40,10 +83,6 @@ namespace TaleWorlds.MountAndBlade
|
|
40
83
|
|
41
84
|
public extern bool IsSideDepleted(BattleSideEnum side);
|
42
85
|
|
43
|
-
public extern void AddPhase(BattleSideEnum side, int totalSpawn, int initialSpawn);
|
44
|
-
|
45
|
-
public extern void Init(bool spawnDefenders, bool spawnAttackers, float defenderAdvantageFactor = 1f);
|
46
|
-
|
47
86
|
public extern void AddPhaseChangeAction(BattleSideEnum side, OnPhaseChangedDelegate onPhaseChanged);
|
48
87
|
}
|
49
88
|
}
|
@@ -39,9 +39,9 @@ namespace TaleWorlds.MountAndBlade
|
|
39
39
|
|
40
40
|
public virtual extern void OnAgentTeamChanged(Team prevTeam, Team newTeam, Agent agent);
|
41
41
|
|
42
|
-
public virtual extern void OnAgentHit(Agent affectedAgent, Agent affectorAgent,
|
42
|
+
public virtual extern void OnAgentHit(Agent affectedAgent, Agent affectorAgent, in MissionWeapon affectorWeapon, in Blow blow, in AttackCollisionData attackCollisionData);
|
43
43
|
|
44
|
-
public virtual extern void OnScoreHit(Agent affectedAgent, Agent affectorAgent, WeaponComponentData attackerWeapon, bool isBlocked, bool isSiegeEngineHit,
|
44
|
+
public virtual extern void OnScoreHit(Agent affectedAgent, Agent affectorAgent, WeaponComponentData attackerWeapon, bool isBlocked, bool isSiegeEngineHit, in Blow blow, in AttackCollisionData collisionData, float damagedHp, float hitDistance, float shotDifficulty);
|
45
45
|
|
46
46
|
public virtual extern void OnEarlyAgentRemoved(Agent affectedAgent, Agent affectorAgent, AgentState agentState, KillingBlow blow);
|
47
47
|
|
@@ -0,0 +1,27 @@
|
|
1
|
+
using TaleWorlds.Core;
|
2
|
+
|
3
|
+
namespace TaleWorlds.MountAndBlade
|
4
|
+
{
|
5
|
+
public static class MissionCombatMechanicsHelper
|
6
|
+
{
|
7
|
+
public static extern bool DecideAgentShrugOffBlow(Agent victimAgent, AttackCollisionData collisionData, in Blow blow);
|
8
|
+
|
9
|
+
public static extern bool DecideAgentDismountedByBlow(Agent attackerAgent, Agent victimAgent, in AttackCollisionData collisionData, WeaponComponentData attackerWeapon, in Blow blow);
|
10
|
+
|
11
|
+
public static extern bool DecideAgentKnockedBackByBlow(Agent attackerAgent, Agent victimAgent, in AttackCollisionData collisionData, WeaponComponentData attackerWeapon, in Blow blow);
|
12
|
+
|
13
|
+
public static extern bool DecideAgentKnockedDownByBlow(Agent attackerAgent, Agent victimAgent, in AttackCollisionData collisionData, WeaponComponentData attackerWeapon, in Blow blow);
|
14
|
+
|
15
|
+
public static extern bool DecideMountRearedByBlow(Agent attackerAgent, Agent victimAgent, in AttackCollisionData collisionData, WeaponComponentData attackerWeapon, in Blow blow);
|
16
|
+
|
17
|
+
public static extern bool IsCollisionBoneDifferentThanWeaponAttachBone(in AttackCollisionData collisionData, int weaponAttachBoneIndex);
|
18
|
+
|
19
|
+
public static extern bool DecideSweetSpotCollision(in AttackCollisionData collisionData);
|
20
|
+
|
21
|
+
public static extern void GetAttackCollisionResults(in AttackInformation attackInformation, bool crushedThrough, float momentumRemaining, in MissionWeapon attackerWeapon, bool cancelDamage, ref AttackCollisionData attackCollisionData, out CombatLogData combatLog, out int speedBonus);
|
22
|
+
|
23
|
+
internal static extern void GetDefendCollisionResults(Agent attackerAgent, Agent defenderAgent, CombatCollisionResult collisionResult, int attackerWeaponSlotIndex, bool isAlternativeAttack, StrikeType strikeType, Agent.UsageDirection attackDirection, float collisionDistanceOnWeapon, float attackProgress, bool attackIsParried, bool isPassiveUsageHit, bool isHeavyAttack, ref float defenderStunPeriod, ref float attackerStunPeriod, ref bool crushedThrough, ref bool chamber);
|
24
|
+
|
25
|
+
public static extern float CalculateBaseMeleeBlowMagnitude(in AttackInformation attackInformation, in MissionWeapon weapon, StrikeType strikeType, float progressEffect, float impactPointAsPercent, float exraLinearSpeed, bool doesAttackerHaveMount);
|
26
|
+
}
|
27
|
+
}
|
@@ -1,50 +1,55 @@
|
|
1
1
|
using System.Collections.Generic;
|
2
2
|
using TaleWorlds.Core;
|
3
|
-
using TaleWorlds.Engine;
|
4
3
|
using TaleWorlds.Library;
|
5
4
|
|
6
5
|
namespace TaleWorlds.MountAndBlade
|
7
6
|
{
|
8
|
-
public class MissionDeploymentPlan
|
7
|
+
public class MissionDeploymentPlan : IMissionDeploymentPlan
|
9
8
|
{
|
10
9
|
public const int NumFormationsWithUnset = 11;
|
11
10
|
|
12
11
|
public extern MissionDeploymentPlan(Mission mission);
|
13
12
|
|
14
|
-
public extern void
|
13
|
+
public extern void CreateReinforcementPlans();
|
15
14
|
|
16
|
-
public
|
15
|
+
public extern void ClearDeploymentPlanForSide(BattleSideEnum battleSide, DeploymentPlanType planType);
|
17
16
|
|
18
17
|
public static extern bool HasSignificantMountedTroops(int footTroopCount, int mountedTroopCount);
|
19
18
|
|
20
|
-
public extern void ClearAddedTroopsForBattleSide(BattleSideEnum battleSide);
|
19
|
+
public extern void ClearAddedTroopsForBattleSide(BattleSideEnum battleSide, DeploymentPlanType planType);
|
21
20
|
|
22
|
-
public extern void AddTroopsForBattleSide(BattleSideEnum battleSide, FormationClass formationClass, int footTroopCount, int mountedTroopCount);
|
21
|
+
public extern void AddTroopsForBattleSide(BattleSideEnum battleSide, DeploymentPlanType planType, FormationClass formationClass, int footTroopCount, int mountedTroopCount);
|
23
22
|
|
24
23
|
public extern void SetSpawnWithHorsesForSide(BattleSideEnum battleSide, bool spawnWithHorses);
|
25
24
|
|
26
|
-
public extern void PlanBattleDeployment(BattleSideEnum battleSide,
|
25
|
+
public extern void PlanBattleDeployment(BattleSideEnum battleSide, DeploymentPlanType planType, float spawnPathOffset = 0f);
|
27
26
|
|
28
|
-
public extern bool IsPositionInsideDeploymentBoundaries(BattleSideEnum battleSide, Vec2 position);
|
27
|
+
public extern bool IsPositionInsideDeploymentBoundaries(BattleSideEnum battleSide, in Vec2 position, DeploymentPlanType planType);
|
29
28
|
|
30
|
-
public extern Vec2 GetClosestDeploymentBoundaryPosition(BattleSideEnum battleSide, Vec2 position);
|
29
|
+
public extern Vec2 GetClosestDeploymentBoundaryPosition(BattleSideEnum battleSide, in Vec2 position, DeploymentPlanType planType);
|
31
30
|
|
32
|
-
public extern int GetTroopCountForSide(BattleSideEnum side);
|
31
|
+
public extern int GetTroopCountForSide(BattleSideEnum side, DeploymentPlanType planType);
|
33
32
|
|
34
|
-
public extern
|
33
|
+
public extern float GetSpawnPathOffsetForSide(BattleSideEnum side, DeploymentPlanType planType);
|
35
34
|
|
36
|
-
public extern
|
35
|
+
public extern IFormationDeploymentPlan GetFormationPlan(BattleSideEnum side, FormationClass fClass, DeploymentPlanType planType);
|
37
36
|
|
38
|
-
public extern bool IsPlanMadeForBattleSide(BattleSideEnum side);
|
37
|
+
public extern bool IsPlanMadeForBattleSide(BattleSideEnum side, DeploymentPlanType planType);
|
39
38
|
|
40
|
-
public extern bool
|
39
|
+
public extern bool IsPlanMadeForBattleSide(BattleSideEnum side, out bool isFirstPlan, DeploymentPlanType planType);
|
41
40
|
|
42
|
-
public extern bool
|
41
|
+
public extern bool IsInitialPlanSuitableForFormations(BattleSideEnum side, (int, int)[] troopDataPerFormationClass);
|
43
42
|
|
44
|
-
public extern bool HasDeploymentBoundaries(BattleSideEnum side);
|
43
|
+
public extern bool HasDeploymentBoundaries(BattleSideEnum side, DeploymentPlanType planType);
|
45
44
|
|
46
|
-
public extern MatrixFrame GetBattleSideDeploymentFrame(BattleSideEnum side);
|
45
|
+
public extern MatrixFrame GetBattleSideDeploymentFrame(BattleSideEnum side, DeploymentPlanType planType);
|
47
46
|
|
48
|
-
public extern MBReadOnlyDictionary<string, List<Vec2>> GetDeploymentBoundaries(BattleSideEnum side);
|
47
|
+
public extern MBReadOnlyDictionary<string, List<Vec2>> GetDeploymentBoundaries(BattleSideEnum side, DeploymentPlanType planType);
|
48
|
+
|
49
|
+
public extern void UpdateReinforcementPlans();
|
50
|
+
|
51
|
+
extern bool IMissionDeploymentPlan.IsPositionInsideDeploymentBoundaries(BattleSideEnum battleSide, in Vec2 position, DeploymentPlanType planType);
|
52
|
+
|
53
|
+
extern Vec2 IMissionDeploymentPlan.GetClosestDeploymentBoundaryPosition(BattleSideEnum battleSide, in Vec2 position, DeploymentPlanType planType);
|
49
54
|
}
|
50
55
|
}
|
@@ -55,7 +55,15 @@ namespace TaleWorlds.MountAndBlade
|
|
55
55
|
|
56
56
|
public extern bool HasRangedWeapon(WeaponClass requiredAmmoClass = WeaponClass.Undefined);
|
57
57
|
|
58
|
-
public extern
|
58
|
+
public extern bool ContainsNonConsumableRangedWeaponWithAmmo();
|
59
|
+
|
60
|
+
public extern bool ContainsMeleeWeapon();
|
61
|
+
|
62
|
+
public extern bool ContainsShield();
|
63
|
+
|
64
|
+
public extern bool ContainsSpear();
|
65
|
+
|
66
|
+
public extern bool ContainsThrownWeapon();
|
59
67
|
|
60
68
|
public extern void SetGlossMultipliersOfWeaponsRandomly(int seed);
|
61
69
|
}
|
@@ -37,6 +37,9 @@ namespace TaleWorlds.MountAndBlade
|
|
37
37
|
public DamageParticleModel DamageParticleModel { [CompilerGenerated]
|
38
38
|
get; }
|
39
39
|
|
40
|
+
public ItemPickupModel ItemPickupModel { [CompilerGenerated]
|
41
|
+
get; }
|
42
|
+
|
40
43
|
public extern MissionGameModels(IEnumerable<GameModel> inputComponents);
|
41
44
|
|
42
45
|
public static extern void Clear();
|
@@ -1,6 +1,8 @@
|
|
1
1
|
using System;
|
2
|
+
using System.Collections.Generic;
|
2
3
|
using System.Runtime.CompilerServices;
|
3
4
|
using TaleWorlds.Core;
|
5
|
+
using TaleWorlds.Library;
|
4
6
|
|
5
7
|
namespace TaleWorlds.MountAndBlade
|
6
8
|
{
|
@@ -86,7 +88,7 @@ namespace TaleWorlds.MountAndBlade
|
|
86
88
|
|
87
89
|
public extern void DespawnPlayer(MissionPeer missionPeer);
|
88
90
|
|
89
|
-
public override extern void OnScoreHit(Agent affectedAgent, Agent affectorAgent, WeaponComponentData attackerWeapon, bool isBlocked, bool isSiegeEngineHit,
|
91
|
+
public override extern void OnScoreHit(Agent affectedAgent, Agent affectorAgent, WeaponComponentData attackerWeapon, bool isBlocked, bool isSiegeEngineHit, in Blow blow, in AttackCollisionData collisionData, float damagedHp, float hitDistance, float shotDifficulty);
|
90
92
|
|
91
93
|
public override extern void OnAgentRemoved(Agent affectedAgent, Agent affectorAgent, AgentState agentState, KillingBlow killingBlow);
|
92
94
|
|
@@ -116,6 +118,9 @@ namespace TaleWorlds.MountAndBlade
|
|
116
118
|
|
117
119
|
public extern int GetRandomFaceSeedForCharacter(BasicCharacterObject character, int addition = 0);
|
118
120
|
|
121
|
+
[CommandLineFunctionality.CommandLineArgumentFunction("kill_player", "mp_host")]
|
122
|
+
public static extern string MPHostChangeParam(List<string> strings);
|
123
|
+
|
119
124
|
protected extern MissionLobbyComponent();
|
120
125
|
}
|
121
126
|
}
|
@@ -26,7 +26,7 @@ namespace TaleWorlds.MountAndBlade
|
|
26
26
|
|
27
27
|
public virtual extern bool IsOrderShoutingAllowed();
|
28
28
|
|
29
|
-
public virtual extern List<EquipmentElement> GetExtraEquipmentElementsForCharacter(BasicCharacterObject character);
|
29
|
+
public virtual extern List<EquipmentElement> GetExtraEquipmentElementsForCharacter(BasicCharacterObject character, bool getAllEquipments = false);
|
30
30
|
|
31
31
|
public virtual extern void OnMissionResultReady(MissionResult missionResult);
|
32
32
|
|
@@ -64,7 +64,7 @@ namespace TaleWorlds.MountAndBlade
|
|
64
64
|
remove;
|
65
65
|
}
|
66
66
|
|
67
|
-
public event Action<
|
67
|
+
public event Action<GoldGain> OnGoldGainEvent
|
68
68
|
{
|
69
69
|
[CompilerGenerated]
|
70
70
|
add;
|
@@ -46,7 +46,7 @@ namespace TaleWorlds.MountAndBlade
|
|
46
46
|
remove;
|
47
47
|
}
|
48
48
|
|
49
|
-
public event Action<
|
49
|
+
public event Action<GoldGain> OnGoldGainEvent
|
50
50
|
{
|
51
51
|
[CompilerGenerated]
|
52
52
|
add;
|
@@ -14,7 +14,7 @@ namespace TaleWorlds.MountAndBlade
|
|
14
14
|
|
15
15
|
public override MissionLobbyComponent.MultiplayerGameType GameType { get; }
|
16
16
|
|
17
|
-
public event Action<
|
17
|
+
public event Action<GoldGain> OnGoldGainEvent
|
18
18
|
{
|
19
19
|
[CompilerGenerated]
|
20
20
|
add;
|
@@ -13,7 +13,7 @@ namespace TaleWorlds.MountAndBlade
|
|
13
13
|
|
14
14
|
public delegate void OnTeamChangedDelegate(NetworkCommunicator peer, Team previousTeam, Team newTeam);
|
15
15
|
|
16
|
-
public delegate void OnCultureChangedDelegate(
|
16
|
+
public delegate void OnCultureChangedDelegate(BasicCultureObject newCulture);
|
17
17
|
|
18
18
|
public delegate void OnPlayerKilledDelegate(MissionPeer killerPeer, MissionPeer killedPeer);
|
19
19
|
|
@@ -41,6 +41,9 @@ namespace TaleWorlds.MountAndBlade
|
|
41
41
|
get; [CompilerGenerated]
|
42
42
|
set; }
|
43
43
|
|
44
|
+
public bool TeamInitialPerkInfoReady { [CompilerGenerated]
|
45
|
+
get; }
|
46
|
+
|
44
47
|
public bool HasSpawnedAgentVisuals { [CompilerGenerated]
|
45
48
|
get; [CompilerGenerated]
|
46
49
|
set; }
|
@@ -152,14 +155,6 @@ namespace TaleWorlds.MountAndBlade
|
|
152
155
|
remove;
|
153
156
|
}
|
154
157
|
|
155
|
-
public static event OnCultureChangedDelegate OnCultureChanged
|
156
|
-
{
|
157
|
-
[CompilerGenerated]
|
158
|
-
add;
|
159
|
-
[CompilerGenerated]
|
160
|
-
remove;
|
161
|
-
}
|
162
|
-
|
163
158
|
public static event OnPlayerKilledDelegate OnPlayerKilled
|
164
159
|
{
|
165
160
|
[CompilerGenerated]
|
@@ -198,7 +193,7 @@ namespace TaleWorlds.MountAndBlade
|
|
198
193
|
|
199
194
|
public extern void OnVisualsSpawned(PeerVisualsHolder visualsHolder, int visualIndex);
|
200
195
|
|
201
|
-
[IteratorStateMachine(typeof(
|
196
|
+
[IteratorStateMachine(typeof(_003CGetAllAgentVisualsForPeer_003Ed__173))]
|
202
197
|
public extern IEnumerable<IAgentVisual> GetAllAgentVisualsForPeer();
|
203
198
|
|
204
199
|
public extern IAgentVisual GetAgentVisualForPeer(int visualsIndex);
|
@@ -214,5 +209,7 @@ namespace TaleWorlds.MountAndBlade
|
|
214
209
|
public extern int GetNumberOfTimesPeerKilledPeer(MissionPeer killedPeer);
|
215
210
|
|
216
211
|
public extern void ResetKillRegistry();
|
212
|
+
|
213
|
+
public extern void OnTeamInitialPerkInfoReceived(int[] perks);
|
217
214
|
}
|
218
215
|
}
|
@@ -1,3 +1,4 @@
|
|
1
|
+
using System;
|
1
2
|
using System.Runtime.CompilerServices;
|
2
3
|
using TaleWorlds.Core;
|
3
4
|
|
@@ -12,6 +13,8 @@ namespace TaleWorlds.MountAndBlade
|
|
12
13
|
Server
|
13
14
|
}
|
14
15
|
|
16
|
+
public Action OnGoldUpdated;
|
17
|
+
|
15
18
|
protected PlayerTypes PlayerType { get; }
|
16
19
|
|
17
20
|
public Agent ControlledAgent { [CompilerGenerated]
|
@@ -99,7 +99,7 @@ namespace TaleWorlds.MountAndBlade
|
|
99
99
|
remove;
|
100
100
|
}
|
101
101
|
|
102
|
-
public event Action<MissionPeer> OnMVPSelected
|
102
|
+
public event Action<MissionPeer, int> OnMVPSelected
|
103
103
|
{
|
104
104
|
[CompilerGenerated]
|
105
105
|
add;
|
@@ -115,7 +115,7 @@ namespace TaleWorlds.MountAndBlade
|
|
115
115
|
remove;
|
116
116
|
}
|
117
117
|
|
118
|
-
public extern MissionScoreboardComponent(
|
118
|
+
public extern MissionScoreboardComponent(IScoreboardData scoreboardData);
|
119
119
|
|
120
120
|
public override extern void AfterStart();
|
121
121
|
|
@@ -169,6 +169,6 @@ namespace TaleWorlds.MountAndBlade
|
|
169
169
|
|
170
170
|
public extern BattleSideEnum GetMatchWinnerSide();
|
171
171
|
|
172
|
-
public override extern void OnScoreHit(Agent affectedAgent, Agent affectorAgent, WeaponComponentData attackerWeapon, bool isBlocked, bool isSiegeEngineHit,
|
172
|
+
public override extern void OnScoreHit(Agent affectedAgent, Agent affectorAgent, WeaponComponentData attackerWeapon, bool isBlocked, bool isSiegeEngineHit, in Blow blow, in AttackCollisionData collisionData, float damagedHp, float hitDistance, float shotDifficulty);
|
173
173
|
}
|
174
174
|
}
|
@@ -0,0 +1,69 @@
|
|
1
|
+
using System.Runtime.CompilerServices;
|
2
|
+
|
3
|
+
namespace TaleWorlds.MountAndBlade
|
4
|
+
{
|
5
|
+
public struct MissionSpawnSettings
|
6
|
+
{
|
7
|
+
public enum ReinforcementSpawnMethod
|
8
|
+
{
|
9
|
+
Balanced,
|
10
|
+
Fixed
|
11
|
+
}
|
12
|
+
|
13
|
+
public enum InitialSpawnMethod
|
14
|
+
{
|
15
|
+
BattleSizeAllocating,
|
16
|
+
FreeAllocation
|
17
|
+
}
|
18
|
+
|
19
|
+
public const float MinimumReinforcementInterval = 1f;
|
20
|
+
|
21
|
+
public const float MinimumReinforcementPercentageThreshold = 0.01f;
|
22
|
+
|
23
|
+
public const float MinimumDefenderAdvantageFactor = 0.1f;
|
24
|
+
|
25
|
+
public const float MaximumDefenderAdvantageFactor = 10f;
|
26
|
+
|
27
|
+
public const float MinimumDefenderRatioLimit = 0.01f;
|
28
|
+
|
29
|
+
public const float MaximumDefenderRatioLimit = 0.99f;
|
30
|
+
|
31
|
+
public const float DefaultDefenderRatioLimit = 0.6f;
|
32
|
+
|
33
|
+
public const float DefaultDefenderAdvantageFactor = 1f;
|
34
|
+
|
35
|
+
public float ReinforcementInterval { get; set; }
|
36
|
+
|
37
|
+
public float ReinforcementIntervalChange { [CompilerGenerated]
|
38
|
+
get; [CompilerGenerated]
|
39
|
+
set; }
|
40
|
+
|
41
|
+
public int ReinforcementIntervalCount { get; set; }
|
42
|
+
|
43
|
+
public ReinforcementSpawnMethod ReinforcementTroopsSpawnMethod { [CompilerGenerated]
|
44
|
+
get; [CompilerGenerated]
|
45
|
+
set; }
|
46
|
+
|
47
|
+
public InitialSpawnMethod InitialTroopsSpawnMethod { [CompilerGenerated]
|
48
|
+
get; [CompilerGenerated]
|
49
|
+
set; }
|
50
|
+
|
51
|
+
public float ReinforcementBatchPercentage { get; set; }
|
52
|
+
|
53
|
+
public float DesiredReinforcementPercentage { get; set; }
|
54
|
+
|
55
|
+
public float DefenderReinforcementBatchPercentage { get; set; }
|
56
|
+
|
57
|
+
public float AttackerReinforcementBatchPercentage { get; set; }
|
58
|
+
|
59
|
+
public float DefenderAdvantageFactor { get; set; }
|
60
|
+
|
61
|
+
public float DefenderRatioLimit { get; set; }
|
62
|
+
|
63
|
+
public extern MissionSpawnSettings(float reinforcementInterval, float reinforcementIntervalChange, int reinforcementIntervalCount, InitialSpawnMethod initialTroopsSpawnMethod, ReinforcementSpawnMethod reinforcementTroopsSpawnMethod, float reinforcementBatchPercentage, float desiredReinforcementPercentage, float defenderReinforcementBatchPercentage = 0f, float attackerReinforcementBatchPercentage = 0f, float defenderAdvantageFactor = 1f, float defenderRatioLimit = 0.6f);
|
64
|
+
|
65
|
+
public static extern MissionSpawnSettings CreateDefaultSettings();
|
66
|
+
|
67
|
+
public static extern MissionSpawnSettings CreateSallyOutSettings();
|
68
|
+
}
|
69
|
+
}
|
@@ -41,7 +41,7 @@ namespace TaleWorlds.MountAndBlade
|
|
41
41
|
public float GlossMultiplier { [CompilerGenerated]
|
42
42
|
get; }
|
43
43
|
|
44
|
-
public short RawDataForNetwork { get;
|
44
|
+
public short RawDataForNetwork { get; }
|
45
45
|
|
46
46
|
public short HitPoints { get; set; }
|
47
47
|
|
@@ -111,6 +111,8 @@ namespace TaleWorlds.MountAndBlade
|
|
111
111
|
|
112
112
|
public extern bool IsShield();
|
113
113
|
|
114
|
+
public extern bool IsBanner();
|
115
|
+
|
114
116
|
public extern bool IsAnyAmmo();
|
115
117
|
|
116
118
|
public extern bool HasAnyUsageWithWeaponClass(WeaponClass weaponClass);
|
@@ -121,7 +123,9 @@ namespace TaleWorlds.MountAndBlade
|
|
121
123
|
|
122
124
|
public extern void GatherInformationFromWeapon(out bool weaponHasMelee, out bool weaponHasShield, out bool weaponHasPolearm, out bool weaponHasNonConsumableRanged, out bool weaponHasThrown, out WeaponClass rangedAmmoClass);
|
123
125
|
|
124
|
-
public extern bool IsAnyConsumable(
|
126
|
+
public extern bool IsAnyConsumable();
|
127
|
+
|
128
|
+
public extern bool GetConsumableIfAny(out WeaponComponentData consumableWeapon);
|
125
129
|
|
126
130
|
public extern int GetRangedUsageIndex();
|
127
131
|
|
@@ -143,6 +143,9 @@ namespace TaleWorlds.MountAndBlade
|
|
143
143
|
[MBCallback]
|
144
144
|
internal static extern string CreateProcessedAnimationsXMLForNative(out string animationsXmlPaths);
|
145
145
|
|
146
|
+
[MBCallback]
|
147
|
+
internal static extern string CreateProcessedVoiceDefinitionsXMLForNative();
|
148
|
+
|
146
149
|
[MBCallback]
|
147
150
|
internal static extern string CreateProcessedModuleDataXMLForNative(string xmlType);
|
148
151
|
|
@@ -178,7 +181,7 @@ namespace TaleWorlds.MountAndBlade
|
|
178
181
|
|
179
182
|
public extern bool StartMultiplayerGame(string multiplayerGameType, string scene);
|
180
183
|
|
181
|
-
[AsyncStateMachine(typeof(
|
184
|
+
[AsyncStateMachine(typeof(_003CShutDownWithDelay_003Ed__124))]
|
182
185
|
public extern void ShutDownWithDelay(string reason, int seconds);
|
183
186
|
}
|
184
187
|
}
|
@@ -1,4 +1,3 @@
|
|
1
|
-
using System;
|
2
1
|
using System.Collections.Generic;
|
3
2
|
using TaleWorlds.Core;
|
4
3
|
using TaleWorlds.Engine;
|
@@ -8,18 +7,6 @@ namespace TaleWorlds.MountAndBlade
|
|
8
7
|
{
|
9
8
|
public static class ModuleExtensions
|
10
9
|
{
|
11
|
-
public static extern void RaiseAiBehaviorPreference(this IEnumerable<Formation> formations, Type behaviorType);
|
12
|
-
|
13
|
-
public static extern void RaiseAiBehaviorPreference(this IEnumerable<Formation> formations, Func<BehaviorComponent, bool> predicate);
|
14
|
-
|
15
|
-
public static extern void AddAiSpecificBehavior(this IEnumerable<Formation> formations, BehaviorComponent behavior);
|
16
|
-
|
17
|
-
public static extern void RaiseBehaviorPreference(this IEnumerable<FormationAI> ais, Func<BehaviorComponent, bool> predicate);
|
18
|
-
|
19
|
-
public static extern void RaiseBehaviorPreference(this IEnumerable<FormationAI> ais, Type behaviorType);
|
20
|
-
|
21
|
-
public static extern void AddSpecificBehavior(this IEnumerable<FormationAI> ais, BehaviorComponent behavior);
|
22
|
-
|
23
10
|
public static extern bool IsRanged(this FormationClass formationClass);
|
24
11
|
|
25
12
|
public static extern bool IsCavalry(this FormationClass formationClass);
|
@@ -1,36 +0,0 @@
|
|
1
|
-
using TaleWorlds.Core;
|
2
|
-
using TaleWorlds.MountAndBlade.ComponentInterfaces;
|
3
|
-
|
4
|
-
namespace TaleWorlds.MountAndBlade
|
5
|
-
{
|
6
|
-
public class MultiplayerAgentApplyDamageModel : AgentApplyDamageModel
|
7
|
-
{
|
8
|
-
public override extern float CalculateDamage(ref AttackInformation attackInformation, ref AttackCollisionData collisionData, in MissionWeapon weapon, float baseDamage);
|
9
|
-
|
10
|
-
public override extern void DecideMissileWeaponFlags(Agent attackerAgent, MissionWeapon missileWeapon, ref WeaponFlags missileWeaponFlags);
|
11
|
-
|
12
|
-
public override extern float CalculateKnockBackChanceBonus(Agent attackerAgent, WeaponComponentData weapon);
|
13
|
-
|
14
|
-
public override extern float CalculateKnockDownChanceBonus(Agent attackerAgent, WeaponComponentData weapon);
|
15
|
-
|
16
|
-
public override extern float CalculateDismountChanceBonus(Agent attackerAgent, WeaponComponentData weapon);
|
17
|
-
|
18
|
-
public override extern void CalculateCollisionStunMultipliers(Agent attackerAgent, Agent defenderAgent, bool isAlternativeAttack, CombatCollisionResult collisionResult, WeaponComponentData attackerWeapon, WeaponComponentData defenderWeapon, out float attackerStunMultiplier, out float defenderStunMultiplier);
|
19
|
-
|
20
|
-
public override extern float CalculateStaggerThresholdMultiplier(Agent defenderAgent);
|
21
|
-
|
22
|
-
public override extern float CalculatePassiveAttackDamage(BasicCharacterObject attackerCharacter, ref AttackCollisionData collisionData, float baseDamage);
|
23
|
-
|
24
|
-
public override extern MeleeCollisionReaction DecidePassiveAttackCollisionReaction(Agent attacker, Agent defender, bool isFatalHit);
|
25
|
-
|
26
|
-
public override extern float CalculateShieldDamage(float baseDamage);
|
27
|
-
|
28
|
-
public override extern float GetDamageMultiplierForBodyPart(BoneBodyPartType bodyPart, DamageTypes type, bool isHuman);
|
29
|
-
|
30
|
-
public override extern bool DecideCrushedThrough(Agent attackerAgent, Agent defenderAgent, float totalAttackEnergy, Agent.UsageDirection attackDirection, StrikeType strikeType, WeaponComponentData defendItem, bool isPassiveUsage);
|
31
|
-
|
32
|
-
public override extern bool CanWeaponIgnoreFriendlyFireChecks(WeaponComponentData weapon);
|
33
|
-
|
34
|
-
public extern MultiplayerAgentApplyDamageModel();
|
35
|
-
}
|
36
|
-
}
|
@@ -12,8 +12,18 @@ namespace TaleWorlds.MountAndBlade
|
|
12
12
|
|
13
13
|
public override extern float GetWeaponInaccuracy(Agent agent, WeaponComponentData weapon, int weaponSkill);
|
14
14
|
|
15
|
+
public override extern float GetWeaponDamageMultiplier(BasicCharacterObject agentCharacter, IAgentOriginBase agentOrigin, Formation agentFormation, WeaponComponentData weapon);
|
16
|
+
|
17
|
+
public override extern float GetKnockBackResistance(Agent agent);
|
18
|
+
|
19
|
+
public override extern float GetKnockDownResistance(Agent agent, StrikeType strikeType = StrikeType.Invalid);
|
20
|
+
|
21
|
+
public override extern float GetDismountResistance(Agent agent);
|
22
|
+
|
15
23
|
public override extern void UpdateAgentStats(Agent agent, AgentDrivenProperties agentDrivenProperties);
|
16
24
|
|
25
|
+
public override extern int GetEffectiveSkillForWeapon(Agent agent, WeaponComponentData weapon);
|
26
|
+
|
17
27
|
public static extern float CalculateMaximumSpeedMultiplier(Agent agent);
|
18
28
|
|
19
29
|
public extern MultiplayerAgentStatCalculateModel();
|
@@ -5,7 +5,7 @@ namespace TaleWorlds.MountAndBlade
|
|
5
5
|
{
|
6
6
|
public class MultiplayerPreloadHelper : MissionNetwork
|
7
7
|
{
|
8
|
-
public override extern List<EquipmentElement> GetExtraEquipmentElementsForCharacter(BasicCharacterObject character);
|
8
|
+
public override extern List<EquipmentElement> GetExtraEquipmentElementsForCharacter(BasicCharacterObject character, bool getAllEquipments = false);
|
9
9
|
|
10
10
|
public extern MultiplayerPreloadHelper();
|
11
11
|
}
|
@@ -4,14 +4,16 @@ namespace TaleWorlds.MountAndBlade
|
|
4
4
|
{
|
5
5
|
public class MultiplayerStrikeMagnitudeModel : StrikeMagnitudeCalculationModel
|
6
6
|
{
|
7
|
-
public override extern float CalculateStrikeMagnitudeForSwing(BasicCharacterObject attackerCharacter, BasicCharacterObject attackerCaptainCharacter, float swingSpeed, float impactPoint, float weaponWeight, float weaponLength, float weaponInertia, float weaponCoM, float extraLinearSpeed, bool doesAttackerHaveMount
|
7
|
+
public override extern float CalculateStrikeMagnitudeForSwing(BasicCharacterObject attackerCharacter, BasicCharacterObject attackerCaptainCharacter, float swingSpeed, float impactPoint, float weaponWeight, WeaponComponentData weaponUsageComponent, float weaponLength, float weaponInertia, float weaponCoM, float extraLinearSpeed, bool doesAttackerHaveMount);
|
8
8
|
|
9
|
-
public override extern float CalculateStrikeMagnitudeForThrust(BasicCharacterObject attackerCharacter, BasicCharacterObject attackerCaptainCharacter, float thrustWeaponSpeed, float weaponWeight, float extraLinearSpeed, bool doesAttackerHaveMount,
|
9
|
+
public override extern float CalculateStrikeMagnitudeForThrust(BasicCharacterObject attackerCharacter, BasicCharacterObject attackerCaptainCharacter, float thrustWeaponSpeed, float weaponWeight, WeaponComponentData weaponUsageComponent, float extraLinearSpeed, bool doesAttackerHaveMount, bool isThrown = false);
|
10
10
|
|
11
11
|
public override extern float CalculateSpeedBonusMultiplierForMissile(BasicCharacterObject attackerCharacter, WeaponClass ammoClass);
|
12
12
|
|
13
13
|
public override extern float ComputeRawDamage(DamageTypes damageType, float magnitude, float armorEffectiveness, float absorbedDamageRatio);
|
14
14
|
|
15
|
+
public override extern float GetBluntDamageFactorByDamageType(DamageTypes damageType);
|
16
|
+
|
15
17
|
public override extern float CalculateHorseArcheryFactor(BasicCharacterObject characterObject);
|
16
18
|
|
17
19
|
public extern MultiplayerStrikeMagnitudeModel();
|
@@ -7,13 +7,6 @@ namespace TaleWorlds.MountAndBlade
|
|
7
7
|
{
|
8
8
|
public sealed class NetworkCommunicator : ICommunicator
|
9
9
|
{
|
10
|
-
public enum NetworkPlayState
|
11
|
-
{
|
12
|
-
ReadyToPlay,
|
13
|
-
WaitingToPlay,
|
14
|
-
Playing
|
15
|
-
}
|
16
|
-
|
17
10
|
public VirtualPlayer VirtualPlayer { [CompilerGenerated]
|
18
11
|
get; }
|
19
12
|
|
@@ -46,9 +39,6 @@ namespace TaleWorlds.MountAndBlade
|
|
46
39
|
|
47
40
|
public Agent ControlledAgent { get; set; }
|
48
41
|
|
49
|
-
public NetworkPlayState PlayState { [CompilerGenerated]
|
50
|
-
get; }
|
51
|
-
|
52
42
|
public bool IsMuted { [CompilerGenerated]
|
53
43
|
get; [CompilerGenerated]
|
54
44
|
set; }
|
@@ -95,8 +85,6 @@ namespace TaleWorlds.MountAndBlade
|
|
95
85
|
|
96
86
|
internal static extern NetworkCommunicator CreateAsClient(string name, int index);
|
97
87
|
|
98
|
-
public extern void SetPeerWaitingToPlay();
|
99
|
-
|
100
88
|
extern void ICommunicator.OnAddComponent(PeerComponent component);
|
101
89
|
|
102
90
|
extern void ICommunicator.OnRemoveComponent(PeerComponent component);
|
@@ -1,3 +1,4 @@
|
|
1
|
+
using System;
|
1
2
|
using System.Collections.Generic;
|
2
3
|
using System.Runtime.CompilerServices;
|
3
4
|
using TaleWorlds.Library;
|
@@ -7,8 +8,9 @@ namespace TaleWorlds.MountAndBlade
|
|
7
8
|
{
|
8
9
|
public static class NetworkMain
|
9
10
|
{
|
10
|
-
public static bool
|
11
|
-
|
11
|
+
public static Action<bool> OnInternetConnectionAvailabilityChanged;
|
12
|
+
|
13
|
+
public static bool InternetConnectionAvailable { get; }
|
12
14
|
|
13
15
|
public static bool IsInitialized { [CompilerGenerated]
|
14
16
|
get; }
|
@@ -1,11 +0,0 @@
|
|
1
|
-
using TaleWorlds.Engine;
|
2
|
-
|
3
|
-
namespace TaleWorlds.MountAndBlade
|
4
|
-
{
|
5
|
-
internal class OnConnectionStringSessionInvitationAcceptedJob : Job
|
6
|
-
{
|
7
|
-
public extern OnConnectionStringSessionInvitationAcceptedJob();
|
8
|
-
|
9
|
-
public override extern void DoJob(float dt);
|
10
|
-
}
|
11
|
-
}
|
@@ -1,4 +0,0 @@
|
|
1
|
-
namespace TaleWorlds.MountAndBlade
|
2
|
-
{
|
3
|
-
public delegate void OnPhaseChangedDelegate();
|
4
|
-
}
|
@@ -16,14 +16,16 @@ namespace TaleWorlds.MountAndBlade
|
|
16
16
|
|
17
17
|
public bool HasReachedEnd { get; }
|
18
18
|
|
19
|
+
public float PathTraveledPercentage { get; }
|
20
|
+
|
19
21
|
public MatrixFrame CurrentFrame { get; }
|
20
22
|
|
23
|
+
public extern PathTracker(Path path, Vec3 initialScaleOfEntity);
|
24
|
+
|
21
25
|
public extern void UpdateVersion();
|
22
26
|
|
23
27
|
public extern bool PathExists();
|
24
28
|
|
25
|
-
public extern PathTracker(Path path, Vec3 initialScaleOfEntity);
|
26
|
-
|
27
29
|
public extern void Advance(float deltaDistance);
|
28
30
|
|
29
31
|
public extern float GetPathLength();
|
@@ -1,9 +1,12 @@
|
|
1
1
|
using System.Runtime.CompilerServices;
|
2
|
+
using TaleWorlds.PlayerServices;
|
2
3
|
|
3
4
|
namespace TaleWorlds.MountAndBlade
|
4
5
|
{
|
5
6
|
public class PlayerConnectionInfo
|
6
7
|
{
|
8
|
+
public readonly PlayerId PlayerID;
|
9
|
+
|
7
10
|
public int SessionKey { [CompilerGenerated]
|
8
11
|
get; [CompilerGenerated]
|
9
12
|
set; }
|
@@ -16,7 +19,7 @@ namespace TaleWorlds.MountAndBlade
|
|
16
19
|
get; [CompilerGenerated]
|
17
20
|
set; }
|
18
21
|
|
19
|
-
public extern PlayerConnectionInfo();
|
22
|
+
public extern PlayerConnectionInfo(PlayerId playerID);
|
20
23
|
|
21
24
|
public extern void AddParameter(string name, object parameter);
|
22
25
|
|
@@ -1,5 +1,4 @@
|
|
1
1
|
using System;
|
2
|
-
using System.Collections.Generic;
|
3
2
|
|
4
3
|
namespace TaleWorlds.MountAndBlade
|
5
4
|
{
|
@@ -21,6 +20,6 @@ namespace TaleWorlds.MountAndBlade
|
|
21
20
|
|
22
21
|
public static extern void SetupSyncGroup(params IQueryData[] groupItems);
|
23
22
|
|
24
|
-
public extern void SetSyncGroup(
|
23
|
+
public extern void SetSyncGroup(IQueryData[] syncGroup);
|
25
24
|
}
|
26
25
|
}
|
@@ -107,6 +107,8 @@ namespace TaleWorlds.MountAndBlade
|
|
107
107
|
|
108
108
|
protected StandingPointWithWeaponRequirement LoadAmmoStandingPoint;
|
109
109
|
|
110
|
+
protected Dictionary<StandingPoint, float> PilotReservePriorityValues;
|
111
|
+
|
110
112
|
protected Agent ReloaderAgent;
|
111
113
|
|
112
114
|
protected StandingPoint ReloaderAgentOriginalPoint;
|
@@ -253,6 +255,8 @@ namespace TaleWorlds.MountAndBlade
|
|
253
255
|
|
254
256
|
protected virtual extern void SetActivationLoadAmmoPoint(bool activate);
|
255
257
|
|
258
|
+
protected extern float GetDetachmentWeightAuxForExternalAmmoWeapons(BattleSideEnum side);
|
259
|
+
|
256
260
|
public override extern TickRequirement GetTickRequirement();
|
257
261
|
|
258
262
|
protected internal override extern void OnTick(float dt);
|
@@ -287,9 +291,9 @@ namespace TaleWorlds.MountAndBlade
|
|
287
291
|
|
288
292
|
public virtual extern void AimAtRotation(float horizontalRotation, float verticalRotation);
|
289
293
|
|
290
|
-
protected extern void OnLoadingAmmoPointUsingCancelled(Agent agent);
|
294
|
+
protected extern void OnLoadingAmmoPointUsingCancelled(Agent agent, bool isCanceledBecauseOfAnimation);
|
291
295
|
|
292
|
-
protected extern void OnAmmoPickupUsingCancelled(Agent agent);
|
296
|
+
protected extern void OnAmmoPickupUsingCancelled(Agent agent, bool isCanceledBecauseOfAnimation);
|
293
297
|
|
294
298
|
protected extern void SendAgentToAmmoPickup(Agent agent);
|
295
299
|
|
@@ -1,7 +1,6 @@
|
|
1
1
|
using System;
|
2
2
|
using System.Collections.Generic;
|
3
3
|
using TaleWorlds.Library;
|
4
|
-
using TaleWorlds.MountAndBlade.DividableTasks;
|
5
4
|
|
6
5
|
namespace TaleWorlds.MountAndBlade
|
7
6
|
{
|
@@ -9,15 +8,17 @@ namespace TaleWorlds.MountAndBlade
|
|
9
8
|
{
|
10
9
|
public class ThreatSeeker
|
11
10
|
{
|
12
|
-
public FindMostDangerousThreat _getMostDangerousThreat;
|
13
|
-
|
14
11
|
public RangedSiegeWeapon Weapon;
|
15
12
|
|
16
13
|
public List<Vec3> WeaponPositions;
|
17
14
|
|
18
15
|
public extern ThreatSeeker(RangedSiegeWeapon weapon);
|
19
16
|
|
20
|
-
public extern Threat
|
17
|
+
public extern Threat PrepareTargetFromTask();
|
18
|
+
|
19
|
+
public extern bool UpdateThreatSeekerTask();
|
20
|
+
|
21
|
+
public extern void PrepareThreatSeekerTask(Action lastAction);
|
21
22
|
|
22
23
|
public extern void Release();
|
23
24
|
|
@@ -0,0 +1,39 @@
|
|
1
|
+
using TaleWorlds.Library;
|
2
|
+
|
3
|
+
namespace TaleWorlds.MountAndBlade
|
4
|
+
{
|
5
|
+
public class SallyOutMissionNotificationsHandler : MissionLogic
|
6
|
+
{
|
7
|
+
protected const float NotificationCheckInterval = 5f;
|
8
|
+
|
9
|
+
protected MissionAgentSpawnLogic MissionAgentSpawnLogic;
|
10
|
+
|
11
|
+
protected MBReadOnlyList<SiegeWeapon> BesiegerSiegeEngines;
|
12
|
+
|
13
|
+
protected BasicMissionTimer NotificationTimer;
|
14
|
+
|
15
|
+
protected bool NotificationTimerEnabled;
|
16
|
+
|
17
|
+
protected bool ObjectiveMessageSent;
|
18
|
+
|
19
|
+
protected bool SiegeEnginesDestroyedMessageSent;
|
20
|
+
|
21
|
+
protected bool BesiegersStrengtheningMessageSent;
|
22
|
+
|
23
|
+
protected int BesiegerSpawnedTroopCount;
|
24
|
+
|
25
|
+
public override extern void OnBehaviorInitialize();
|
26
|
+
|
27
|
+
protected override extern void OnEndMission();
|
28
|
+
|
29
|
+
public override extern void AfterStart();
|
30
|
+
|
31
|
+
public override extern void OnMissionTick(float dt);
|
32
|
+
|
33
|
+
public extern void SetNotificationTimerEnabled(bool value, bool resetTimer = true);
|
34
|
+
|
35
|
+
protected virtual extern void CheckPeriodicNotifications();
|
36
|
+
|
37
|
+
public extern SallyOutMissionNotificationsHandler();
|
38
|
+
}
|
39
|
+
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
namespace TaleWorlds.MountAndBlade
|
2
|
+
{
|
3
|
+
public abstract class SallyOutMissionSpawnHandler : MissionLogic
|
4
|
+
{
|
5
|
+
protected const float BesiegedTotalTroopRatio = 0.25f;
|
6
|
+
|
7
|
+
protected const float BesiegerInitialTroopRatio = 0.1f;
|
8
|
+
|
9
|
+
protected MissionAgentSpawnLogic MissionAgentSpawnLogic;
|
10
|
+
|
11
|
+
public override extern void OnBehaviorInitialize();
|
12
|
+
|
13
|
+
public override extern void AfterStart();
|
14
|
+
|
15
|
+
protected abstract void GetInitialTroopCounts(out int besiegedTotalTroopCount, out int besiegerTotalTroopCount);
|
16
|
+
|
17
|
+
protected extern void AdjustTotalTroopCounts(ref int besiegedTotalTroopCount, ref int besiegerTotalTroopCount);
|
18
|
+
|
19
|
+
protected extern void SetupInitialSpawn(int besiegedTotalTroopCount, int besiegerTotalTroopCount);
|
20
|
+
|
21
|
+
protected extern SallyOutMissionSpawnHandler();
|
22
|
+
}
|
23
|
+
}
|
@@ -1,11 +0,0 @@
|
|
1
|
-
namespace TaleWorlds.MountAndBlade
|
2
|
-
{
|
3
|
-
public static class ScoreboardFactory
|
4
|
-
{
|
5
|
-
public static extern void Register(string gameMode, IScoreboardData scoreboardData);
|
6
|
-
|
7
|
-
public static extern IScoreboardData Get(string gameMode);
|
8
|
-
|
9
|
-
public static extern void Clear();
|
10
|
-
}
|
11
|
-
}
|
@@ -6,17 +6,13 @@ namespace TaleWorlds.MountAndBlade
|
|
6
6
|
{
|
7
7
|
public const string CategoryId = "ScoreboardHotKeyCategory";
|
8
8
|
|
9
|
-
public const string Quit = "Quit";
|
10
|
-
|
11
9
|
public const int ToggleShow = 4;
|
12
10
|
|
13
11
|
public const int ShowMouse = 35;
|
14
12
|
|
15
13
|
public const string HoldShow = "HoldShow";
|
16
14
|
|
17
|
-
public const string
|
18
|
-
|
19
|
-
public const string FastForward = "FastForward";
|
15
|
+
public const string ToggleFastForward = "ToggleFastForward";
|
20
16
|
|
21
17
|
public const string MenuShowContextMenu = "MenuShowContextMenu";
|
22
18
|
|
@@ -37,6 +37,8 @@ namespace TaleWorlds.MountAndBlade
|
|
37
37
|
|
38
38
|
public const float ClimbingLimitDegree = -11.536982f;
|
39
39
|
|
40
|
+
public const float AutomaticUseActivationRange = 20f;
|
41
|
+
|
40
42
|
public string AttackerTag;
|
41
43
|
|
42
44
|
public string DefenderTag;
|
@@ -83,34 +85,32 @@ namespace TaleWorlds.MountAndBlade
|
|
83
85
|
|
84
86
|
public string InitialWaitPositionTag;
|
85
87
|
|
86
|
-
public
|
88
|
+
public string BarrierTagToRemove;
|
87
89
|
|
88
90
|
public LadderState initialState;
|
89
91
|
|
90
|
-
public string BarrierTagToRemove;
|
91
|
-
|
92
92
|
public string IndestructibleMerlonsTag;
|
93
93
|
|
94
|
-
public
|
95
|
-
|
96
|
-
public LadderState State { get; set; }
|
97
|
-
|
98
|
-
public float SiegeWeaponPriority { get; }
|
94
|
+
public GameEntity InitialWaitPosition { [CompilerGenerated]
|
95
|
+
get; }
|
99
96
|
|
100
|
-
public
|
97
|
+
public int OnWallNavMeshId { [CompilerGenerated]
|
98
|
+
get; }
|
101
99
|
|
102
100
|
public int OverTheWallNavMeshID { get; }
|
103
101
|
|
104
|
-
public
|
102
|
+
public LadderState State { get; set; }
|
105
103
|
|
106
|
-
public
|
104
|
+
public MissionObject TargetCastlePosition { get; }
|
107
105
|
|
108
|
-
public
|
106
|
+
public FormationAI.BehaviorSide WeaponSide { [CompilerGenerated]
|
109
107
|
get; }
|
110
108
|
|
111
|
-
public
|
109
|
+
public float SiegeWeaponPriority { get; }
|
112
110
|
|
113
|
-
public
|
111
|
+
public bool HoldLadders { get; }
|
112
|
+
|
113
|
+
public bool SendLadders { get; }
|
114
114
|
|
115
115
|
public override extern SiegeEngineType GetSiegeEngineType();
|
116
116
|
|
@@ -118,6 +118,10 @@ namespace TaleWorlds.MountAndBlade
|
|
118
118
|
|
119
119
|
public override extern OrderType GetOrder(BattleSideEnum side);
|
120
120
|
|
121
|
+
public extern bool HasCompletedAction();
|
122
|
+
|
123
|
+
public override extern bool IsDisabledForBattleSide(BattleSideEnum sideEnum);
|
124
|
+
|
121
125
|
protected override extern float GetDetachmentWeightAux(BattleSideEnum side);
|
122
126
|
|
123
127
|
public override extern TickRequirement GetTickRequirement();
|
@@ -57,6 +57,8 @@ namespace TaleWorlds.MountAndBlade
|
|
57
57
|
|
58
58
|
public extern Formation GetLastAssignedFormation(int teamIndex);
|
59
59
|
|
60
|
+
public extern void SetLaneState(LaneStateEnum newLaneState);
|
61
|
+
|
60
62
|
public extern void SetLastAssignedFormation(int teamIndex, Formation formation);
|
61
63
|
|
62
64
|
public extern void SetSiegeQuerySystem(SiegeQuerySystem siegeQuerySystem);
|
@@ -1,4 +1,5 @@
|
|
1
1
|
using System.Collections.Generic;
|
2
|
+
using System.Runtime.CompilerServices;
|
2
3
|
using TaleWorlds.Library;
|
3
4
|
|
4
5
|
namespace TaleWorlds.MountAndBlade
|
@@ -9,26 +10,6 @@ namespace TaleWorlds.MountAndBlade
|
|
9
10
|
|
10
11
|
public Vec2 DefenderMidToDefenderRightDir;
|
11
12
|
|
12
|
-
public Vec2 LeftDefenderOrigin { get; }
|
13
|
-
|
14
|
-
public Vec2 MidDefenderOrigin { get; }
|
15
|
-
|
16
|
-
public Vec2 RightDefenderOrigin { get; }
|
17
|
-
|
18
|
-
public Vec2 LeftAttackerOrigin { get; }
|
19
|
-
|
20
|
-
public Vec2 MiddleAttackerOrigin { get; }
|
21
|
-
|
22
|
-
public Vec2 RightAttackerOrigin { get; }
|
23
|
-
|
24
|
-
public Vec2 LeftToMidDir { get; }
|
25
|
-
|
26
|
-
public Vec2 MidToLeftDir { get; }
|
27
|
-
|
28
|
-
public Vec2 MidToRightDir { get; }
|
29
|
-
|
30
|
-
public Vec2 RightToMidDir { get; }
|
31
|
-
|
32
13
|
public int LeftRegionMemberCount { get; }
|
33
14
|
|
34
15
|
public int LeftCloseAttackerCount { get; }
|
@@ -49,6 +30,36 @@ namespace TaleWorlds.MountAndBlade
|
|
49
30
|
|
50
31
|
public int RightDefenderCount { get; }
|
51
32
|
|
33
|
+
public Vec3 LeftDefenderOrigin { [CompilerGenerated]
|
34
|
+
get; }
|
35
|
+
|
36
|
+
public Vec3 MidDefenderOrigin { [CompilerGenerated]
|
37
|
+
get; }
|
38
|
+
|
39
|
+
public Vec3 RightDefenderOrigin { [CompilerGenerated]
|
40
|
+
get; }
|
41
|
+
|
42
|
+
public Vec3 LeftAttackerOrigin { [CompilerGenerated]
|
43
|
+
get; }
|
44
|
+
|
45
|
+
public Vec3 MiddleAttackerOrigin { [CompilerGenerated]
|
46
|
+
get; }
|
47
|
+
|
48
|
+
public Vec3 RightAttackerOrigin { [CompilerGenerated]
|
49
|
+
get; }
|
50
|
+
|
51
|
+
public Vec2 LeftToMidDir { [CompilerGenerated]
|
52
|
+
get; }
|
53
|
+
|
54
|
+
public Vec2 MidToLeftDir { [CompilerGenerated]
|
55
|
+
get; }
|
56
|
+
|
57
|
+
public Vec2 MidToRightDir { [CompilerGenerated]
|
58
|
+
get; }
|
59
|
+
|
60
|
+
public Vec2 RightToMidDir { [CompilerGenerated]
|
61
|
+
get; }
|
62
|
+
|
52
63
|
public extern SiegeQuerySystem(Team team, IEnumerable<SiegeLane> lanes);
|
53
64
|
|
54
65
|
public extern void Expire();
|
@@ -29,8 +29,6 @@ namespace TaleWorlds.MountAndBlade
|
|
29
29
|
|
30
30
|
public string GateTrembleAnimation;
|
31
31
|
|
32
|
-
public int _gateTrembleAnimationIndex;
|
33
|
-
|
34
32
|
public string BattlementDestroyedParticle;
|
35
33
|
|
36
34
|
public bool GhostEntityMove;
|
@@ -78,6 +76,12 @@ namespace TaleWorlds.MountAndBlade
|
|
78
76
|
|
79
77
|
public extern int GetGateNavMeshId();
|
80
78
|
|
79
|
+
public extern List<int> CollectGetDifficultNavmeshIDs();
|
80
|
+
|
81
|
+
public extern List<int> CollectGetDifficultNavmeshIDsForAttackers();
|
82
|
+
|
83
|
+
public extern List<int> CollectGetDifficultNavmeshIDsForDefenders();
|
84
|
+
|
81
85
|
public override extern string GetDescriptionText(GameEntity gameEntity = null);
|
82
86
|
|
83
87
|
public override extern TextObject GetActionTextForStandingPoint(UsableMissionObject usableGameObject);
|
@@ -110,6 +114,8 @@ namespace TaleWorlds.MountAndBlade
|
|
110
114
|
|
111
115
|
protected override extern float GetDistanceMultiplierOfWeapon(Vec3 weaponPos);
|
112
116
|
|
117
|
+
protected override extern bool IsAgentOnInconvenientNavmesh(Agent agent, StandingPoint standingPoint);
|
118
|
+
|
113
119
|
protected internal override extern void OnInit();
|
114
120
|
|
115
121
|
public override extern TickRequirement GetTickRequirement();
|
@@ -16,6 +16,7 @@ namespace TaleWorlds.MountAndBlade
|
|
16
16
|
[EditableScriptComponentVariable(true)]
|
17
17
|
internal string AddOnDeployTag;
|
18
18
|
|
19
|
+
[EditorVisibleScriptComponentVariable(false)]
|
19
20
|
public bool ForcedUse;
|
20
21
|
|
21
22
|
public bool IsUsed { get; }
|
@@ -15,9 +15,17 @@ namespace TaleWorlds.MountAndBlade
|
|
15
15
|
|
16
16
|
public int NavMeshIdToDisableOnDestination;
|
17
17
|
|
18
|
+
public bool HasApproachedTarget { get; }
|
19
|
+
|
20
|
+
public bool HasArrivedAtTarget { get; }
|
21
|
+
|
18
22
|
public float CurrentSpeed { [CompilerGenerated]
|
19
23
|
get; }
|
20
24
|
|
25
|
+
public int MovementSoundCodeID { [CompilerGenerated]
|
26
|
+
get; [CompilerGenerated]
|
27
|
+
set; }
|
28
|
+
|
21
29
|
public float MinSpeed { [CompilerGenerated]
|
22
30
|
get; [CompilerGenerated]
|
23
31
|
set; }
|
@@ -40,12 +48,6 @@ namespace TaleWorlds.MountAndBlade
|
|
40
48
|
get; [CompilerGenerated]
|
41
49
|
set; }
|
42
50
|
|
43
|
-
public int MovementSoundCodeID { [CompilerGenerated]
|
44
|
-
get; [CompilerGenerated]
|
45
|
-
set; }
|
46
|
-
|
47
|
-
public bool HasArrivedAtTarget { get; }
|
48
|
-
|
49
51
|
protected internal override extern void OnAdded(Scene scene);
|
50
52
|
|
51
53
|
public extern void HighlightPath();
|
@@ -28,8 +28,10 @@ namespace TaleWorlds.MountAndBlade
|
|
28
28
|
|
29
29
|
public int _gender;
|
30
30
|
|
31
|
+
public int _race;
|
32
|
+
|
31
33
|
public static extern SkinGenerationParams Create();
|
32
34
|
|
33
|
-
public extern SkinGenerationParams(int skinMeshesVisibilityMask, Equipment.UnderwearTypes underwearType, int bodyMeshType, int hairCoverType, int beardCoverType, int bodyDeformType, bool prepareImmediately, float faceDirtAmount, int gender, bool useTranslucency, bool useTesselation);
|
35
|
+
public extern SkinGenerationParams(int skinMeshesVisibilityMask, Equipment.UnderwearTypes underwearType, int bodyMeshType, int hairCoverType, int beardCoverType, int bodyDeformType, bool prepareImmediately, float faceDirtAmount, int gender, int race, bool useTranslucency, bool useTesselation);
|
34
36
|
}
|
35
37
|
}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
using TaleWorlds.Engine;
|
2
|
+
using TaleWorlds.Library;
|
3
|
+
|
4
|
+
namespace TaleWorlds.MountAndBlade
|
5
|
+
{
|
6
|
+
public struct SpawnPathData
|
7
|
+
{
|
8
|
+
public static readonly SpawnPathData Invalid;
|
9
|
+
|
10
|
+
public readonly Path Path;
|
11
|
+
|
12
|
+
public readonly bool IsInverted;
|
13
|
+
|
14
|
+
public readonly float CenterRatio;
|
15
|
+
|
16
|
+
public readonly SpawnPathOrientation Orientation;
|
17
|
+
|
18
|
+
public bool IsValid { get; }
|
19
|
+
|
20
|
+
public extern SpawnPathData(Path path = null, SpawnPathOrientation orientation = SpawnPathOrientation.PathCenter, float centerRatio = 0f, bool isInverted = false);
|
21
|
+
|
22
|
+
public extern SpawnPathData Invert();
|
23
|
+
|
24
|
+
public extern MatrixFrame GetSpawnFrame(float offset = 0f);
|
25
|
+
|
26
|
+
public extern void GetOrientedSpawnPathPosition(out Vec2 spawnPathPosition, out Vec2 spawnPathDirection, float pathOffset = 0f);
|
27
|
+
}
|
28
|
+
}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
namespace TaleWorlds.MountAndBlade
|
2
|
+
{
|
3
|
+
public enum SpawnPathOrientation
|
4
|
+
{
|
5
|
+
PathCenter,
|
6
|
+
Local
|
7
|
+
}
|
8
|
+
}
|
@@ -25,7 +25,7 @@ namespace TaleWorlds.MountAndBlade
|
|
25
25
|
|
26
26
|
public extern TextObject GetDescriptionMessage(bool fillUp);
|
27
27
|
|
28
|
-
public extern void Initialize(MissionWeapon weapon, bool hasLifeTime, Mission.WeaponSpawnFlags spawnFlags);
|
28
|
+
public extern void Initialize(MissionWeapon weapon, bool hasLifeTime, Mission.WeaponSpawnFlags spawnFlags, in Vec3 fakeSimulationVelocity);
|
29
29
|
|
30
30
|
protected internal override extern void OnInit();
|
31
31
|
|
@@ -73,6 +73,8 @@ namespace TaleWorlds.MountAndBlade
|
|
73
73
|
|
74
74
|
public extern void RequestStopSpawnSession();
|
75
75
|
|
76
|
+
public extern void SetRemainingAgentsInvulnerable();
|
77
|
+
|
76
78
|
protected abstract void SpawnAgents();
|
77
79
|
|
78
80
|
protected extern BodyProperties GetBodyProperties(MissionPeer missionPeer, BasicCultureObject cultureLimit);
|
@@ -59,7 +59,7 @@ namespace TaleWorlds.MountAndBlade
|
|
59
59
|
|
60
60
|
public virtual extern float GetUsageScoreForAgent(AgentValuePair<float> agentPair);
|
61
61
|
|
62
|
-
public extern void SetupOnUsingStoppedBehavior(bool autoAttach, Action<Agent> action);
|
62
|
+
public extern void SetupOnUsingStoppedBehavior(bool autoAttach, Action<Agent, bool> action);
|
63
63
|
|
64
64
|
public override extern void OnEndMission();
|
65
65
|
|
@@ -8,7 +8,9 @@ namespace TaleWorlds.MountAndBlade
|
|
8
8
|
{
|
9
9
|
public class StonePile : UsableMachine, IDetachment
|
10
10
|
{
|
11
|
-
public string
|
11
|
+
public const string ThrowingTargetTag = "throwing_target";
|
12
|
+
|
13
|
+
public const string ThrowingPointTag = "throwing";
|
12
14
|
|
13
15
|
public int StartingAmmoCount;
|
14
16
|
|
@@ -11,8 +11,6 @@ namespace TaleWorlds.MountAndBlade
|
|
11
11
|
|
12
12
|
public bool IsLoose { get; }
|
13
13
|
|
14
|
-
public bool IsUsedByFormations { get; }
|
15
|
-
|
16
14
|
public IReadOnlyList<Formation> UserFormations { get; }
|
17
15
|
|
18
16
|
public float DistanceToCheck { get; }
|
@@ -65,6 +65,8 @@ namespace TaleWorlds.MountAndBlade
|
|
65
65
|
|
66
66
|
protected virtual extern void StopUsingAllMachines();
|
67
67
|
|
68
|
+
protected virtual extern void StopUsingAllRangedSiegeWeapons();
|
69
|
+
|
68
70
|
protected extern void SoundTacticalHorn(int soundCode);
|
69
71
|
|
70
72
|
public static extern void SetDefaultBehaviorWeights(Formation f);
|
@@ -23,6 +23,8 @@ namespace TaleWorlds.MountAndBlade
|
|
23
23
|
|
24
24
|
protected override extern void StopUsingAllMachines();
|
25
25
|
|
26
|
+
protected override extern void StopUsingAllRangedSiegeWeapons();
|
27
|
+
|
26
28
|
protected internal override extern void TickOccasionally();
|
27
29
|
|
28
30
|
protected internal override extern float GetTacticWeight();
|
@@ -100,7 +100,7 @@ namespace TaleWorlds.MountAndBlade
|
|
100
100
|
get; [CompilerGenerated]
|
101
101
|
set; }
|
102
102
|
|
103
|
-
public IEnumerable<Agent> Heroes { [IteratorStateMachine(typeof(
|
103
|
+
public IEnumerable<Agent> Heroes { [IteratorStateMachine(typeof(_003Cget_Heroes_003Ed__131))]
|
104
104
|
get; }
|
105
105
|
|
106
106
|
public bool HasBots { get; }
|
@@ -165,12 +165,6 @@ namespace TaleWorlds.MountAndBlade
|
|
165
165
|
|
166
166
|
public extern void DelegateCommandToAI();
|
167
167
|
|
168
|
-
public extern void ClearRecentlySplitFormations(Formation formation);
|
169
|
-
|
170
|
-
public extern void ClearRecentlySplitFormations();
|
171
|
-
|
172
|
-
public extern void RegisterRecentlySplitFormations(List<Formation> recentlySplitFormations);
|
173
|
-
|
174
168
|
public extern void RearrangeFormationsAccordingToFilters(List<Tuple<Formation, int, TroopFilter, List<Agent>>> MassTransferData);
|
175
169
|
|
176
170
|
public extern void OnFormationUnitsSpawned();
|
@@ -78,6 +78,8 @@ namespace TaleWorlds.MountAndBlade
|
|
78
78
|
[Conditional("DEBUG")]
|
79
79
|
protected virtual extern void DebugTick(float dt);
|
80
80
|
|
81
|
+
public abstract void OnUnitAddedToFormationForTheFirstTime(Formation formation);
|
82
|
+
|
81
83
|
protected internal virtual extern void CreateMissionSpecificBehaviors();
|
82
84
|
|
83
85
|
protected internal virtual extern void InitializeDetachments(Mission mission);
|
@@ -4,6 +4,8 @@ namespace TaleWorlds.MountAndBlade
|
|
4
4
|
{
|
5
5
|
public extern TeamAIGeneral(Mission currentMission, Team currentTeam, float thinkTimerTime = 10f, float applyTimerTime = 1f);
|
6
6
|
|
7
|
+
public override extern void OnUnitAddedToFormationForTheFirstTime(Formation formation);
|
8
|
+
|
7
9
|
protected override extern void DebugTick(float dt);
|
8
10
|
}
|
9
11
|
}
|
@@ -10,5 +10,7 @@ namespace TaleWorlds.MountAndBlade
|
|
10
10
|
public readonly List<UsableMachine> BesiegerRangedSiegeWeapons;
|
11
11
|
|
12
12
|
public extern TeamAISallyOutAttacker(Mission currentMission, Team currentTeam, float thinkTimerTime, float applyTimerTime);
|
13
|
+
|
14
|
+
public override extern void OnUnitAddedToFormationForTheFirstTime(Formation formation);
|
13
15
|
}
|
14
16
|
}
|
@@ -15,8 +15,10 @@ namespace TaleWorlds.MountAndBlade
|
|
15
15
|
|
16
16
|
public extern TeamAISallyOutDefender(Mission currentMission, Team currentTeam, float thinkTimerTime, float applyTimerTime);
|
17
17
|
|
18
|
+
public override extern void OnUnitAddedToFormationForTheFirstTime(Formation formation);
|
19
|
+
|
18
20
|
public extern Vec3 CalculateSallyOutReferencePosition(FormationAI.BehaviorSide side);
|
19
21
|
|
20
|
-
public extern void OnDeploymentFinished();
|
22
|
+
public override extern void OnDeploymentFinished();
|
21
23
|
}
|
22
24
|
}
|
@@ -10,6 +10,8 @@ namespace TaleWorlds.MountAndBlade
|
|
10
10
|
|
11
11
|
public extern TeamAISiegeAttacker(Mission currentMission, Team currentTeam, float thinkTimerTime, float applyTimerTime);
|
12
12
|
|
13
|
-
public extern void
|
13
|
+
public override extern void OnUnitAddedToFormationForTheFirstTime(Formation formation);
|
14
|
+
|
15
|
+
public override extern void OnDeploymentFinished();
|
14
16
|
}
|
15
17
|
}
|
@@ -10,16 +10,18 @@ namespace TaleWorlds.MountAndBlade
|
|
10
10
|
|
11
11
|
public const int SiegeTokenForceSize = 15;
|
12
12
|
|
13
|
-
|
13
|
+
public readonly IEnumerable<WallSegment> WallSegments;
|
14
14
|
|
15
|
-
|
15
|
+
public readonly List<SiegeWeapon> SceneSiegeWeapons;
|
16
16
|
|
17
|
-
protected
|
17
|
+
protected readonly IEnumerable<CastleGate> CastleGates;
|
18
18
|
|
19
19
|
protected readonly List<SiegeTower> SiegeTowers;
|
20
20
|
|
21
21
|
protected readonly HashSet<int> PrimarySiegeWeaponNavMeshFaceIDs;
|
22
22
|
|
23
|
+
protected BatteringRam Ram;
|
24
|
+
|
23
25
|
protected List<MissionObject> CastleKeyPositions;
|
24
26
|
|
25
27
|
public static List<SiegeLane> SiegeLanes { [CompilerGenerated]
|
@@ -32,15 +34,18 @@ namespace TaleWorlds.MountAndBlade
|
|
32
34
|
public CastleGate OuterGate { [CompilerGenerated]
|
33
35
|
get; }
|
34
36
|
|
37
|
+
public List<IPrimarySiegeWeapon> PrimarySiegeWeapons { [CompilerGenerated]
|
38
|
+
get; }
|
39
|
+
|
35
40
|
public CastleGate InnerGate { [CompilerGenerated]
|
36
41
|
get; }
|
37
42
|
|
38
43
|
public MBReadOnlyList<SiegeLadder> Ladders { get; }
|
39
44
|
|
40
|
-
public
|
45
|
+
public bool AreLaddersReady { [CompilerGenerated]
|
41
46
|
get; }
|
42
47
|
|
43
|
-
public
|
48
|
+
public List<int> DifficultNavmeshIDs { [CompilerGenerated]
|
44
49
|
get; }
|
45
50
|
|
46
51
|
protected extern TeamAISiegeComponent(Mission currentMission, Team currentTeam, float thinkTimerTime, float applyTimerTime);
|
@@ -68,5 +73,7 @@ namespace TaleWorlds.MountAndBlade
|
|
68
73
|
public extern int GetFormationsInsideWallsCount();
|
69
74
|
|
70
75
|
public extern bool IsCastleBreached();
|
76
|
+
|
77
|
+
public virtual extern void OnDeploymentFinished();
|
71
78
|
}
|
72
79
|
}
|
@@ -13,6 +13,8 @@ namespace TaleWorlds.MountAndBlade
|
|
13
13
|
|
14
14
|
public extern TeamAISiegeDefender(Mission currentMission, Team currentTeam, float thinkTimerTime, float applyTimerTime);
|
15
15
|
|
16
|
-
public extern void
|
16
|
+
public override extern void OnUnitAddedToFormationForTheFirstTime(Formation formation);
|
17
|
+
|
18
|
+
public override extern void OnDeploymentFinished();
|
17
19
|
}
|
18
20
|
}
|
@@ -3,5 +3,7 @@ namespace TaleWorlds.MountAndBlade
|
|
3
3
|
public class TeamAiMultiplayerSiegeAttacker : TeamAISiegeComponent
|
4
4
|
{
|
5
5
|
public extern TeamAiMultiplayerSiegeAttacker(Mission currentMission, Team currentTeam, float thinkTimerTime, float applyTimerTime);
|
6
|
+
|
7
|
+
public override extern void OnUnitAddedToFormationForTheFirstTime(Formation formation);
|
6
8
|
}
|
7
9
|
}
|
@@ -3,5 +3,7 @@ namespace TaleWorlds.MountAndBlade
|
|
3
3
|
public class TeamAiMultiplayerSiegeDefender : TeamAISiegeComponent
|
4
4
|
{
|
5
5
|
public extern TeamAiMultiplayerSiegeDefender(Mission currentMission, Team currentTeam, float thinkTimerTime, float applyTimerTime);
|
6
|
+
|
7
|
+
public override extern void OnUnitAddedToFormationForTheFirstTime(Formation formation);
|
6
8
|
}
|
7
9
|
}
|
@@ -55,14 +55,18 @@ namespace TaleWorlds.MountAndBlade
|
|
55
55
|
|
56
56
|
public float EnemyRangedCavalryRatio { get; }
|
57
57
|
|
58
|
-
public float
|
58
|
+
public float RemainingPowerRatio { get; }
|
59
59
|
|
60
60
|
public float TeamPower { get; }
|
61
61
|
|
62
|
-
public float
|
62
|
+
public float TotalPowerRatio { get; }
|
63
63
|
|
64
64
|
public float InsideWallsRatio { get; }
|
65
65
|
|
66
|
+
public BattlePowerCalculationLogic BattlePowerLogic { get; }
|
67
|
+
|
68
|
+
public CasualtyHandler CasualtyHandler { get; }
|
69
|
+
|
66
70
|
public float MaxUnderRangedAttackRatio { get; }
|
67
71
|
|
68
72
|
public int DeathCount { [CompilerGenerated]
|
@@ -32,6 +32,8 @@ namespace TaleWorlds.MountAndBlade
|
|
32
32
|
|
33
33
|
protected bool _isDisabledForAI;
|
34
34
|
|
35
|
+
protected List<Formation> _userFormations;
|
36
|
+
|
35
37
|
public List<StandingPoint> StandingPoints { [CompilerGenerated]
|
36
38
|
get; }
|
37
39
|
|
@@ -62,8 +64,6 @@ namespace TaleWorlds.MountAndBlade
|
|
62
64
|
|
63
65
|
public bool HasAIPickingUpAmmo { get; }
|
64
66
|
|
65
|
-
public bool IsUsedByFormations { get; }
|
66
|
-
|
67
67
|
public IReadOnlyList<Formation> UserFormations { get; }
|
68
68
|
|
69
69
|
public IEnumerable<Agent> Users { get; }
|
@@ -82,7 +82,7 @@ namespace TaleWorlds.MountAndBlade
|
|
82
82
|
|
83
83
|
public virtual bool IsDeactivated { get; }
|
84
84
|
|
85
|
-
IEnumerable<Agent> IDetachment.Agents { [IteratorStateMachine(typeof(
|
85
|
+
IEnumerable<Agent> IDetachment.Agents { [IteratorStateMachine(typeof(_003CTaleWorlds_002DMountAndBlade_002DIDetachment_002Dget_Agents_003Ed__113))]
|
86
86
|
get; }
|
87
87
|
|
88
88
|
protected extern UsableMachine();
|
@@ -170,6 +170,8 @@ namespace TaleWorlds.MountAndBlade
|
|
170
170
|
|
171
171
|
extern bool IDetachment.IsSlotAtIndexAvailableForAgent(int slotIndex, Agent agent);
|
172
172
|
|
173
|
+
protected virtual extern bool IsAgentOnInconvenientNavmesh(Agent agent, StandingPoint standingPoint);
|
174
|
+
|
173
175
|
extern bool IDetachment.IsAgentEligible(Agent agent);
|
174
176
|
|
175
177
|
public extern void AddAgentAtSlotIndex(Agent agent, int slotIndex);
|
@@ -31,6 +31,14 @@ namespace TaleWorlds.MountAndBlade
|
|
31
31
|
remove;
|
32
32
|
}
|
33
33
|
|
34
|
+
public event Action<MissionPeer> OnPeerMuteStatusUpdated
|
35
|
+
{
|
36
|
+
[CompilerGenerated]
|
37
|
+
add;
|
38
|
+
[CompilerGenerated]
|
39
|
+
remove;
|
40
|
+
}
|
41
|
+
|
34
42
|
protected override extern void AddRemoveMessageHandlers(GameNetwork.NetworkMessageHandlerRegistererContainer registerer);
|
35
43
|
|
36
44
|
public override extern void OnBehaviorInitialize();
|
@@ -41,6 +49,10 @@ namespace TaleWorlds.MountAndBlade
|
|
41
49
|
|
42
50
|
public override extern void OnPreDisplayMissionTick(float dt);
|
43
51
|
|
52
|
+
public override extern void OnPlayerConnectedToServer(NetworkCommunicator networkPeer);
|
53
|
+
|
54
|
+
public override extern void OnPlayerDisconnectedFromServer(NetworkCommunicator networkPeer);
|
55
|
+
|
44
56
|
public extern VoiceChatHandler();
|
45
57
|
}
|
46
58
|
}
|
@@ -4,13 +4,7 @@ namespace TaleWorlds.MountAndBlade.ComponentInterfaces
|
|
4
4
|
{
|
5
5
|
public abstract class AgentApplyDamageModel : GameModel
|
6
6
|
{
|
7
|
-
public abstract float CalculateDamage(
|
8
|
-
|
9
|
-
public abstract float CalculateDismountChanceBonus(Agent attackerAgent, WeaponComponentData weapon);
|
10
|
-
|
11
|
-
public abstract float CalculateKnockBackChanceBonus(Agent attackerAgent, WeaponComponentData weapon);
|
12
|
-
|
13
|
-
public abstract float CalculateKnockDownChanceBonus(Agent attackerAgent, WeaponComponentData weapon);
|
7
|
+
public abstract float CalculateDamage(in AttackInformation attackInformation, in AttackCollisionData collisionData, in MissionWeapon weapon, float baseDamage);
|
14
8
|
|
15
9
|
public abstract void DecideMissileWeaponFlags(Agent attackerAgent, MissionWeapon missileWeapon, ref WeaponFlags missileWeaponFlags);
|
16
10
|
|
@@ -18,7 +12,7 @@ namespace TaleWorlds.MountAndBlade.ComponentInterfaces
|
|
18
12
|
|
19
13
|
public abstract float CalculateStaggerThresholdMultiplier(Agent defenderAgent);
|
20
14
|
|
21
|
-
public abstract float CalculatePassiveAttackDamage(BasicCharacterObject attackerCharacter,
|
15
|
+
public abstract float CalculatePassiveAttackDamage(BasicCharacterObject attackerCharacter, in AttackCollisionData collisionData, float baseDamage);
|
22
16
|
|
23
17
|
public abstract MeleeCollisionReaction DecidePassiveAttackCollisionReaction(Agent attacker, Agent defender, bool isFatalHit);
|
24
18
|
|
@@ -30,6 +24,30 @@ namespace TaleWorlds.MountAndBlade.ComponentInterfaces
|
|
30
24
|
|
31
25
|
public abstract bool CanWeaponIgnoreFriendlyFireChecks(WeaponComponentData weapon);
|
32
26
|
|
27
|
+
public abstract bool CanWeaponDismount(Agent attackerAgent, WeaponComponentData attackerWeapon, in Blow blow, in AttackCollisionData collisionData);
|
28
|
+
|
29
|
+
public abstract bool CanWeaponKnockback(Agent attackerAgent, WeaponComponentData attackerWeapon, in Blow blow, in AttackCollisionData collisionData);
|
30
|
+
|
31
|
+
public abstract bool CanWeaponKnockDown(Agent attackerAgent, Agent victimAgent, WeaponComponentData attackerWeapon, in Blow blow, in AttackCollisionData collisionData);
|
32
|
+
|
33
|
+
public abstract float GetDismountPenetration(Agent attackerAgent, WeaponComponentData attackerWeapon, in Blow blow, in AttackCollisionData collisionData);
|
34
|
+
|
35
|
+
public abstract float GetKnockBackPenetration(Agent attackerAgent, WeaponComponentData attackerWeapon, in Blow blow, in AttackCollisionData collisionData);
|
36
|
+
|
37
|
+
public abstract float GetKnockDownPenetration(Agent attackerAgent, WeaponComponentData attackerWeapon, in Blow blow, in AttackCollisionData collisionData);
|
38
|
+
|
39
|
+
public abstract float GetHorseChargePenetration();
|
40
|
+
|
41
|
+
public abstract bool DecideAgentShrugOffBlow(Agent victimAgent, AttackCollisionData collisionData, in Blow blow);
|
42
|
+
|
43
|
+
public abstract bool DecideAgentDismountedByBlow(Agent attackerAgent, Agent victimAgent, in AttackCollisionData collisionData, WeaponComponentData attackerWeapon, in Blow blow);
|
44
|
+
|
45
|
+
public abstract bool DecideAgentKnockedBackByBlow(Agent attackerAgent, Agent victimAgent, in AttackCollisionData collisionData, WeaponComponentData attackerWeapon, in Blow blow);
|
46
|
+
|
47
|
+
public abstract bool DecideAgentKnockedDownByBlow(Agent attackerAgent, Agent victimAgent, in AttackCollisionData collisionData, WeaponComponentData attackerWeapon, in Blow blow);
|
48
|
+
|
49
|
+
public abstract bool DecideMountRearedByBlow(Agent attackerAgent, Agent victimAgent, in AttackCollisionData collisionData, WeaponComponentData attackerWeapon, in Blow blow);
|
50
|
+
|
33
51
|
protected extern AgentApplyDamageModel();
|
34
52
|
}
|
35
53
|
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
using TaleWorlds.Core;
|
2
|
+
|
3
|
+
namespace TaleWorlds.MountAndBlade.ComponentInterfaces
|
4
|
+
{
|
5
|
+
public abstract class ItemPickupModel : GameModel
|
6
|
+
{
|
7
|
+
public abstract float GetItemScoreForAgent(SpawnedItemEntity item, Agent agent);
|
8
|
+
|
9
|
+
public abstract bool IsItemAvailableForAgent(SpawnedItemEntity item, Agent agent, EquipmentIndex slotToPickUp);
|
10
|
+
|
11
|
+
public abstract bool IsAgentEquipmentSuitableForPickUpAvailability(Agent agent);
|
12
|
+
|
13
|
+
protected extern ItemPickupModel();
|
14
|
+
}
|
15
|
+
}
|
@@ -10,6 +10,6 @@ namespace TaleWorlds.MountAndBlade.DividableTasks
|
|
10
10
|
|
11
11
|
public extern void Prepare(List<Threat> threats, RangedSiegeWeapon weapon);
|
12
12
|
|
13
|
-
public extern Threat GetResult();
|
13
|
+
public extern Threat GetResult(out Agent targetAgent);
|
14
14
|
}
|
15
15
|
}
|
@@ -6,7 +6,7 @@ namespace TaleWorlds.MountAndBlade.DividableTasks
|
|
6
6
|
|
7
7
|
public extern void Prepare(Formation formation, RangedSiegeWeapon weapon);
|
8
8
|
|
9
|
-
public extern bool GetResult();
|
9
|
+
public extern bool GetResult(out Agent targetAgent);
|
10
10
|
|
11
11
|
public extern FormationSearchThreatTask();
|
12
12
|
}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
using TaleWorlds.Core;
|
2
|
+
|
3
|
+
namespace TaleWorlds.MountAndBlade.MissionSpawnHandlers
|
4
|
+
{
|
5
|
+
public class CustomSallyOutMissionSpawnHandler : SallyOutMissionSpawnHandler
|
6
|
+
{
|
7
|
+
public extern CustomSallyOutMissionSpawnHandler(IBattleCombatant defenderBattleCombatant, IBattleCombatant attackerBattleCombatant);
|
8
|
+
|
9
|
+
protected override extern void GetInitialTroopCounts(out int besiegedTotalTroopCount, out int besiegerTotalTroopCount);
|
10
|
+
}
|
11
|
+
}
|
@@ -1,15 +0,0 @@
|
|
1
|
-
using TaleWorlds.Core;
|
2
|
-
|
3
|
-
namespace TaleWorlds.MountAndBlade.MissionSpawnHandlers
|
4
|
-
{
|
5
|
-
public class CustomSiegeSallyOutMissionSpawnHandler : MissionLogic
|
6
|
-
{
|
7
|
-
public extern CustomSiegeSallyOutMissionSpawnHandler(IBattleCombatant defenderBattleCombatant, IBattleCombatant attackerBattleCombatant);
|
8
|
-
|
9
|
-
public override extern void OnBehaviorInitialize();
|
10
|
-
|
11
|
-
public override extern void AfterStart();
|
12
|
-
|
13
|
-
public override extern void OnMissionTick(float dt);
|
14
|
-
}
|
15
|
-
}
|
@@ -18,5 +18,7 @@ namespace TaleWorlds.MountAndBlade.Missions.Handlers
|
|
18
18
|
public extern void DeployAllSiegeWeaponsOfPlayer();
|
19
19
|
|
20
20
|
public extern int GetDeployableWeaponCount(Type weapon);
|
21
|
+
|
22
|
+
public extern int GetMaxDeployableWeaponCount(Type weapon);
|
21
23
|
}
|
22
24
|
}
|
@@ -12,6 +12,6 @@ namespace TaleWorlds.MountAndBlade.Network.Gameplay.Perks.Effects
|
|
12
12
|
|
13
13
|
protected override extern void Deserialize(XmlNode node);
|
14
14
|
|
15
|
-
public override extern List<(EquipmentIndex, EquipmentElement)> GetAlternativeEquipments(bool isPlayer, List<(EquipmentIndex, EquipmentElement)> alternativeEquipments);
|
15
|
+
public override extern List<(EquipmentIndex, EquipmentElement)> GetAlternativeEquipments(bool isPlayer, List<(EquipmentIndex, EquipmentElement)> alternativeEquipments, bool getAll);
|
16
16
|
}
|
17
17
|
}
|
@@ -12,6 +12,6 @@ namespace TaleWorlds.MountAndBlade.Network.Gameplay.Perks.Effects
|
|
12
12
|
|
13
13
|
protected override extern void Deserialize(XmlNode node);
|
14
14
|
|
15
|
-
public override extern List<(EquipmentIndex, EquipmentElement)> GetAlternativeEquipments(bool isPlayer, List<(EquipmentIndex, EquipmentElement)> alternativeEquipments);
|
15
|
+
public override extern List<(EquipmentIndex, EquipmentElement)> GetAlternativeEquipments(bool isPlayer, List<(EquipmentIndex, EquipmentElement)> alternativeEquipments, bool getAll);
|
16
16
|
}
|
17
17
|
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
using System;
|
2
|
+
using System.Runtime.CompilerServices;
|
3
|
+
using TaleWorlds.Engine.Options;
|
4
|
+
|
5
|
+
namespace TaleWorlds.MountAndBlade.Options
|
6
|
+
{
|
7
|
+
public class ActionOptionData : IOptionData
|
8
|
+
{
|
9
|
+
public Action OnAction { [CompilerGenerated]
|
10
|
+
get; }
|
11
|
+
|
12
|
+
public extern ActionOptionData(TaleWorlds.MountAndBlade.ManagedOptions.ManagedOptionsType managedType, Action onAction);
|
13
|
+
|
14
|
+
public extern ActionOptionData(NativeOptions.NativeOptionsType nativeType, Action onAction);
|
15
|
+
|
16
|
+
public extern ActionOptionData(string optionTypeId, Action onAction);
|
17
|
+
|
18
|
+
public extern void Commit();
|
19
|
+
|
20
|
+
public extern float GetDefaultValue();
|
21
|
+
|
22
|
+
public extern object GetOptionType();
|
23
|
+
|
24
|
+
public extern float GetValue(bool forceRefresh);
|
25
|
+
|
26
|
+
public extern bool IsNative();
|
27
|
+
|
28
|
+
public extern void SetValue(float value);
|
29
|
+
|
30
|
+
public extern bool IsAction();
|
31
|
+
|
32
|
+
public extern (string, bool) GetIsDisabledAndReasonID();
|
33
|
+
}
|
34
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
using System.Collections.Generic;
|
2
|
+
using TaleWorlds.Engine.Options;
|
3
|
+
|
4
|
+
namespace TaleWorlds.MountAndBlade.Options
|
5
|
+
{
|
6
|
+
public class OptionCategory
|
7
|
+
{
|
8
|
+
public readonly IEnumerable<IOptionData> BaseOptions;
|
9
|
+
|
10
|
+
public readonly IEnumerable<OptionGroup> Groups;
|
11
|
+
|
12
|
+
public extern OptionCategory(IEnumerable<IOptionData> baseOptions, IEnumerable<OptionGroup> groups);
|
13
|
+
}
|
14
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
using System.Collections.Generic;
|
2
|
+
using TaleWorlds.Engine.Options;
|
3
|
+
using TaleWorlds.Localization;
|
4
|
+
|
5
|
+
namespace TaleWorlds.MountAndBlade.Options
|
6
|
+
{
|
7
|
+
public class OptionGroup
|
8
|
+
{
|
9
|
+
public readonly TextObject GroupName;
|
10
|
+
|
11
|
+
public readonly IEnumerable<IOptionData> Options;
|
12
|
+
|
13
|
+
public extern OptionGroup(TextObject groupName, IEnumerable<IOptionData> options);
|
14
|
+
}
|
15
|
+
}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
using System;
|
2
|
+
using System.Collections.Generic;
|
3
|
+
using System.Runtime.CompilerServices;
|
4
|
+
using TaleWorlds.Engine.Options;
|
5
|
+
|
6
|
+
namespace TaleWorlds.MountAndBlade.Options
|
7
|
+
{
|
8
|
+
public static class OptionsProvider
|
9
|
+
{
|
10
|
+
public static extern OptionCategory GetVideoOptionCategory(bool isMainMenu, Action onBrightnessClick, Action onExposureClick, Action onBenchmarkClick);
|
11
|
+
|
12
|
+
public static extern OptionCategory GetPerformanceOptionCategory(bool isMultiplayer);
|
13
|
+
|
14
|
+
[IteratorStateMachine(typeof(_003CGetPerformanceGraphicsOptions_003Ed__9))]
|
15
|
+
public static extern IEnumerable<IOptionData> GetPerformanceGraphicsOptions(bool isMultiplayer);
|
16
|
+
|
17
|
+
[IteratorStateMachine(typeof(_003CGetPerformanceResolutionScalingOptions_003Ed__10))]
|
18
|
+
public static extern IEnumerable<IOptionData> GetPerformanceResolutionScalingOptions(bool isMultiplayer);
|
19
|
+
|
20
|
+
[IteratorStateMachine(typeof(_003CGetPerformanceGameplayOptions_003Ed__11))]
|
21
|
+
public static extern IEnumerable<IOptionData> GetPerformanceGameplayOptions(bool isMultiplayer);
|
22
|
+
|
23
|
+
[IteratorStateMachine(typeof(_003CGetPerformanceAudioOptions_003Ed__12))]
|
24
|
+
public static extern IEnumerable<IOptionData> GetPerformanceAudioOptions();
|
25
|
+
|
26
|
+
public static extern OptionCategory GetAudioOptionCategory(bool isMultiplayer);
|
27
|
+
|
28
|
+
public static extern OptionCategory GetGameplayOptionCategory(bool isMultiplayer);
|
29
|
+
|
30
|
+
[IteratorStateMachine(typeof(_003CGetGameKeyCategoriesList_003Ed__24))]
|
31
|
+
public static extern IEnumerable<string> GetGameKeyCategoriesList(bool isMultiplayer);
|
32
|
+
|
33
|
+
public static extern Dictionary<NativeOptions.NativeOptionsType, float[]> GetDefaultNativeOptions();
|
34
|
+
|
35
|
+
public static extern Dictionary<TaleWorlds.MountAndBlade.ManagedOptions.ManagedOptionsType, float[]> GetDefaultManagedOptions();
|
36
|
+
}
|
37
|
+
}
|
@@ -21,5 +21,7 @@ namespace TaleWorlds.MountAndBlade.Options.ManagedOptions
|
|
21
21
|
public extern bool IsNative();
|
22
22
|
|
23
23
|
public extern bool IsAction();
|
24
|
+
|
25
|
+
public extern (string, bool) GetIsDisabledAndReasonID();
|
24
26
|
}
|
25
27
|
}
|
@@ -12,6 +12,8 @@ namespace TaleWorlds.MountAndBlade.Source.Missions.Handlers
|
|
12
12
|
|
13
13
|
public extern void StopSpawner();
|
14
14
|
|
15
|
+
public extern float GetReinforcementInterval();
|
16
|
+
|
15
17
|
public extern bool IsSideDepleted(BattleSideEnum side);
|
16
18
|
}
|
17
19
|
}
|