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,300 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<AbilityDef>
<defName>DR_FireBurst</defName>
<label>fire burst</label>
<description>Overdrive orbs cause explosion and set fire on ground.</description>
<jobDef>CastAbilityOnThingWithoutWeapon</jobDef>
<iconPath>UI/Abilities/FireBurst</iconPath>
<cooldownTicksRange>60000</cooldownTicksRange>
<sendMessageOnCooldownComplete>true</sendMessageOnCooldownComplete>
<aiCanUse>true</aiCanUse>
<ai_SearchAOEForTargets>true</ai_SearchAOEForTargets>
<targetRequired>false</targetRequired>
<showCastingProgressBar>true</showCastingProgressBar>
<displayGizmoWhileUndrafted>false</displayGizmoWhileUndrafted>
<disableGizmoWhileUndrafted>true</disableGizmoWhileUndrafted>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<warmupEffecter>Fire_Burst_Warmup</warmupEffecter>
<warmupTime>1.5</warmupTime>
<requireLineOfSight>false</requireLineOfSight>
<range>12</range>
<drawAimPie>false</drawAimPie>
<targetParams>
<canTargetSelf>true</canTargetSelf>
</targetParams>
</verbProperties>
<comps>
<li Class="DragonianMix.CompProperties_AbilityDRM_FireBurst">
<radius>12</radius>
<damageDef>DRM_Flame</damageDef>
<damageAmount>80</damageAmount>
<armorPenetration>0</armorPenetration>
</li>
</comps>
</AbilityDef>
<AbilityDef>
<defName>DRM_Toxgaspop</defName>
<label>ToxGas Pop</label>
<description>Release a cloud of Toxgas.</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>ToxGas</gasType>
<clamorType>Ability</clamorType>
<clamorRadius>20</clamorRadius>
</li>
</comps>
</AbilityDef>
<AbilityDef>
<defName>DRM_Feargaspop</defName>
<label>FearGas Pop</label>
<description>Release a cloud of Feargas.</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 Feargas</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>DRM_Feargas</damageDef>
<smokeRadius>9</smokeRadius>
<clamorType>Ability</clamorType>
<clamorRadius>20</clamorRadius>
<postExplosionSpawnThingDef>DRM_FearGasCloud</postExplosionSpawnThingDef> <!-- ARL_ToxicGasCloud -->
<postExplosionSpawnChance>1</postExplosionSpawnChance>
<postExplosionSpawnThingCount>1</postExplosionSpawnThingCount>
</li>
</comps>
</AbilityDef>
<AbilityDef>
<defName>DRM_LightingStrike</defName>
<label>LightingStrike</label>
<description>Summon a LightingStrike.</description>
<iconPath>UI/Abilities/Flashstorm</iconPath>
<cooldownTicksRange>1800</cooldownTicksRange>
<sendMessageOnCooldownComplete>true</sendMessageOnCooldownComplete>
<aiCanUse>true</aiCanUse>
<casterMustBeCapableOfViolence>false</casterMustBeCapableOfViolence>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<label>Summon LightingStrike</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_LightingStrike">
<explosionRadius>4.0</explosionRadius>
<damageDef>DRM_Arc</damageDef>
<damageAmount>45</damageAmount>
<armorPenetration>1.0</armorPenetration>
</li>
</comps>
</AbilityDef>
<AbilityDef>
<defName>DRM_LightningBombardment</defName>
<label>LightningStorm</label>
<description>Summon a LightningStorm.</description>
<iconPath>UI/Abilities/Flashstorm</iconPath>
<cooldownTicksRange>60000</cooldownTicksRange>
<sendMessageOnCooldownComplete>true</sendMessageOnCooldownComplete>
<aiCanUse>true</aiCanUse>
<casterMustBeCapableOfViolence>false</casterMustBeCapableOfViolence>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<label>Summon LightningStorm</label>
<drawAimPie>true</drawAimPie>
<warmupTime>1</warmupTime>
<range>29.9</range>
<targetParams>
<canTargetPawns>False</canTargetPawns>
<canTargetLocations>True</canTargetLocations>
</targetParams>
<soundCast>DeadlifeRelease</soundCast>
</verbProperties>
<comps>
<li Class="DragonianMix.CompProperties_AbilityDRM_LightningBombardment">
<impactAreaRadius>12</impactAreaRadius>
<explosionRadiusRange>3~4</explosionRadiusRange>
<bombIntervalTicks>30</bombIntervalTicks>
<explosionCount>20</explosionCount>
<damageDef>DRM_Arc</damageDef>
<damageAmount>45</damageAmount>
<armorPenetration>1.0</armorPenetration>
</li>
</comps>
</AbilityDef>
<AbilityDef>
<defName>DRM_Acidgaspop</defName>
<label>AcidGas Pop</label>
<description>Release a cloud of Acidgas.</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 Acidgas</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>DRM_AcidCover</damageDef>
<damageAmount>25</damageAmount>
<armorPenetration>0.5</armorPenetration>
<smokeRadius>9</smokeRadius>
<clamorType>Ability</clamorType>
<clamorRadius>20</clamorRadius>
<postExplosionSpawnThingDef>DRM_AcidGasCloud</postExplosionSpawnThingDef> <!-- ARL_ToxicGasCloud -->
<postExplosionSpawnChance>1</postExplosionSpawnChance>
<postExplosionSpawnThingCount>1</postExplosionSpawnThingCount>
</li>
</comps>
</AbilityDef>
<AbilityDef>
<defName>DRM_AcidSpray</defName>
<label>acid spray</label>
<description>Spray a sticky acid substance from glands in the neck up through the mouth and all over the target area. The acid will stick to targets and burn them.</description>
<iconPath>UI/Abilities/AcidSpray</iconPath>
<cooldownTicksRange>1800</cooldownTicksRange>
<aiCanUse>true</aiCanUse>
<displayOrder>300</displayOrder>
<category>Sanguophage</category>
<sendMessageOnCooldownComplete>true</sendMessageOnCooldownComplete>
<warmupStartSound>AcidSpray_Warmup</warmupStartSound>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<range>22.5</range>
<warmupTime>0.5</warmupTime>
<soundCast>AcidSpray_Resolve</soundCast>
<targetParams>
<canTargetLocations>true</canTargetLocations>
</targetParams>
</verbProperties>
<comps>
<li Class="CompProperties_AbilitySprayLiquid">
<projectileDef>Proj_Acid</projectileDef>
<numCellsToHit>25</numCellsToHit>
<sprayEffecter>AcidSpray_Directional</sprayEffecter>
</li>
</comps>
</AbilityDef>
<ThingDef>
<defName>Proj_Acid</defName>
<label>acid</label>
<thingClass>Projectile_Liquid</thingClass>
<category>Projectile</category>
<tickerType>Normal</tickerType>
<altitudeLayer>Projectile</altitudeLayer>
<useHitPoints>False</useHitPoints>
<neverMultiSelect>True</neverMultiSelect>
<graphicData>
<texPath>Things/Projectile/Acid</texPath>
<graphicClass>Graphic_Random</graphicClass>
<shaderType>MoteGlow</shaderType>
<drawSize>0.85</drawSize>
</graphicData>
<projectile>
<damageDef>DRM_AcidCover</damageDef>
<speed>25</speed>
<damageAmountBase>30</damageAmountBase>
<arcHeightFactor>0.4</arcHeightFactor>
<armorPenetrationBase>0.8</armorPenetrationBase>
<stoppingPower>1</stoppingPower>
<shadowSize>0</shadowSize>
<filth>Filth_SpentAcid</filth>
<filthCount>1</filthCount>
</projectile>
</ThingDef>
<AbilityDef>
<defName>DRM_Frostcloudpop</defName>
<label>FrostCloud Pop</label>
<description>Release a cloud of Frozen ice.</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 FrostCloud</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>DRM_Damage_FrostCoverd</damageDef>
<damageAmount>20</damageAmount>
<armorPenetration>0.5</armorPenetration>
<smokeRadius>6</smokeRadius>
<clamorType>Ability</clamorType>
<clamorRadius>20</clamorRadius>
<postExplosionSpawnThingDef>DRM_FrostGasCloud_Ex</postExplosionSpawnThingDef> <!-- ARL_ToxicGasCloud -->
<postExplosionSpawnChance>1</postExplosionSpawnChance>
<postExplosionSpawnThingCount>1</postExplosionSpawnThingCount>
</li>
</comps>
</AbilityDef>
</Defs>

View File

@@ -0,0 +1,170 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!--
<HediffDef>
<defName>DRM_FearGasExposure</defName>
<label>Fear gas</label>
<description>Aftereffects of exposure to tox gas, a poisonous chemical gas. It burns the lungs and eyes, causing a temporary shortness of breath and reduction in sight. Continued exposure to tox gas results in toxic buildup and eventually death.</description>
<hediffClass>HediffWithComps</hediffClass>
<maxSeverity>3</maxSeverity>
<initialSeverity>1</initialSeverity>
<canApplyDodChanceForCapacityChanges>true</canApplyDodChanceForCapacityChanges>
<defaultLabelColor>(0.6, 0, 1)</defaultLabelColor>
<stages>
<li>
<label>mild</label>
<minSeverity>1</minSeverity>
<painOffset>0.1</painOffset>
<capMods>
<li>
<capacity>Sight</capacity>
<offset>-0.1</offset>
</li>
<li>
<capacity>Breathing</capacity>
<offset>-0.15</offset>
</li>
</capMods>
</li>
<li>
<label>moderate</label>
<minSeverity>2</minSeverity>
<painOffset>0.15</painOffset>
<capMods>
<li>
<capacity>Sight</capacity>
<offset>-0.25</offset>
</li>
<li>
<capacity>Breathing</capacity>
<offset>-0.30</offset>
</li>
</capMods>
</li>
<li>
<label>severe</label>
<minSeverity>3</minSeverity>
<painOffset>0.25</painOffset>
<capMods>
<li>
<capacity>Sight</capacity>
<offset>-0.40</offset>
</li>
<li>
<capacity>Breathing</capacity>
<offset>-0.60</offset>
</li>
</capMods>
</li>
</stages>
<comps>
<li Class="HediffCompProperties_SeverityFromGasDensityDirect">
<gasType>ToxGas</gasType>
<densityStages>
<li>0.2</li>
<li>0.5</li>
<li>1</li>
</densityStages>
</li>
</comps>
</HediffDef>
-->
<HediffDef ParentName="AddedBodyPartBase">
<defName>ToxicDragonianOrb</defName>
<label>Toxic DragonianOrb</label>
<labelNoun>a Toxic DragonianOrb.</labelNoun>
<description>An installed Toxic DragonianOrb. Allow owner to spray Toxgas.</description>
<priceImpact>false</priceImpact>
<abilities MayRequire="Ludeon.RimWorld.Biotech">
<li>DRM_Toxgaspop</li>
</abilities>
<comps>
<li Class="DragonianMix.HediffCompProperties_DRMExplodeOnDeath">
<damageDef>Smoke</damageDef>
<soundDef>Explosion_Stun</soundDef>
<explosionRadius>6</explosionRadius>
<gasType>ToxGas</gasType>
<destroyGear>false</destroyGear>
<destroyBody>false</destroyBody>
</li>
</comps>
<addedPartProps>
<solid>true</solid>
</addedPartProps>
<modExtensions>
<li Class="DragonianMix.ProphecyGearEffect">
<enableHediffEffect>false</enableHediffEffect>
<extraDamageFactor>0.2</extraDamageFactor>
<extraDamageType>ScratchToxic</extraDamageType>
<armorPenetration>0.1</armorPenetration>
</li>
</modExtensions>
<spawnThingOnRemoved>ToxicDragonianOrb</spawnThingOnRemoved>
</HediffDef>
<RecipeDef ParentName="SurgeryInstallBodyPartArtificialBase">
<defName>InstallToxicDragonianOrb</defName>
<label>install Toxic DragonianOrb</label>
<description>Install Toxic DragonianOrb.</description>
<descriptionHyperlinks>
<ThingDef>ToxicDragonianOrb</ThingDef>
<HediffDef>ToxicDragonianOrb</HediffDef>
</descriptionHyperlinks>
<jobString>Installing Toxic DragonianOrb.</jobString>
<surgeryOutcomeEffect IsNull="True" />
<!-- Always succeeds -->
<ingredients>
<li>
<filter>
<thingDefs>
<li>ToxicDragonianOrb</li>
</thingDefs>
</filter>
<count>1</count>
</li>
</ingredients>
<fixedIngredientFilter>
<thingDefs>
<li>ToxicDragonianOrb</li>
</thingDefs>
</fixedIngredientFilter>
<appliedOnFixedBodyParts>
<li>DragonianOrb</li>
</appliedOnFixedBodyParts>
<addsHediff>ToxicDragonianOrb</addsHediff>
</RecipeDef>
<ThingDef ParentName="BodyPartDROrbsBase">
<defName>ToxicDragonianOrb</defName>
<label>Toxic DragonianOrb</label>
<description>An Toxic DragonianOrb. Allow owner to spray Toxgas.</description>
<graphicData>
<texPath>Dragonian/Things/Item/Resource/Dorb_heal</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<techHediffsTags>
<li>ToxicDragonianOrb</li>
<li>DragonianOrbAdvanced</li>
</techHediffsTags>
<statBases>
<MarketValue>1000</MarketValue>
<Mass>0.3</Mass>
</statBases>
<modExtensions>
<li Class="DragonianMix.ProphecyGearEffect">
<enableHediffEffect>false</enableHediffEffect>
<extraDamageFactor>0.2</extraDamageFactor>
<extraDamageType>ScratchToxic</extraDamageType>
<armorPenetration>0.1</armorPenetration>
</li>
</modExtensions>
<thingSetMakerTags>
<li>RewardStandardCore</li>
</thingSetMakerTags>
</ThingDef>
</Defs>

View File

@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ThingDef ParentName="BaseMeleeWeapon_Sharp_Quality">
<defName>DR_BattleStaff_Beam</defName>
<label>Dragonian Beam Staff</label>
<description>A Staff for Dragonian.Can Shoot Frozen Beam.</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_ShootBeam</verbClass>
<hasStandardCommand>true</hasStandardCommand>
<warmupTime>0</warmupTime>
<range>29.9</range>
<beamFullWidthRange>1000</beamFullWidthRange>
<burstShotCount>10</burstShotCount>
<beamWidth>-1</beamWidth>
<ticksBetweenBurstShots>30</ticksBetweenBurstShots>
<beamDamageDef>DRM_Damage_FrostCoverd_after</beamDamageDef>
<!-- <soundCastTail>GunTail_Medium</soundCastTail> -->
<muzzleFlashScale>0</muzzleFlashScale>
<soundCastBeam>BeamGraser_Shooting</soundCastBeam>
<beamGroundFleckDef>Fleck_BeamBurn</beamGroundFleckDef>
<beamFleckChancePerTick>0.32</beamFleckChancePerTick>
<beamMaxDeviation>0</beamMaxDeviation>
<beamCurvature>0</beamCurvature>
<beamMoteDef>Mote_GraserBeamBase</beamMoteDef>
<beamEndEffecterDef>GraserBeam_End</beamEndEffecterDef>
<beamChanceToStartFire>0</beamChanceToStartFire>
<beamChanceToAttachFire>0</beamChanceToAttachFire>
<beamFireSizeRange>0</beamFireSizeRange>
<beamStartOffset>0</beamStartOffset>
<beamHitsNeighborCells>true</beamHitsNeighborCells>
<beamLineFleckChanceCurve>
<points>
<li>(0, 0)</li>
<li>(0.65, 0.4)</li>
<li>(1, 0.75)</li>
</points>
</beamLineFleckChanceCurve>
</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_Damage_FrostCoverd_after</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>