Verb Expansion Framework

MOD Desc
The ranged expansion framework was initially conceived of as a complete re-implementation of the Range Animal Framework[ludeon.com]. This initial release has succeeded in that goal, along with a handful of other enhancements.
The long term goal is to provide a broadly increased combat scope, making violence on the Rim more varied, tactical and exotic, than ever before.

Features
– All types of Pawn, be they animals, colonists, humanoids or mechanoids, will recognise and use Ranged Verbs from Equipment, Hediffs and Race Definitions.
– If they have any, animals will use Ranged Verbs preferentially when manhunting (as will manhunting humanoids) or when defending their master.
– AI with multiple ranged verbs will approximate their usefulness and select the most useful ranged verb to use.
– Colonists that have Ranged Verbs that are not from their Equipment or that have multiple Ranged Verbs will show an additional Gizmo that allows the player to set which ranged verb they should use in combat (colonists must be drafted to make the selection).
– Colonists that have Ranged Verbs but do not have any Equipment will display and respect the Toggle Fire-at-Will gizmo.
– Ranged Verbs from Hediffs display all of the appropriate interactions with the Brawler Trait (unhappy thought, ‘Brawler has Ranged Weapon’ warning in sidebar, and the Operations ‘Add Bill’ Menu will display the ‘Brawler will be unhappy’ warning for appropriate operations).
– All bleeding-capable pawns have their total bleed rate multiplied by the new Bleed Rate Capacity.
– Implements Verb_ShootBody, which modifies the damage dealt based on the body size of the pawn using the verb.
– Implements versions of Explosions, Extinguishers, and Flames that do not trigger camera shake. Created by BadDog, sma342, Mehni, Erdelf and Ogliss. Maintained and provided by Ogliss.
– Implements HediffComp and ThingComp versions of Smokepop Belt.
– Implements HediffComp HealthModifier (Legacy) and Health Capacities.
– Implements HediffSets, allowing you to lock powerful bonuses or penalties behind multiple prerequisite hediffs.

Details
For full information and documentation, please use the github wiki[github.com].

Installation and Compatibility
The Verb Expansion Framework does not come with any additional content, only utilities for other mods to add content. You will only need to load VEF as a dependancy for another mod.
If you do need to load VEF as a dependancy, it must be loaded between Core and the all mods that are dependant on it. I would recommend placing it high up in the load order, among the other frameworks, such as HugsLibs and JecsTools.

This mod should be compatible with any mod, so long as it doesn’t alter the way that equipment, hediffs or ranged verbs work.
Before installing this mod into your precious saved game, load it into your mod-list and attempt to create a new game. Run some basic combat tests and if it produces errors that you do not normally see, report them and discontinue use of the framework with that mod-list.

– Compatible with the Range Animal Framework[ludeon.com] (updating one mod to VEF will no longer break the mod-list).
– Compatible with roolo’s Dual Wield
– Partial compatibility for Combat Extended[ludeon.com]. See the wiki for details.[github.com]

Changelog:
Version 1.1.4:

New Features:
– HediffSets allow you to lock powerful bonuses behind a list of prerequisite hediffs.
– Verb_ShootBody is an alternative to Verb_Shoot that modifies the damage output based on the bodysize of the pawn firing the verb.

Bugfixes
– Nothing specific, but a bunch of minor and ongoing code improvements.

Other Threads:
Ludeon Forums[ludeon.com]
GitHub (Direct Download)[github.com]



  • so i waited a couple of minutes and it gave me some more information about this error with spawning pawnsException spawning loaded thing Hagu: System.NullReferenceException: Object reference not set to an instance of an objectat VerbExpansionFramework.VEF_Comp_Pawn_RangedVerbs/c__DisplayClass9_1.b__0 () at VerbExpansionFramework.VEF_Comp_Pawn_RangedVerbs.UpdateRangedVerbs () at VerbExpansionFramework.VEF_Comp_Pawn_RangedVerbs.PostSpawnSetup (bool) at Verse.ThingWithComps.SpawnSetup (Verse.Map,bool) at Verse.Pawn.SpawnSetup (Verse.Map,bool) at (wrapper dynamic-method) Verse.GenSpawn.Spawn_Patch5 (Verse.Thing,Verse.IntVec3,Verse.Map,Verse.Rot4,Verse.WipeMode,bool) at (wrapper dynamic-method) Verse.Map.FinalizeLoading_Patch1 (object)
  • In the old save its still going strong and in the new one i started getting the same one with mechanoidException ticking Mech_Lancer11412 (at (35, 0, 209)): System.NullReferenceException: Object reference not set to an instance of an objectat VerbExpansionFramework.VEF_Comp_Pawn_RangedVerbs/c__DisplayClass9_1.b__0 () at VerbExpansionFramework.VEF_Comp_Pawn_RangedVerbs.UpdateRangedVerbs () at VerbExpansionFramework.VEF_Comp_Pawn_RangedVerbs.TryGetRangedVerb (Verse.Thing) at VerbExpansionFramework.VEF_Comp_Pawn_RangedVerbs.CompTick () at Verse.ThingWithComps.Tick () at (wrapper dynamic-method) Verse.Pawn.Tick_Patch2 (object) at (wrapper dynamic-method) Verse.TickList.Tick_Patch2 (object)
  • I haven’t looked into multiplayer yet. As I understand it, multiplayer will be a fairly major task. The compatibility overhaul will make it much easier to implement new compatibility features, both for multiplayer and other mods.As mentioned in my changelog, I have more or less worked myself to the bone, so development is slowing down to a more sustainable pace. I’m only working on it all today because of the ongoing bug-reports.Multiplayer compatibility is currently second on my priorities list, immediately after Shields (Hediff and race defined) and Shield Amps (HediffComp), but that is not concrete, so they may be switched around, or new issues may arise that require my immediate attention.
  • Sarg Bjornson, the creator of Magical Menagerie, has incorrectly stated that this framework does not need independent subscription. As such, the version of VEF in his mod is out of date, and may display other issues as a result of the incorrect load order.Subscribe to this mod and place it among the major frameworks near the top of your mod list (immediately after HugsLib and JecsTool). It is safe to add to an ongoing game.To be extra sure that the correct version is operating once you have enabled VEF, go to the mod folder for Magical Menagerie, into the assemblies folder and delete ‘VerbExpansionFramework.dll’.As far as I am aware, that error was resolved and updates released either late last week or earlier this week.
  • JobDriver threw exception in initAction for pawn Oris driver=JobDriver_Wait (toilIndex=0) driver.job=(Wait_Combat (Job_21) A=(121, 0, 131)) lastJobGiver=Verse.AI.JobGiver_OrdersSystem.NullReferenceException: Object reference not set to an instance of an objectat VerbExpansionFramework.HarmonyPatches.Pawn_TryGetAttackVerbPostfix (Verse.Pawn,Verse.Verb&,Verse.Thing&) at (wrapper dynamic-method) Verse.Pawn.TryGetAttackVerb_Patch2 (object,Verse.Thing,bool) at (wrapper dynamic-method) Verse.Pawn.get_CurrentEffectiveVerb_Patch1 (object) at (wrapper dynamic-method) Verse.AI.JobDriver_Wait.CheckForAutoAttack_Patch2 (object) at Verse.AI.JobDriver_Wait/c__Iterator0.m__0 () at Verse.AI.JobDriver.TryActuallyStartNextToil ()

Leave a Reply

Your email address will not be published. Required fields are marked *