Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - oreganor

#1
MELEE SKILL REBALANCE



= DESCRIPTION =

This Mod is an attempt to bring more utility to Melee Skill highlighting its impact on close quarters combats. Currently the main changes are:

   
- Altered skill progression/curves/defaults so what appears in-game tooltips as Melee Chance gets closer to real chances to land a hit on the enemy. The overall effect sought is that highly skilled fighters become deadlier while low skill fighters become much worse at dealing melee damage compared to Vanilla. Non Skilled entities will show their 60% chance to hit, as it was already the case inside the melee evaluation code. Their combat effectiveness will change based on their current health status.


- Created a "Parry" mechanic as a 3rd type of result on any melee attempted. The chance a regular hit turns into a "Parry" is based on the Melee Chance of the target. A parried attack has different effects on its target based on a few factors:

* If the target is wearing any piece of Apparel able to absorb damage, the full damage of the attack will be absorbed by it. Vanilla Personal Shields are an example of this change, they will try to absorb the damage of a melee attack that's parried.
   
* If the target is wielding a Melee Weapon, no wound will be suffered but the Weapon will loose HP as a fraction of the attack damage. This fraction is reduced the higher the Melee Chance of the target. The weapon will be dropped to the ground if a hit was strong enough to destroy it.
   
* An unarmed target will suffer half the damage on a Parry. A pawn wielding a Ranged Weapon falls on this category also.

* Parry chances are reduced the more parries a pawn does between his/her melee attacks.


- Pawns have a Melee Mode order players can change. Each mode modifies regular hits and have a chance ("Chance" in Mode tooltip) to trigger a special effect. For a special effect to happen the Pawn has to have effective hit chances equal or higher than the inherent difficulty of the stance ("Threshold" in the tooltip). The current modes are:

* Kill: Regular Damage on normal hits. Double damage on Special effect.
   
* Capture: Half Damage on normal hits. "Anesthezise" Incapacitation on Special effect.
   
* Stun: Half Damage on normal hits. Short stun on Special effect.
   
* Disarm: No Damage on normal hits. Enemy weapon droped to the ground on Special effect.


- AI Pawns use Attack Modes based on individual goals & capabilities.


= ACKNOWLEDGEMENTS =

pardeike: Without Harmony, gracefull detouring wouldn't have been possible. His input on safe access to private methods have been a very valuable lesson.
haplo: For inspiration on how to make my own art and for his excellent tutorial on modding.


= INCOMPATIBILITIES =

Currently this mod Detours 2 Vanilla methods using Harmony Library:
- Rimworld.Verb_MeleeAttack.TryCastShot()
- Rimworld.Pawn_DraftController.GetGizmos()


ATM the mod leaves no traces on your savegame, meaning it's safe to use on an ongoing game and safe to be removed without further considerations.


= KNOWN ISSUES =

- Parry counters are reseted on reloading.
- Attack Mode settings are reseted to "Kill" on reloading.


= TODO =

My current focus is to learn modding... Thus why my 1st goal is a mod that players aren't afraid to test, that's why no savegame trace is a must for now. If enough brave souls offer feedback and/or find this usefull, this are the next steps (In no particular order and, OFC, heavily shaped by the feedback I may gather)

- Parry Saturation. ATM the number of concurrent fighters attacking the same defender do not alter defender's parry chances. This is not ideal and will be changed sooner or later.

- Full Harmony library integration. I'm holding Sources publishing until I can show a decently clean code were all interactions derived from using detours go through Harmony Library, not just Detours themselves. I have some issues using Traverse tool that I need to investigate/report in Harmony channels.

- Make melee weapons that are destroyed while parrying to be droped with a few hp instead. For better visualization of what's going on and for users of repair mods to have a chance to keep their best melee weapons.

- Melee Combat toggle buttons to customize Pawn behaviour regarding "safety" while meleeing and/or allowing different "Attack Modes".

- Parry Chance Stat. As a standalone so apparel/traits can affect defensive chances independently of offensive chances.

- Better Sounds/Visual notifications when a Parry happens.

- Make this mod fully compatible with other mods that do not relay on Harmony without user patches.

- Better Sounds/Visual notifications when a Special effect happens.

- Make AI better at selecting which Attack mode to use. ATM they default to "Kill Mode".

- Find a way to notify players that their Pawns may be trying an attack mode that has no chance to trigger a special effect because their current target is just too skilled at Melee.


= POWERED BY =

Harmony 1.0.9.1. Detouring Library.


= DOWNLOAD & INSTALLATION =

This is the latest version on the GITHUB repository of the project. If you want to access older versions, just browse on the "Releases" Tab and get the .zip of the one you want.

To install, simply unzip it into your [Rimworld Install Path]\Mods directory.


= PERMISSIONS =

Feel free to use/reuse, tear apart, the Mod and its sources at your leasure. I would appreciate to be credited if you think this mod is useful enough and/or provided some fun for you in any way or form ;).


= CHANGELOG =

1.4.0:
- AI will now use different Attack Modes based on individual pawn's goals & capabilities.
- Tweaked Attack Modes thresholds & chances.
- Reduced Parry counter penalty.

1.3.2:
- Added overlays to Attack Mode button to describe effective chances of a special effect to happen.
- Compatibility with "Defensive Positions" mod.

1.3.1:
- Using Shortcut "M" (Misc 7) as default.
- RTS behaviour on Attack Mode button when multiple pawns are selected.

1.3.0:
- Added Attack Mode command.
- Added Basic Localization: English.

1.2.1:
- Fixed Null Error while attacking Buildings.

1.2.0:
- Full integration with Harmony Library.
- Parry chances of a pawn are reduced the more parries it has to do between his/her melee swings.

1.1.0:
- Melee weapons badly damaged on a parry are droped to the ground.

1.0.0:
-Initial Implementation.
#2
Support / A way to dump .log on freeze?
March 13, 2017, 07:26:50 AM
I have an anoying problem, most likely connected to some mod interaction, that I want to research to issue a decent bug report. Here is the problem:

- Sometimes THE SAME savegame puts Rimworld into a frozen state while loading it, right after the "Spawning all things" starts.

- The issue is that, as I have to kill the client, I don't get a complete log dumped... I only get the part about the initial checks on the savegame to go through successfully.

So... The question is... Is there a way to make log file dumping more frequently? Because the freeze happens at some point during "Spawning all things" and before the map appears... So at least SOME part of the Spawn process is successful. The fact that SOMETIMES happens and sometimes not with the same savegame, is why it's so important for me to get the log to be able to send a decent report to conflicting mods (and/or Tynan himself if it's some weird interaction).