链锯剑
This commit is contained in:
Binary file not shown.
@@ -611,78 +611,7 @@
|
||||
<li>RewardStandardQualitySuper</li>
|
||||
</thingSetMakerTags>
|
||||
</ThingDef>
|
||||
<!-- 链锯剑 -->
|
||||
<ThingDef ParentName="BaseMeleeWeapon_Sharp_Quality">
|
||||
<defName>WULA_MW_ChainSword</defName>
|
||||
<label>CMs-1"链锯剑"</label>
|
||||
<description>这种嗡嗡作响的乌拉帝国链锯类武器有多条环绕剑脊高速旋转的多层复合锯齿链条,之间嵌有能量传导节点或微型冷却剂喷口,是力量与纯粹疯狂的象征。</description>
|
||||
<graphicData>
|
||||
<texPath>Wula/Weapon/WULA_MW_ChainSword</texPath>
|
||||
<graphicClass>Graphic_Single</graphicClass>
|
||||
<shaderType>CutoutComplex</shaderType>
|
||||
</graphicData>
|
||||
<!-- <equippedAngleOffset>-65</equippedAngleOffset> -->
|
||||
<techLevel>Spacer</techLevel>
|
||||
<costStuffCount>60</costStuffCount>
|
||||
<stuffCategories>
|
||||
<li>Metallic</li>
|
||||
</stuffCategories>
|
||||
<costList Inherit="False">
|
||||
<Plasteel>5</Plasteel>
|
||||
<ComponentIndustrial>3</ComponentIndustrial>
|
||||
</costList>
|
||||
<statBases>
|
||||
<WorkToMake>20000</WorkToMake>
|
||||
<Mass>2.5</Mass>
|
||||
</statBases>
|
||||
<tools Inherit="False">
|
||||
<li>
|
||||
<label>链锯</label>
|
||||
<capacities>
|
||||
<li>Cut</li>
|
||||
</capacities>
|
||||
<armorPenetration>0.5</armorPenetration>
|
||||
<power>25</power> <!-- 2.5x natural fist -->
|
||||
<cooldownTime>1.2</cooldownTime>
|
||||
<soundMeleeHit>Pawn_Melee_PowerClaw_Hit</soundMeleeHit>
|
||||
<soundMeleeMiss>Pawn_Melee_PowerClaw_Miss</soundMeleeMiss>
|
||||
</li>
|
||||
<li>
|
||||
<label>柄击</label>
|
||||
<capacities>
|
||||
<li>Blunt</li>
|
||||
<li>Poke</li>
|
||||
</capacities>
|
||||
<power>18</power>
|
||||
<cooldownTime>1.5</cooldownTime>
|
||||
<surpriseAttack>
|
||||
<extraMeleeDamages>
|
||||
<li>
|
||||
<def>Stun</def>
|
||||
<amount>5</amount>
|
||||
</li>
|
||||
</extraMeleeDamages>
|
||||
</surpriseAttack>
|
||||
</li>
|
||||
</tools>
|
||||
<recipeMaker>
|
||||
<recipeUsers Inherit="False">
|
||||
<li>WULA_Cube_Productor_Energy</li>
|
||||
</recipeUsers>
|
||||
<researchPrerequisite>WULA_Synth_Weapon_2_Melee_Technology</researchPrerequisite>
|
||||
<skillRequirements>
|
||||
<Crafting>7</Crafting>
|
||||
</skillRequirements>
|
||||
<displayPriority>450</displayPriority>
|
||||
<unfinishedThingDef>UnfinishedWeapon</unfinishedThingDef>
|
||||
</recipeMaker>
|
||||
<weaponTags>
|
||||
<li>Wula_Melee_Weapon_T2</li>
|
||||
</weaponTags>
|
||||
<thingSetMakerTags>
|
||||
<li>RewardStandardQualitySuper</li>
|
||||
</thingSetMakerTags>
|
||||
</ThingDef>
|
||||
|
||||
<!-- 双头刀 -->
|
||||
<ThingDef ParentName="BaseMeleeWeapon_Sharp_Quality">
|
||||
<defName>WULA_MW_Glaive</defName>
|
||||
@@ -712,7 +641,7 @@
|
||||
</costList>
|
||||
<statBases>
|
||||
<WorkToMake>30000</WorkToMake>
|
||||
<Mass>100</Mass>
|
||||
<Mass>5</Mass>
|
||||
</statBases>
|
||||
<tools Inherit="False">
|
||||
<li>
|
||||
|
||||
102
1.6/1.6/Defs/ThingDefs_Misc/Weapons/WULA_Weapon_ChainSword.xml
Normal file
102
1.6/1.6/Defs/ThingDefs_Misc/Weapons/WULA_Weapon_ChainSword.xml
Normal file
@@ -0,0 +1,102 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Defs>
|
||||
|
||||
<!-- 链锯剑 -->
|
||||
<ThingDef ParentName="BaseMeleeWeapon_Sharp_Quality">
|
||||
<defName>WULA_MW_ChainSword</defName>
|
||||
<label>CMs-1"链锯剑"</label>
|
||||
<description>这种嗡嗡作响的乌拉帝国链锯类武器有多条环绕剑脊高速旋转的多层复合锯齿链条,之间嵌有能量传导节点或微型冷却剂喷口,是力量与纯粹疯狂的象征。</description>
|
||||
<graphicData>
|
||||
<texPath>Wula/Weapon/WULA_MW_ChainSword</texPath>
|
||||
<graphicClass>Graphic_Single</graphicClass>
|
||||
<shaderType>CutoutComplex</shaderType>
|
||||
</graphicData>
|
||||
<!-- <equippedAngleOffset>-65</equippedAngleOffset> -->
|
||||
<techLevel>Spacer</techLevel>
|
||||
<costStuffCount>60</costStuffCount>
|
||||
<stuffCategories>
|
||||
<li>Metallic</li>
|
||||
</stuffCategories>
|
||||
<costList Inherit="False">
|
||||
<Plasteel>5</Plasteel>
|
||||
<ComponentIndustrial>3</ComponentIndustrial>
|
||||
</costList>
|
||||
<statBases>
|
||||
<WorkToMake>20000</WorkToMake>
|
||||
<Mass>2.5</Mass>
|
||||
</statBases>
|
||||
<tools Inherit="False">
|
||||
<li>
|
||||
<label>链锯</label>
|
||||
<capacities>
|
||||
<li>WULA_MW_ChainSword_MultiStrike</li>
|
||||
</capacities>
|
||||
<armorPenetration>0.5</armorPenetration>
|
||||
<power>25</power>
|
||||
<cooldownTime>1.2</cooldownTime>
|
||||
<soundMeleeHit>Pawn_Melee_PowerClaw_Hit</soundMeleeHit>
|
||||
<soundMeleeMiss>Pawn_Melee_PowerClaw_Miss</soundMeleeMiss>
|
||||
</li>
|
||||
<li>
|
||||
<label>柄击</label>
|
||||
<capacities>
|
||||
<li>Blunt</li>
|
||||
<li>Poke</li>
|
||||
</capacities>
|
||||
<power>18</power>
|
||||
<cooldownTime>1.5</cooldownTime>
|
||||
<surpriseAttack>
|
||||
<extraMeleeDamages>
|
||||
<li>
|
||||
<def>Stun</def>
|
||||
<amount>5</amount>
|
||||
</li>
|
||||
</extraMeleeDamages>
|
||||
</surpriseAttack>
|
||||
</li>
|
||||
</tools>
|
||||
<recipeMaker>
|
||||
<recipeUsers Inherit="False">
|
||||
<li>WULA_Cube_Productor_Energy</li>
|
||||
</recipeUsers>
|
||||
<researchPrerequisite>WULA_Synth_Weapon_2_Melee_Technology</researchPrerequisite>
|
||||
<skillRequirements>
|
||||
<Crafting>7</Crafting>
|
||||
</skillRequirements>
|
||||
<displayPriority>450</displayPriority>
|
||||
<unfinishedThingDef>UnfinishedWeapon</unfinishedThingDef>
|
||||
</recipeMaker>
|
||||
<weaponTags>
|
||||
<li>Wula_Melee_Weapon_T2</li>
|
||||
</weaponTags>
|
||||
<thingSetMakerTags>
|
||||
<li>RewardStandardQualitySuper</li>
|
||||
</thingSetMakerTags>
|
||||
<comps>
|
||||
<li Class="WulaFallenEmpire.CompProperties_MultiStrike">
|
||||
<strikeCount>5~8</strikeCount>
|
||||
<damageMultiplierPerStrike>0.2</damageMultiplierPerStrike>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
|
||||
<ToolCapacityDef>
|
||||
<defName>WULA_MW_ChainSword_MultiStrike</defName>
|
||||
<label>链锯切割</label>
|
||||
</ToolCapacityDef>
|
||||
|
||||
<ManeuverDef>
|
||||
<defName>WULA_MW_ChainSword_Maneuver</defName>
|
||||
<requiredCapacity>WULA_MW_ChainSword_MultiStrike</requiredCapacity>
|
||||
<verb>
|
||||
<verbClass>WulaFallenEmpire.Verb_MeleeAttack_MultiStrike</verbClass>
|
||||
<meleeDamageDef>Cut</meleeDamageDef>
|
||||
</verb>
|
||||
<logEntryDef>MeleeAttack</logEntryDef>
|
||||
<combatLogRulesHit>Maneuver_Slash_MeleeHit</combatLogRulesHit>
|
||||
<combatLogRulesDeflect>Maneuver_Slash_MeleeDeflect</combatLogRulesDeflect>
|
||||
<combatLogRulesMiss>Maneuver_Slash_MeleeMiss</combatLogRulesMiss>
|
||||
<combatLogRulesDodge>Maneuver_Slash_MeleeDodge</combatLogRulesDodge>
|
||||
</ManeuverDef>
|
||||
|
||||
</Defs>
|
||||
20
Source/WulaFallenEmpire/Verb/CompMultiStrike.cs
Normal file
20
Source/WulaFallenEmpire/Verb/CompMultiStrike.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using Verse;
|
||||
|
||||
namespace WulaFallenEmpire
|
||||
{
|
||||
public class CompProperties_MultiStrike : CompProperties
|
||||
{
|
||||
public IntRange strikeCount = new IntRange(3, 3);
|
||||
public float damageMultiplierPerStrike = 0.5f;
|
||||
|
||||
public CompProperties_MultiStrike()
|
||||
{
|
||||
compClass = typeof(CompMultiStrike);
|
||||
}
|
||||
}
|
||||
|
||||
public class CompMultiStrike : ThingComp
|
||||
{
|
||||
public CompProperties_MultiStrike Props => (CompProperties_MultiStrike)props;
|
||||
}
|
||||
}
|
||||
53
Source/WulaFallenEmpire/Verb/Verb_MeleeAttack_MultiStrike.cs
Normal file
53
Source/WulaFallenEmpire/Verb/Verb_MeleeAttack_MultiStrike.cs
Normal file
@@ -0,0 +1,53 @@
|
||||
using RimWorld;
|
||||
using Verse;
|
||||
|
||||
namespace WulaFallenEmpire
|
||||
{
|
||||
public class Verb_MeleeAttack_MultiStrike : Verb_MeleeAttack
|
||||
{
|
||||
private CompMultiStrike Comp
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.EquipmentSource?.GetComp<CompMultiStrike>();
|
||||
}
|
||||
}
|
||||
|
||||
protected override DamageWorker.DamageResult ApplyMeleeDamageToTarget(LocalTargetInfo target)
|
||||
{
|
||||
DamageWorker.DamageResult result = new DamageWorker.DamageResult();
|
||||
if (this.Comp != null && target.HasThing)
|
||||
{
|
||||
int strikes = this.Comp.Props.strikeCount.RandomInRange;
|
||||
for (int i = 0; i < strikes; i++)
|
||||
{
|
||||
if (target.ThingDestroyed)
|
||||
{
|
||||
break;
|
||||
}
|
||||
DamageInfo dinfo = new DamageInfo(this.verbProps.meleeDamageDef, this.verbProps.AdjustedMeleeDamageAmount(this, this.CasterPawn) * this.Comp.Props.damageMultiplierPerStrike, this.verbProps.AdjustedArmorPenetration(this, this.CasterPawn) * this.Comp.Props.damageMultiplierPerStrike, -1f, this.CasterPawn, null, this.EquipmentSource?.def);
|
||||
dinfo.SetTool(this.tool);
|
||||
DamageWorker.DamageResult damageResult = target.Thing.TakeDamage(dinfo);
|
||||
result.totalDamageDealt += damageResult.totalDamageDealt;
|
||||
result.wounded = (result.wounded || damageResult.wounded);
|
||||
result.stunned = (result.stunned || damageResult.stunned);
|
||||
if (damageResult.parts != null)
|
||||
{
|
||||
if (result.parts == null)
|
||||
{
|
||||
result.parts = new System.Collections.Generic.List<BodyPartRecord>();
|
||||
}
|
||||
result.parts.AddRange(damageResult.parts);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
DamageInfo dinfo2 = new DamageInfo(this.verbProps.meleeDamageDef, this.verbProps.AdjustedMeleeDamageAmount(this, this.CasterPawn), this.verbProps.AdjustedArmorPenetration(this, this.CasterPawn), -1f, this.CasterPawn, null, this.EquipmentSource?.def);
|
||||
dinfo2.SetTool(this.tool);
|
||||
result = target.Thing.TakeDamage(dinfo2);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -156,6 +156,8 @@
|
||||
<Compile Include="ThingDefOf_WULA.cs" />
|
||||
<Compile Include="StartupLogger.cs" />
|
||||
<Compile Include="WeaponSwitch.cs" />
|
||||
<Compile Include="Verb\CompMultiStrike.cs" />
|
||||
<Compile Include="Verb\Verb_MeleeAttack_MultiStrike.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- 自定义清理任务,删除obj文件夹中的临时文件 -->
|
||||
|
||||
Reference in New Issue
Block a user