This commit is contained in:
2025-06-12 13:20:50 +08:00
parent a6237a22cd
commit eaefd72df8
66 changed files with 10093 additions and 1 deletions

View File

@@ -0,0 +1,83 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<AbilityDef>
<defName>DR_BattleStaffBurner</defName>
<label>BattleStaff burner</label>
<description>Use terra magic to create a massive cone of flame.</description>
<iconPath>UI/Abilities/Burner</iconPath>
<cooldownTicksRange>1800</cooldownTicksRange>
<aiCanUse>true</aiCanUse>
<ai_IsIncendiary>true</ai_IsIncendiary>
<warmupStartSound>FireSpew_Warmup</warmupStartSound>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<range>22.9</range>
<warmupTime>0.5</warmupTime>
<soundCast>FireSpew_Resolve</soundCast>
<targetParams>
<canTargetLocations>true</canTargetLocations>
</targetParams>
<flammabilityAttachFireChanceCurve>
<points>
<li>(0.2, 0)</li>
<li>(1, 1)</li>
</points>
</flammabilityAttachFireChanceCurve>
</verbProperties>
<comps>
<li Class="DragonianMix.CompProperties_AbilityDRM_FireSpew">
<range>22.9</range>
<lineWidthEnd>5</lineWidthEnd>
<filthDef>Filth_Ash</filthDef>
<damAmount>30</damAmount>
<damageDef>DRM_Flame</damageDef>
<canHitFilledCells>true</canHitFilledCells>
</li>
<li Class="CompProperties_AbilityBurner">
<numStreams>15</numStreams>
<range>24</range> <!-- go a bit further than the actual ability range, since it's meant to be a noisy effect -->
<coneSizeDegrees>12</coneSizeDegrees>
<moteDef>Mote_IncineratorBurst</moteDef>
<barrelOffsetDistance>6</barrelOffsetDistance>
<sizeReductionDistanceThreshold>8</sizeReductionDistanceThreshold>
<lifespanNoise>40</lifespanNoise>
<rangeNoise>.4</rangeNoise>
<effecterDef>BurnerUsed</effecterDef>
</li>
</comps>
</AbilityDef>
<AbilityDef>
<defName>DRM_Deaddustpop</defName>
<label>Deaddust Pop</label>
<description>Release a cloud of dust-like substance that will settle on nearby corpses and raise them as shamblers. The shamblers will only attack your enemies. Deadlife dust is made of nano-scale archites that penetrate and reanimate dead tissue at the cellular level.</description>
<iconPath>UI/Abilities/ReleaseDeadlifeDust</iconPath>
<cooldownTicksRange>60000</cooldownTicksRange>
<sendMessageOnCooldownComplete>true</sendMessageOnCooldownComplete>
<aiCanUse>true</aiCanUse>
<casterMustBeCapableOfViolence>false</casterMustBeCapableOfViolence>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<label>release deadlife dust</label>
<drawAimPie>true</drawAimPie>
<warmupTime>1</warmupTime>
<range>24.9</range>
<targetParams>
<canTargetPawns>False</canTargetPawns>
<canTargetLocations>True</canTargetLocations>
</targetParams>
<soundCast>DeadlifeRelease</soundCast>
</verbProperties>
<comps>
<li Class="DragonianMix.CompProperties_AbilityDRM_Deaddustpop">
<damageDef>Smoke</damageDef>
<smokeRadius>9</smokeRadius>
<gasType>DeadlifeDust</gasType>
<clamorType>Ability</clamorType>
<clamorRadius>20</clamorRadius>
</li>
</comps>
</AbilityDef>
</Defs>

View File

@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<AlienRace.AlienBackstoryDef ParentName="DragonianBackStory">
<defName>Dragonian_Necromancer</defName>
<title>Dragonian Necromancer</title>
<titleShort>Dragonian Necromancer</titleShort>
<baseDesc>[PAWN_nameDef] is Dragonian Necromancer.\nNot been identified,she is so mysterious that nobody knows she is live or dead.</baseDesc>
<slot>Adulthood</slot>
<forcedHediffs>
<li>DRM_SummonSickness</li>
</forcedHediffs>
<spawnCategories>
<li>Dragonian_Necromancer</li>
</spawnCategories>
<skillGains>
<Melee>8</Melee>
<Medicine>8</Medicine>
<Intellectual>8</Intellectual>
<Social>-16</Social>
</skillGains>
<forcedTraitsChance MayRequire="Ludeon.RimWorld.Anomaly">
<li>
<defName>Occultist</defName>
<chance>100</chance>
</li>
</forcedTraitsChance>
</AlienRace.AlienBackstoryDef>
</Defs>

View File

@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<HediffDef ParentName="AddedBodyPartBase">
<defName>NecroDragonianOrb</defName>
<label>Necro DragonianOrb</label>
<labelNoun>a Necro DragonianOrb.</labelNoun>
<description>An installed Necro DragonianOrb. Allow owner to spray deadlifedust.</description>
<priceImpact>false</priceImpact>
<abilities MayRequire="Ludeon.RimWorld.Anomaly">
<li>DRM_Deaddustpop</li>
</abilities>
<comps>
<li Class="DragonianMix.HediffCompProperties_DRMExplodeOnDeath">
<damageDef>Smoke</damageDef>
<gasType>DeadlifeDust</gasType>
<soundDef>Explosion_Stun</soundDef>
<explosionRadius>6</explosionRadius>
<destroyGear>false</destroyGear>
<destroyBody>false</destroyBody>
</li>
<li Class="HediffCompProperties_DisappearsOnDeath" />
</comps>
<addedPartProps>
<solid>true</solid>
</addedPartProps>
<spawnThingOnRemoved>NecroDragonianOrb</spawnThingOnRemoved>
</HediffDef>
<RecipeDef ParentName="SurgeryInstallBodyPartArtificialBase">
<defName>InstallNecroDragonianOrb</defName>
<label>install Necro DragonianOrb</label>
<description>Install Necro DragonianOrb.</description>
<descriptionHyperlinks>
<ThingDef>NecroDragonianOrb</ThingDef>
<HediffDef>NecroDragonianOrb</HediffDef>
</descriptionHyperlinks>
<jobString>Installing Necro DragonianOrb.</jobString>
<surgeryOutcomeEffect IsNull="True" />
<!-- Always succeeds -->
<ingredients>
<li>
<filter>
<thingDefs>
<li>NecroDragonianOrb</li>
</thingDefs>
</filter>
<count>1</count>
</li>
</ingredients>
<fixedIngredientFilter>
<thingDefs>
<li>NecroDragonianOrb</li>
</thingDefs>
</fixedIngredientFilter>
<appliedOnFixedBodyParts>
<li>DragonianOrb</li>
</appliedOnFixedBodyParts>
<addsHediff>NecroDragonianOrb</addsHediff>
</RecipeDef>
<ThingDef ParentName="BodyPartDROrbsBase">
<defName>NecroDragonianOrb</defName>
<label>Necro DragonianOrb</label>
<description>An Necro DragonianOrb. Allow owner to spray deadlifedust.</description>
<graphicData>
<texPath>Dragonian/Things/Item/Resource/Dorb_AP</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<techHediffsTags>
<li>NecroDragonianOrb</li>
</techHediffsTags>
<statBases>
<MarketValue>1000</MarketValue>
<Mass>0.3</Mass>
</statBases>
<thingSetMakerTags>
<li>RewardStandardCore</li>
</thingSetMakerTags>
</ThingDef>
</Defs>

View File

@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<PawnKindDef ParentName="DRMDragonianBasePawnKind">
<defName>Dragonian_Necro_Warrier</defName>
<label>Dragonian necro Warrier</label>
<labelPlural>Dragonian necro Warrier</labelPlural>
<combatPower>40</combatPower>
<isFighter>true</isFighter>
<itemQuality>Normal</itemQuality>
<weaponTags>
<li>DR_BattleStaff_Melee</li>
</weaponTags>
<weaponMoney>
<min>900</min>
<max>1500</max>
</weaponMoney>
<backstoryFiltersOverride>
<li>
<categoriesChildhood>
<li>Dragonian_spawnCategoriesA</li>
</categoriesChildhood>
<categoriesAdulthood>
<li>Dragonian_Necromancer</li>
</categoriesAdulthood>
</li>
</backstoryFiltersOverride>
<techHediffsMoney>600~5500</techHediffsMoney>
<techHediffsTags>
<li>DragonianOrbAdvanced</li>
</techHediffsTags>
<techHediffsRequired>
<li>NecroDragonianOrb</li>
</techHediffsRequired>
<inventoryOptions>
<skipChance>0.70</skipChance>
<subOptionsChooseOne>
<li>
<choiceChance>90</choiceChance>
<thingDef>Silver</thingDef>
<countRange>30~100</countRange>
</li>
</subOptionsChooseOne>
</inventoryOptions>
</PawnKindDef>
</Defs>

View File

@@ -0,0 +1,126 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!--<ThingDef ParentName="ApparelNoQualityBase">
<defName>DR_Apparel_PackNecro</defName>
<label>Necro pack</label>
<description>A reusable backpack containing canisters of reagents and a mechanism that uses them to generate deadlifedust.</description>
<graphicData>
<texPath>Things/Pawn/Humanlike/Apparel/ToxPack/ToxPack</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>(0.7,0.7)</drawSize>
</graphicData>
<tickerType>Normal</tickerType>
<techLevel>Industrial</techLevel>
<statBases>
<Mass>3</Mass>
<Flammability>0.6</Flammability>
<EquipDelay>2</EquipDelay>
<WorkToMake>3600</WorkToMake>
</statBases>
<thingCategories>
<li>ApparelUtility</li>
</thingCategories>
<costList>
<Bioferrite>75</Bioferrite>
<ComponentIndustrial>1</ComponentIndustrial>
</costList>
<recipeMaker>
<unfinishedThingDef>UnfinishedPack</unfinishedThingDef>
<researchPrerequisite>DeadlifeDust</researchPrerequisite>
<recipeUsers Inherit="false">
<li>BioferriteShaper</li>
</recipeUsers>
<useIngredientsForColor>false</useIngredientsForColor>
<workSpeedStat>GeneralLaborSpeed</workSpeedStat>
<workSkill>Crafting</workSkill>
<effectWorking>Smith</effectWorking>
<soundWorking>Recipe_Smith</soundWorking>
<skillRequirements>
<Crafting>4</Crafting>
</skillRequirements>
<displayPriority>350</displayPriority>
</recipeMaker>
<apparel>
<countsAsClothingForNudity>false</countsAsClothingForNudity>
<scoreOffset>4</scoreOffset>
<careIfWornByCorpse>false</careIfWornByCorpse>
<careIfDamaged>false</careIfDamaged>
<wearPerDay>0</wearPerDay>
<tags>
<li>BeltDefenseNecro</li>
</tags>
<bodyPartGroups>
<li>Waist</li>
</bodyPartGroups>
<layers>
<li>Belt</li>
</layers>
<wornGraphicPath>Things/Pawn/Humanlike/Apparel/ToxPack/ToxPack</wornGraphicPath>
<wornGraphicData>
<renderUtilityAsPack>true</renderUtilityAsPack>
<north>
<offset>(0,-0.15)</offset>
</north>
<south>
<offset>(0,-0.15)</offset>
</south>
<east>
<offset>(-0.35,-0.1)</offset>
<thin><offset>(0.05,0)</offset></thin>
<hulk><offset>(-0.15,0)</offset></hulk>
<fat> <offset>(-0.20,0)</offset></fat>
</east>
<west>
<offset>(0.35,-0.1)</offset>
<thin><offset>(-0.05,0)</offset></thin>
<hulk><offset>(0.15,0)</offset></hulk>
<fat> <offset>(0.20,0)</offset></fat>
</west>
<male> <scale>(0.6,0.6)</scale></male>
<female><scale>(0.6,0.6)</scale></female>
<thin> <scale>(0.6,0.6)</scale></thin>
<hulk> <scale>(0.75,0.75)</scale></hulk>
<fat> <scale>(0.75,0.75)</scale></fat>
</wornGraphicData>
</apparel>
<comps>
<li Class="CompProperties_ApparelReloadable">
<maxCharges>1</maxCharges>
<soundReload>Standard_Reload</soundReload>
<chargeNoun>necro pack</chargeNoun>
<displayGizmoWhileUndrafted>false</displayGizmoWhileUndrafted>
<ammoDef>Bioferrite</ammoDef>
<ammoCountToRefill>35</ammoCountToRefill>
<baseReloadTicks>60</baseReloadTicks>
<hotKey>Misc4</hotKey>
</li>
<li Class="CompProperties_ReleaseGas">
<gasType>DeadlifeDust</gasType>
<cellsToFill>55</cellsToFill>
<durationSeconds>12.75</durationSeconds>
<effecterReleasing>ToxGasReleasing</effecterReleasing>
</li>
<li Class="CompProperties_AIUSablePack">
<compClass>CompToxPack</compClass>
<checkInterval>60</checkInterval>
</li>
</comps>
<verbs>
<li>
<verbClass>Verb_DeployToxPack</verbClass>
<label>deploy necro pack</label>
<violent>false</violent>
<hasStandardCommand>true</hasStandardCommand>
<targetable>false</targetable>
<soundCast>GasPack_Deploy</soundCast>
<nonInterruptingSelfCast>true</nonInterruptingSelfCast>
</li>
</verbs>
<tradeTags>
<li>Clothing</li>
</tradeTags>
</ThingDef>-->
</Defs>

View File

@@ -0,0 +1,131 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ThingDef ParentName="BaseMeleeWeapon_Sharp_Quality">
<defName>DR_BattleStaff_Flare</defName>
<label>Dragonian Flare Staff</label>
<description>A Staff for Dragonian.Can Spray Fire shoot.</description>
<graphicData>
<texPath>Dragonian/Things/Weapon/staff</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>CutoutComplex</shaderType>
</graphicData>
<uiIconScale>1</uiIconScale>
<techLevel>Medieval</techLevel>
<statBases>
<WorkToMake>12000</WorkToMake>
<Mass>15</Mass>
<AccuracyTouch>0.60</AccuracyTouch>
<AccuracyShort>0.70</AccuracyShort>
<AccuracyMedium>0.65</AccuracyMedium>
<AccuracyLong>0.55</AccuracyLong>
<RangedWeapon_Cooldown>1.70</RangedWeapon_Cooldown>
</statBases>
<equippedAngleOffset>45</equippedAngleOffset>
<costStuffCount>80</costStuffCount>
<stuffCategories>
<li>Metallic</li>
</stuffCategories>
<costList>
<WoolDragonian>40</WoolDragonian>
<Steel>40</Steel>
<ComponentIndustrial>5</ComponentIndustrial>
</costList>
<recipeMaker>
<skillRequirements>
<Crafting>10</Crafting>
</skillRequirements>
<researchPrerequisites>
<li>DragonianMeleeWeapon</li>
<li>DragonianWandMagic</li>
</researchPrerequisites>
</recipeMaker>
<weaponTags>
<li>DR_BattleStaff_Ranged</li>
</weaponTags>
<thingCategories>
<li>WeaponsRanged</li>
</thingCategories>
<weaponClasses>
<li>Ranged</li>
</weaponClasses>
<verbs>
<li>
<verbClass>Verb_ArcSprayIncinerator</verbClass>
<hasStandardCommand>true</hasStandardCommand>
<warmupTime>0</warmupTime>
<range>22.9</range>
<beamFullWidthRange>1000</beamFullWidthRange>
<burstShotCount>10</burstShotCount>
<beamWidth>-1</beamWidth>
<requireLineOfSight>true</requireLineOfSight>
<ticksBetweenBurstShots>30</ticksBetweenBurstShots>
<beamDamageDef>DRM_Flame</beamDamageDef>
<!-- <soundCastTail>GunTail_Medium</soundCastTail> -->
<muzzleFlashScale>0</muzzleFlashScale>
<soundCastBeam>Flamethrower_Firing</soundCastBeam>
<beamGroundFleckDef>Fleck_IncineratorBeamBurn</beamGroundFleckDef>
<beamFleckChancePerTick>0.32</beamFleckChancePerTick>
<beamMaxDeviation>0</beamMaxDeviation>
<beamCurvature>0</beamCurvature>
<beamEndEffecterDef>IncineratorBeam_End</beamEndEffecterDef>
<beamChanceToStartFire>0.5</beamChanceToStartFire>
<beamFireSizeRange>0.55~0.85</beamFireSizeRange>
<beamHitsNeighborCells>true</beamHitsNeighborCells>
<beamChanceToAttachFire>0.5</beamChanceToAttachFire>
<beamStartOffset>0</beamStartOffset>
<highlightColor>(180, 60, 10)</highlightColor>
<secondaryHighlightColor>(220, 210, 20)</secondaryHighlightColor>
<beamSetsGroundOnFire>true</beamSetsGroundOnFire>
<targetParams>
<canTargetLocations>true</canTargetLocations>
</targetParams>
<flammabilityAttachFireChanceCurve>
<points>
<li>(0.6, 0)</li>
<li>(0.7, 0.2)</li>
<li>(1.2, 0.8)</li>
</points>
</flammabilityAttachFireChanceCurve>
<rangedFireRulepack>Combat_RangedFlamethrower</rangedFireRulepack>
</li>
</verbs>
<tools>
<li>
<label>handle</label>
<capacities>
<li>Poke</li>
</capacities>
<power>8</power>
<cooldownTime>2</cooldownTime>
</li>
<li>
<label>physical-magic</label>
<capacities>
<li>Blunt</li>
<li>Demolish</li>
</capacities>
<power>15</power>
<extraMeleeDamages>
<li>
<def>DRM_Flame</def>
<amount>30</amount>
<chance>1</chance>
</li>
<li>
<def>Stun</def>
<amount>1.5</amount>
<chance>0.25</chance>
</li>
</extraMeleeDamages>
<cooldownTime>5.2</cooldownTime>
</li>
</tools>
<equippedStatOffsets>
<PsychicSensitivityOffset MayRequire="Ludeon.Rimworld.Royalty">0.50</PsychicSensitivityOffset>
<PsychicEntropyRecoveryRate MayRequire="Ludeon.Rimworld.Royalty">0.083</PsychicEntropyRecoveryRate>
</equippedStatOffsets>
<meleeHitSound>DRHammerSound</meleeHitSound>
</ThingDef>
</Defs>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<DR_Apparel_PackNecro.label>死灵背包</DR_Apparel_PackNecro.label>
<DR_Apparel_PackNecro.description>一个装填有灵铁与火花塞的可重复装填的背包。能释放出将尸体复活的死灵粉尘。</DR_Apparel_PackNecro.description>
</LanguageData>