"添加基础武器定义体系:创建抽象基类BANC_BaseWeapon及其派生类(含质量系统支持),新增SRT专属武器RABBIT-39式来福枪及对应子弹定义,包含完整属性、配方及图形配置"

This commit is contained in:
ProjectKoi-Kalo\Kalo 2025-06-05 14:05:22 +08:00
parent 1ebaf2b96c
commit ace9b730b1
2 changed files with 196 additions and 0 deletions

View File

@ -0,0 +1,122 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ThingDef Abstract="True" Name="BANC_BaseWeapon">
<thingClass>ThingWithComps</thingClass>
<category>Item</category>
<drawerType>MapMeshOnly</drawerType>
<drawGUIOverlay>true</drawGUIOverlay>
<altitudeLayer>Item</altitudeLayer>
<alwaysHaulable>true</alwaysHaulable>
<tickerType>Never</tickerType>
<equipmentType>Primary</equipmentType>
<useHitPoints>true</useHitPoints>
<pathCost>14</pathCost>
<selectable>true</selectable>
<statBases>
<MaxHitPoints>100</MaxHitPoints>
<Flammability>1.0</Flammability>
<DeteriorationRate>2</DeteriorationRate>
<Beauty>10</Beauty>
<SellPriceFactor>0.20</SellPriceFactor>
</statBases>
<thingCategories>
<li>BANC_Weapon</li>
</thingCategories>
<comps>
<li Class="CompProperties_Forbiddable"/>
<li>
<compClass>CompEquippable</compClass>
</li>
<li Class="CompProperties_Styleable"/>
</comps>
<tools>
<li>
<label>Gun Butt</label>
<capacities>
<li>Blunt</li>
</capacities>
<power>9</power>
<cooldownTime>2</cooldownTime>
</li>
<li>
<label>Gun Barrel</label>
<capacities>
<li>Blunt</li>
<li>Poke</li>
</capacities>
<power>9</power>
<cooldownTime>2</cooldownTime>
</li>
</tools>
<graphicData>
<onGroundRandomRotateAngle>35</onGroundRandomRotateAngle>
</graphicData>
<allowedArchonexusCount>1</allowedArchonexusCount>
</ThingDef>
<ThingDef Name="BANC_BaseGun" Abstract="True" ParentName="BANC_BaseWeapon">
<techLevel>Spacer</techLevel>
<smeltable>true</smeltable>
<relicChance>1</relicChance>
<thingCategories>
<li>WeaponsRanged</li>
</thingCategories>
<weaponClasses>
<li>Ranged</li>
</weaponClasses>
<inspectorTabs>
<li>ITab_Art</li>
</inspectorTabs>
<statBases>
<Flammability>0.5</Flammability>
</statBases>
</ThingDef>
<ThingDef Name="BANC_BaseGunWithQuality" Abstract="True" ParentName="BANC_BaseGun">
<comps>
<li>
<compClass>CompQuality</compClass>
</li>
</comps>
</ThingDef>
<ThingDef Name="BANC_BaseMakeableGun" ParentName="BANC_BaseGunWithQuality" Abstract="True">
<recipeMaker>
<workSpeedStat>GeneralLaborSpeed</workSpeedStat>
<workSkill>Crafting</workSkill>
<effectWorking>Smith</effectWorking>
<soundWorking>Recipe_Smith</soundWorking>
<recipeUsers>
<li>TableMachining</li>
</recipeUsers>
<unfinishedThingDef>UnfinishedGun</unfinishedThingDef>
<researchPrerequisite>Gunsmithing</researchPrerequisite>
</recipeMaker>
</ThingDef>
<ThingDef Name="BANC_BaseHumanMakeableGun" ParentName="BANC_BaseMakeableGun" Abstract="True">
<tradeTags Inherit="False"/>
<weaponTags Inherit="False"/>
<thingSetMakerTags Inherit="False"/>
<comps>
<li Class="CompProperties_Biocodable"/>
</comps>
</ThingDef>
<!-- Without Quality -->
<ThingDef Name="BANC_BaseMakeableGunWithNoQuality" ParentName="BANC_BaseGun" Abstract="True">
<recipeMaker>
<workSpeedStat>GeneralLaborSpeed</workSpeedStat>
<workSkill>Crafting</workSkill>
<effectWorking>Smith</effectWorking>
<soundWorking>Recipe_Smith</soundWorking>
<recipeUsers>
<li>TableMachining</li>
</recipeUsers>
<unfinishedThingDef>UnfinishedGun</unfinishedThingDef>
<researchPrerequisite>Gunsmithing</researchPrerequisite>
</recipeMaker>
</ThingDef>
</Defs>

View File

@ -0,0 +1,74 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!--美游-->
<ThingDef ParentName="BANC_BaseHumanMakeableGun">
<defName>BANC_Miyu</defName>
<label>RABBIT-39式来福枪</label>
<description>SRT特殊学园配给美游的制式狙击枪。\n\n它精密的做工、惊人的命中率令人称道。</description>
<graphicData>
<texPath>Things/Item/Equipment/WeaponRanged/AssaultRifle</texPath>
<!--<texPath>Weapon/Srt/Miyu</texPath>-->
<graphicClass>Graphic_Single</graphicClass>
<drawSize>1.05</drawSize>
</graphicData>
<weaponTags>
<li>BANC_Srt</li>
</weaponTags>
<equippedAngleOffset>45</equippedAngleOffset>
<soundInteract>Interact_Rifle</soundInteract>
<statBases>
<WorkToMake>80000</WorkToMake>
<Mass>3.5</Mass>
<AccuracyTouch>0.41</AccuracyTouch>
<AccuracyShort>0.68</AccuracyShort>
<AccuracyMedium>0.96</AccuracyMedium>
<AccuracyLong>0.99</AccuracyLong>
<RangedWeapon_Cooldown>3</RangedWeapon_Cooldown>
</statBases>
<equippedStatOffsets>
<SocialImpact>-0.35</SocialImpact>
</equippedStatOffsets>
<costList>
<Steel>800</Steel>
<ComponentIndustrial>10</ComponentIndustrial>
<Cloth>40</Cloth>
</costList>
<recipeMaker>
<!--<researchPrerequisite>BA_Weapon_SRT</researchPrerequisite>-->
<skillRequirements>
<Crafting>8</Crafting>
</skillRequirements>
<displayPriority>440</displayPriority>
</recipeMaker>
<verbs>
<li>
<verbClass>Verb_Shoot</verbClass>
<hasStandardCommand>true</hasStandardCommand>
<defaultProjectile>BANC_Bullet_Miyu</defaultProjectile>
<warmupTime>1.8</warmupTime>
<range>49</range>
<soundCast>Shot_BoltActionRifle</soundCast>
<soundCastTail>GunTail_Heavy</soundCastTail>
<muzzleFlashScale>9</muzzleFlashScale>
</li>
</verbs>
</ThingDef>
<ThingDef ParentName="BaseBullet">
<defName>BANC_Bullet_Miyu</defName>
<label>RABBIT-39式来福枪子弹</label>
<projectile>
<damageDef>Bullet</damageDef>
<damageAmountBase>29</damageAmountBase>
<stoppingPower>2</stoppingPower>
<armorPenetrationBase>0.3</armorPenetrationBase>
<speed>130</speed>
</projectile>
<graphicData>
<texPath>Things/Projectile/Bullet_big</texPath>
<!--<texPath>Projectile/Bullet_Miyu</texPath>-->
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
</ThingDef>
</Defs>