BiermanTech.SteelkiltSharp
1.0.3
dotnet add package BiermanTech.SteelkiltSharp --version 1.0.3
NuGet\Install-Package BiermanTech.SteelkiltSharp -Version 1.0.3
<PackageReference Include="BiermanTech.SteelkiltSharp" Version="1.0.3" />
<PackageVersion Include="BiermanTech.SteelkiltSharp" Version="1.0.3" />
<PackageReference Include="BiermanTech.SteelkiltSharp" />
paket add BiermanTech.SteelkiltSharp --version 1.0.3
#r "nuget: BiermanTech.SteelkiltSharp, 1.0.3"
#:package BiermanTech.SteelkiltSharp@1.0.3
#addin nuget:?package=BiermanTech.SteelkiltSharp&version=1.0.3
#tool nuget:?package=BiermanTech.SteelkiltSharp&version=1.0.3
Steelkilt Sharp
Steelkilt Sharp is a C# implementation of the Steelkilt RPG combat system based on the Draft 0.4 RPG ruleset by Pitt Murmann.
Overview
Steelkilt Sharp is a combat system library for role-playing games, providing mechanics for character creation, combat resolution, skill progression, and advanced features like magic and ranged combat.
Features
Core Systems
- Nine-Attribute Character System: Characters have 9 attributes organized into Physical (Strength, Dexterity, Constitution), Mental (Reason, Intuition, Willpower), and Interactive (Charisma, Perception, Empathy) categories
- D10-Based Combat: Attack and defense rolls use d10 dice combined with skills and modifiers
- Wound Tracking: Three wound levels (Light, Severe, Critical) with automatic stacking mechanics:
- 4 Light wounds → 1 Severe wound
- 3 Severe wounds → 1 Critical wound
- 2 Critical wounds → Death
- Equipment System: Weapons with impact ratings and armor with protection values
Advanced Modules
- Skill System: Progressive skill development with difficulty-based advancement costs
- Exhaustion Tracking: Combat fatigue with cumulative penalties (-1 to -4)
- Combat Maneuvers: Tactical options including Charge, All-Out Attack, and Defensive Position
- Hit Location System: Body-part targeting with damage multipliers (head 1.5x, limbs 0.75x)
- Ranged Combat: Full implementation with distance modifiers, aiming bonuses, and cover penalties
- Magic System: Nine magical branches with spell preparation, casting rolls, and magical exhaustion
Getting Started
Usage
Creating Characters
using SteelkiltSharp.Core;
var warrior = new Character(
"Sir Roland",
new Attributes(8, 7, 7, 5, 5, 6, 5, 6, 5),
weaponSkill: 7,
dodgeSkill: 5,
Weapon.LongSword(),
Armor.Chain());
Basic Combat
using SteelkiltSharp.Core;
var result = Combat.CombatRound(attacker, defender, DefenseAction.Parry);
Console.WriteLine(result);
Ranged Combat
using SteelkiltSharp.Modules;
var archer = new Character(/* ... */)
{
RangedWeapon = RangedWeapon.LongBow(),
RangedSkill = 8
};
var result = RangedCombat.RangedAttack(archer, target, distance: 50);
Magic System
using SteelkiltSharp.Modules;
var wizard = new Character(/* ... */)
{
Magic = new MagicUser()
};
wizard.Magic.SetBranchSkill(MagicBranch.Elementalism, 8);
var fireball = MagicSystem.Spells.Fireball();
wizard.Magic.PrepareSpell(fireball);
var result = MagicSystem.CastSpell(wizard, fireball);
Combat Mechanics
Attack Resolution
- Attacker rolls: Weapon Skill + d10 + Modifiers
- Defender rolls: Weapon Skill (parry) or Dodge Skill + d10 + Modifiers
- If attack > defense: Hit!
- Damage = (Attack Roll - Defense Roll) + Strength Bonus + Weapon Damage - Armor Protection
- Wound severity determined by damage vs. defender's Constitution
Wound Levels
- Light Wound: Damage < Constitution
- Severe Wound: Damage ≥ Constitution
- Critical Wound: Damage ≥ Constitution × 2
Strength Bonus
- STR ≤ 2: -1 damage
- STR ≥ 7: +1 damage
- STR ≥ 9: +2 damage
Magic Branches
- Divination: Knowledge and foresight
- Alchemy: Material transformation
- Elementalism: Fire, ice, lightning
- Enchantment: Enhancement and buff magic
- Illusion: Deception and trickery
- Necromancy: Death and undeath
- Summoning: Creature summoning
- Transmutation: Shape and form alteration
- Abjuration: Protection and barriers
License
This project is released under the MIT License. The original Draft 0.4 RPG Rule Set was published under the OpenContent License Version 1.0.
Credits
- Original Steelkilt Rust implementation on GitHub: tonybierman/steelkilt
- Steelkilt Sharp on GitHib: tonybierman/steelkilt
- Draft 0.4 RPG System: Pitt Murmann
Contributing
Contributions are welcome! Please feel free to submit issues or pull requests.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net6.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.