[Mod Request] Medieval Times/Combat Extended Compatibility Patch + Conversion

Started by Tamias, June 21, 2017, 10:24:08 AM

Previous topic - Next topic

Tamias

Goal: To play a medieval themed colony with Combat Extended's greatly enhanced combat system in a "medieval only" world. (ie no guns, no mechs, ect.)

Over the last few months, I have become quite fond of medieval Rimworld playthroughs. I've achieved this thus far through the combined use of two different mods: Medieval Times and Rimworld: Medieval Edition. However, there are many redundancies between the two in terms of equipment, and the melee combat is extremely lackluster due to the poor melee system of vanilla Rimworld. The remedy to the last problem has appeared with the recent resurrection of Combat Realism as Combat Extended, but all forms of weaponry and armor have to be patched into the new system for them to function properly. The idea would be to somehow "marry" these three mods together, as they all three bring seperate, but necissary, components to the table. Therefore, to answer the question of the best way to go about this, I'll briefly go over my thoughts on each mod (links to each listed at the bottom):

1. Medieval Times - This is the "core" mod of the three. This mod adds a great deal of badly needed expanded content for the medieval era of the game, which includes a plethora of new medieval era weapons, apparel, items, food, factions, and defenses. This mod provides the flavor, but it only adds content, so it does nothing to address the problem of a "medieval only" world.

2. Rimworld: Medieval Edition - I use this mod for the sole purpose of removing "non-medieval" items and technology from the game. It does a great job of this, and even goes so far as to reflavor events in the game to make them more thematic to a medieval playthrough. However, this mod also adds it's own set of weapons, armor, and factions, and most of this content is very similar to what Medieval Times adds (redundant). That said, I personally like the added content of Medieval Times much more of the two. There are also concerns in the steam comments for this mod that the developer will soon end development on it, although I haven't personally contacted the author to confirm this.

3. Combat Extended - This mod addresses the problem of terrible vanilla melee combat, as it improves the system in nearly every concievable way. It adds critical hit, parrying, and riposte melee mechanics to the game, as well as fully functional shields. The armor system has been reworked to be far more realistic, and I personally prefer the realistic notion of having to craft arrows and bolts for my bows and crossbows. However, the only issue here is that literally every piece of equipment has to be patched to use the new system, and the two aforementioned mods add literally hundreds of new combat items combined.

After some consideration, as well looking around with some of the code, I think the best way to accomplish the goal here, both short term and long term, would be to replace Rimworld: Medieval Edition with a conversion mod that does nothing more than remove all "non-medieval" elements, and to create a Combat Extended compatability patch for Medieval Times. The replacement of Rimworld: Medieval Edition would not only remove the redundancies in items, but it would also make creating and maintaining a Combat Extended patch a much easier process simply by reducing the number of dependent mods. Once the Medieval Times patch is complete and balanced, it can be submitted to the Combat Extended team to add to the mod itself, and it would only need updates when Medieval Times adds new combat items.

As far as the conversion mod side of things go, I've been trying to create a stripped down version of RimWorld: Medieval Edition for personal use  with all the additional content removed, since that mod does such a great job of creating a "medieval world". However, I have essentially zero coding experience other than very basic XML editing, and so I'm literally having to learn as I go. That, plus my lack of time these days, means that my progress has been much slower than I had originally anticipated. Originally, I'd hoped to do both of these both of these things myself, but it's looking like I might die of old age first (lol). I also don't know how well I'll be able to get it to mesh with Combat Extended, since it will probably require removal of some content from that mod as well. I *might* be able to manage the conversion mod side of things myself, but I figured I would put this out there to the community anyway, since the mod wizards here could probably come up with a much better way of accomplishing this than I ever could, and I think a general purpose weapon/tech removal mod would be great for others who want other historic gametypes as well (Napoleonic Era, Old West, World War II, ect).

Ultimately, I think this would be the perfect set-up for anyone who wants to play a generic medieval gametype. However, this set-up could also eventually be used as the basis for other mods, such as a Game of Thrones or Lord of the Rings mod (Yes, please lol). We'll keep it relatively simple for now, but I just wanted to express that I think this solid "generic medieval" set-up could have alot of potential down the road.

I apologize for writing a novel here, and give thanks for any consideration.

Mod Links
Medieval Times - https://ludeon.com/forums/index.php?topic=22316.0
RimWorld: Medieval Edition - http://steamcommunity.com/sharedfiles/filedetails/?id=754010247
Combat Extended - https://ludeon.com/forums/index.php?topic=33461.0

Tamias

So I thought I'd post an update for you guys. The conversion mod is essentially complete, so now I just need to patch it for compatability with Combat Extended, which is what I'm currently working on. Beyond that, the only thing needed should be the Medieval Times/Combat Extended patch, so if anyone is working on one please let me know. Thanks.


admiralKew

I'm looking forward to this! Will you also be releasing a straight MT + CE patch, without removing the modern and future elements for 'regular' playthroughs?

JT

Quote from: kyle1847 on July 03, 2017, 08:40:41 AM
So I thought I'd post an update for you guys. The conversion mod is essentially complete, so now I just need to patch it for compatability with Combat Extended, which is what I'm currently working on. Beyond that, the only thing needed should be the Medieval Times/Combat Extended patch, so if anyone is working on one please let me know. Thanks.

I had been working on one for A16, but it's number six (seven?) on my TODO list for A17.  I did already post on Vindar's thread that fixing the main compatibility issue was as simple as adding a single line to one file, but I don't know if that's still the case.

The-Eroks

QuoteHowever, I have essentially zero coding experience other than very basic XML editing, and so I'm literally having to learn as I go.

You have found your people.

I am very interested in your project. I am currently working on a fantasy based total conversion (Epic Omega) and agree that a medieval baseline is something the community really needs.

Off the top of my head, you can likely achieve your CE patch very easily by creating an intermediary Abstract ParentClass that includes all of the missing fields, assign that ThingDef the Parent of the items you're patching, than assign all your weapons the new intermediary parent class:

Original

<ThingDef ParentName="BaseMeleeWeapon_Sharp">
     <defName>Ish_MedievalWeapons_BattleAxe</defName>
     <label>battle axe</label>
     <description>The humble axe, redesigned for cutting down men rather than trees.</description>
     ...
</ThingDef>


Create an intermediary Abstract ThingDef that will act as the new Parent for your weapons. Note how our intermediary uses the BaseMeleeWeapon_Sharp as a ParentName.

<ThingDef ParentName="BaseMeleeWeapon_Sharp" Name="CE_PATCH_BaseMeleeWeapon_Sharp" Abstract="True">
     <CE tag A>123</CE tag A>
     <CE tag B>123</CE tag B>
     <CE tag C>123</CE tag C>
     ...
</ThingDef>


Than set the parent name of the target weapon to the new Abstract ThingDef you created.

<ThingDef ParentName="CE_PATCH_BaseMeleeWeapon_Sharp">
     <defName>Ish_MedievalWeapons_BattleAxe</defName>
     <label>battle axe</label>
     <description>The humble axe, redesigned for cutting down men rather than trees.</description>
     ...
     <CE tag B>456</CE tag B>
</ThingDef>


This is about a 90% solution, provided that most of the values are the same. For anything that is slightly different, you can just drop the specific tag into the given ThingDef; or create several abstracts that hand specific categories of weapons (maybe short swords, long swords, light weapons, martial weapons, polearms... whatever  ;))

Tamias

Update #2: I haven't gotten the chance to do quite as much testing as I'd hoped, but I went ahead and released the basic conversion mod on steam anyway so I can get some feedback from playtesting. It can be played with Combat Extended, but the removal of advanced tech from that mod isn't complete yet, but I am working on it slowly but surely. Once a Medieval Times/Combat Extended compatibility patch is completed by someone, I'll try my best to make sure everything "marries" as well as possible. Any feedback would be greatly appreciated, as well as reporting of any missed gun/advanced tech spawning sources. Thanks.

Medieval World (No Guns/Low Tech) - http://steamcommunity.com/sharedfiles/filedetails/?id=964813358

Tamias

Update #3: I've got the framework code for converting all the weapons for Medieval Times to the Combat Extended system complete, and so now I just have to go through and balance the numbers for everything (which could take some time, since Medieval Times adds so much content.) The armor conversion was much easier, so it is already complete.

In the meantime, here are a few things I might need help with if possible:

1. Converting MT artillery. Medieval Times adds three types of artillery: ballistas, murder holes (machicolations), and catapults, and Combat Extended completely changes the way artillery works. I'm not sure how to implement them myself, but I'm sure someone who's much more knowledgable about such things could manage it. We might could even reach out to the CE team about it, since they have an active discord server. Otherwise, I'll probably have to disable them until a solution is found, but castle sieges and defense would be an amazing addition imo.

2. Ammo item graphics. All ranged weapons in CE have ammo, and that ammo has to have an item graphic. Fortunately, the CE team has already made item graphics for the vanilla bow arrows, so as a quick fix solution I've made all the MT bows use vanilla arrows. However, MT also adds the crossbow and the arbalest, which both shoot bolts (quarrels) rather than arrows, so this really isn't an ideal solution for the long-term. Both the crossbow bolt and arbalest bolt need item graphics, as well as the ammo types for the artillery types mentioned before. I don't know if he would be interested, but I think the ideal solution here would be for Vindar (MT's creator) to do the graphics if possible, and add them to the mod's assets for use. That way the art styles and quality will match, and the patch could remain purely a patch.

If any other problems crop up, I'll be sure to post them. Like I said, I still need to balance all the numbers for the weapons, but I can say that after seeing the MT items at work with the new CE combat system, I'm even more excited about it than before. I also need to reach out to Skullywag about the kite shield from his old shield mod. The CE combat system has fully functional shields, but it only adds a basic buckler type shield and a modern riot type shield, and so the addition of a medieval kite shield would be a great addition for MT+CE. Skully is on the CE team, so I'll see if he'd be willing to add the shield to the base CE mod, or if he'd grant me permission to use the graphic from the old mod to code a new kite shield.

Tamias

Update #4: Well, I finally figured out how to get the artillery converted over, so now I've now got all three working. I also completed the code for all the artillery ammo, as well as ammo for all the bows and crossbows. I reached out to Vindar, and he graciously supplied me with new graphic assets for all the new ammo, as well as a graphic for a new heater shield I just finished the code for.  Overall, the brunt of the task is complete. At this point I just have to balance everything (since my main priority was getting everything working first), write up flavor text for all the new items, and make sure that the two mods will mesh appropriately. I don't know how long all this will take exactly, but if worse comes to worse I could just release the mod just semi-balanced, and update the item stats over time as needed. After that, I need to polish up the Medieval World mod a little more, and finish the CE patching for it (it's compatible, it just doesn't remove everything it needs to from that mod yet), and hopefully then we'll have the definitive medieval Rimworld experience I was hoping to achieve.

PS: I figured out how to code flaming arrows. Any interest?

jpnm92

Hmm the only way i would be interested in flaming arrows would be if you could only use them by standing next to a campfire.

Something with fire.

Having fire arrows in your inventory is.. unrealistic

Holvr

Quote from: jpnm92 on July 10, 2017, 10:24:52 AM
Hmm the only way i would be interested in flaming arrows would be if you could only use them by standing next to a campfire.

Something with fire.

Having fire arrows in your inventory is.. unrealistic

Dunno how hard would such thing be to implement, though I agree with the realism issue. One thing I'd propose that seems plausible-but-not-that-good would be to make a "Brazier" buildable item that would act like a man-operated turret that shoots flaming arrows. Crude but would probably work.


Tamias

So, the compatibility is finally finished. I hope you guys enjoy it.

http://steamcommunity.com/sharedfiles/filedetails/?id=975316762

I ended up having to just do a rough balancing of the items for CE like I was talking about earlier, and I'll be adjusting the stats as needed, so please let know any suggestions for balancing you guys might have. I'll probably create a discussion topic for it on my mod's steam forum.