├── .gitattributes ├── .gitignore ├── .vs └── slnx.sqlite ├── 1.0 ├── Assemblies │ ├── 0Harmony.dll │ ├── 0JecsTools.dll │ ├── AbilityUser.dll │ ├── AbilityUserAI.dll │ ├── CompActivatableEffect.dll │ ├── CompAnimated.dll │ ├── CompBalloon.dll │ ├── CompBigBox.dll │ ├── CompDeflector.dll │ ├── CompDelayedSpawner.dll │ ├── CompExtraSounds.dll │ ├── CompInstalledPart.dll │ ├── CompLumbering.dll │ ├── CompOverlays.dll │ ├── CompOversizedWeapon.dll │ ├── CompSlotLoadable.dll │ ├── CompToggleDef.dll │ ├── CompVehicle.dll │ ├── PawnShields.dll │ └── ThinkNodes.dll └── Defs │ ├── AbilityDefs │ └── Abilities_Base.xml │ ├── DamageDefs │ └── AbilityUser_Damages.xml │ ├── JobDefs │ ├── AbilityUser_Jobs.xml │ ├── CompDeflector_Jobs.xml │ ├── CompInstalledPart_Jobs.xml │ ├── CompSlotLoadable_Jobs.xml │ └── CompVehicle_Jobs.xml │ ├── PawnShields │ └── Shields.xml │ ├── RulePackDefs │ ├── JT_DeflectionRules.xml │ └── JT_GrappleRules.xml │ ├── Stats │ └── CompDeflection_StatWorkers.xml │ ├── ThingDefs_Projectiles │ └── JT_Projectiles.xml │ ├── ThingDefs_Slots │ └── CompSlotLoadable_Slots.xml │ ├── ThingDefs_WeaponMelee │ └── CompSlotLoadable_ThingDefExample │ ├── ThinkTreeDefs │ ├── CompVehicles_ThinkTree.xml │ └── InsertHook_AbilityUserAI.xml │ └── WorldObjectDefs │ └── WorldObjects.xml ├── About ├── About.xml ├── Changelog.txt ├── Description.txt ├── DiscordURL.txt ├── LudeonURL.txt ├── Manifest.xml ├── PatreonURL.txt ├── Preview.png ├── PublishedFileId.txt └── Version.txt ├── Assemblies ├── 0Harmony.dll ├── 0JecsTools.dll ├── AbilityUser.dll ├── AbilityUserAI.dll ├── CompActivatableEffect.dll ├── CompAnimated.dll ├── CompBalloon.dll ├── CompBigBox.dll ├── CompDeflector.dll ├── CompDelayedSpawner.dll ├── CompExtraSounds.dll ├── CompInstalledPart.dll ├── CompLumbering.dll ├── CompOverlays.dll ├── CompOversizedWeapon.dll ├── CompSlotLoadable.dll ├── CompToggleDef.dll ├── CompVehicle.dll ├── PawnShields.dll └── ThinkNodes.dll ├── Defs ├── AbilityDefs │ └── Abilities_Base.xml ├── DamageDefs │ └── AbilityUser_Damages.xml ├── JobDefs │ ├── AbilityUser_Jobs.xml │ ├── CompDeflector_Jobs.xml │ ├── CompInstalledPart_Jobs.xml │ ├── CompSlotLoadable_Jobs.xml │ └── CompVehicle_Jobs.xml ├── PawnShields │ └── Shields.xml ├── RulePackDefs │ ├── JT_DeflectionRules.xml │ └── JT_GrappleRules.xml ├── Stats │ └── CompDeflection_StatWorkers.xml ├── ThingDefs_Projectiles │ └── JT_Projectiles.xml ├── ThingDefs_Slots │ └── CompSlotLoadable_Slots.xml ├── ThingDefs_WeaponMelee │ └── CompSlotLoadable_ThingDefExample ├── ThinkTreeDefs │ ├── CompVehicles_ThinkTree.xml │ └── InsertHook_AbilityUserAI.xml └── WorldObjectDefs │ └── WorldObjects.xml ├── LICENSE ├── Languages ├── ChineseSimplified │ ├── DefInjected │ │ ├── DamageDef │ │ │ └── AbilityUser_Damages.xml │ │ ├── JobDef │ │ │ ├── AbilityUser_Jobs.xml │ │ │ ├── CompDeflector_Jobs.xml │ │ │ ├── CompInstalledPart_Jobs.xml │ │ │ ├── CompSlotLoadable_Jobs.xml │ │ │ └── CompVehicle_Jobs.xml │ │ ├── RecipeDef │ │ │ └── Recipes_Add_Make.xml │ │ ├── StatDef │ │ │ └── CompDeflection_StatWorkers.xml │ │ ├── ThingDef │ │ │ ├── CompSlotLoadable_Slots.xml │ │ │ └── CompSlotLoadable_ThingDefExample.xml │ │ └── WorldObjectDef │ │ │ └── WorldObjects.xml │ └── Keyed │ │ ├── AbilityUser.xml │ │ ├── CompActivatableEffect.xml │ │ ├── CompDeflector.xml │ │ ├── CompInstalledPart.xml │ │ ├── CompVehicle.xml │ │ └── Eng_WorldObjectMods.xml ├── English │ └── Keyed │ │ ├── AbilityUser.xml │ │ ├── CompActivatableEffect.xml │ │ ├── CompDeflector.xml │ │ ├── CompInstalledPart.xml │ │ ├── CompVehicle.xml │ │ ├── Eng_WorldObjectMods.xml │ │ ├── Grapple.xml │ │ └── Misc.xml ├── French │ └── Keyed │ │ ├── AbilityUser.xml │ │ ├── CompActivatableEffect.xml │ │ ├── CompDeflector.xml │ │ ├── CompInstalledPart.xml │ │ ├── CompVehicle.xml │ │ └── Eng_WorldObjectMods.xml ├── Japanese │ ├── DefInjected │ │ ├── DamageDef │ │ │ └── AbilityUser_Damages.xml │ │ ├── HediffDef │ │ │ └── Shields.xml │ │ ├── JobDef │ │ │ ├── AbilityUser_Jobs.xml │ │ │ ├── CompDeflector_Jobs.xml │ │ │ ├── CompInstalledPart_Jobs.xml │ │ │ ├── CompSlotLoadable_Jobs.xml │ │ │ └── CompVehicle_Jobs.xml │ │ ├── RulePackDef │ │ │ └── JT_GrappleRules.xml │ │ ├── StatCategoryDef │ │ │ └── Shields.xml │ │ ├── StatDef │ │ │ ├── CompDeflection_StatWorkers.xml │ │ │ └── Shields.xml │ │ ├── ThingDef │ │ │ ├── CompSlotLoadable_Slots.xml │ │ │ └── JT_Projectiles.xml │ │ └── WorldObjectDef │ │ │ └── WorldObjects.xml │ ├── Keyed │ │ ├── AbilityUser.xml │ │ ├── CompActivatableEffect.xml │ │ ├── CompDeflector.xml │ │ ├── CompInstalledPart.xml │ │ ├── CompVehicle.xml │ │ ├── Eng_WorldObjectMods.xml │ │ ├── Grapple.xml │ │ └── Misc.xml │ └── LanguageInfo.xml ├── Spanish │ ├── DefInjected │ │ ├── DamageDef │ │ │ └── AbilityUser_Damages.xml │ │ └── JobDef │ │ │ └── AbilityUser_Jobs.xml │ └── Keyed │ │ └── AbilityUser.xml └── SpanishLatin │ ├── DefInjected │ ├── DamageDef │ │ └── AbilityUser_Damages.xml │ ├── JobDef │ │ ├── AbilityUser_Jobs.xml │ │ ├── CompDeflector_Jobs.xml │ │ ├── CompInstalledPart_Jobs.xml │ │ ├── CompSlotLoadable_Jobs.xml │ │ └── CompVehicle_Jobs.xml │ ├── RulePackDef │ │ └── JT_GrappleRules.xml │ ├── StatDef │ │ └── CompDeflection_StatWorkers.xml │ ├── ThingDef │ │ ├── CompSlotLoadable_Slots.xml │ │ └── JT_Projectiles.xml │ └── WorldObjectDef │ │ └── WorldObjects.xml │ └── Keyed │ ├── AbilityUser.xml │ ├── CompActivatableEffect.xml │ ├── CompDeflector.xml │ ├── CompInstalledPart.xml │ ├── CompVehicle.xml │ ├── Eng_WorldObjectMods.xml │ ├── Grapple.xml │ └── Misc.xml ├── LoadFolders.xml ├── README.md ├── RimworldModReleaseTool.exe ├── Source ├── .idea │ └── .idea.JecsTools │ │ ├── .idea │ │ ├── .name │ │ ├── contentModel.xml │ │ ├── indexLayout.xml │ │ ├── modules.xml │ │ ├── vcs.xml │ │ └── workspace.xml │ │ └── riderModule.iml ├── .vs │ ├── AbilityUser │ │ └── v15 │ │ │ └── .suo │ ├── CompActivatableEffect │ │ └── v15 │ │ │ └── .suo │ ├── CompDeflector │ │ └── v15 │ │ │ └── .suo │ ├── JecsTools │ │ └── v15 │ │ │ ├── .suo │ │ │ └── Server │ │ │ └── sqlite3 │ │ │ ├── db.lock │ │ │ ├── storage.ide │ │ │ ├── storage.ide-shm │ │ │ └── storage.ide-wal │ └── config │ │ └── applicationhost.config ├── AllModdingComponents │ ├── .idea │ │ └── .idea.PawnShields │ │ │ ├── .idea │ │ │ ├── .name │ │ │ ├── contentModel.xml │ │ │ ├── indexLayout.xml │ │ │ ├── modules.xml │ │ │ └── workspace.xml │ │ │ └── riderModule.iml │ ├── .vs │ │ ├── CompAbilityUser │ │ │ └── v15 │ │ │ │ └── .suo │ │ ├── CompAnimated │ │ │ └── v15 │ │ │ │ └── .suo │ │ ├── CompDelayedSpawner │ │ │ └── v15 │ │ │ │ └── .suo │ │ ├── CompExtraSounds │ │ │ └── v15 │ │ │ │ └── .suo │ │ ├── CompInstalledPart │ │ │ └── v15 │ │ │ │ └── .suo │ │ ├── CompLumbering │ │ │ └── v15 │ │ │ │ └── .suo │ │ ├── CompOverlays │ │ │ └── v15 │ │ │ │ └── .suo │ │ ├── CompOversizedWeapon │ │ │ └── v15 │ │ │ │ └── .suo │ │ ├── CompPilotable │ │ │ └── v15 │ │ │ │ └── .suo │ │ ├── CompToggleDef │ │ │ └── v15 │ │ │ │ └── .suo │ │ ├── CompVehicle │ │ │ └── v15 │ │ │ │ └── .suo │ │ ├── JecsTools │ │ │ └── v15 │ │ │ │ └── .suo │ │ └── PawnShields │ │ │ └── v15 │ │ │ └── .suo │ ├── AbilityUserAI.sln │ ├── AbilityUserAI │ │ ├── AI │ │ │ ├── AbilityDecision │ │ │ │ ├── AbilityDecisionConditionalNode_CasterHealth.cs │ │ │ │ ├── AbilityDecisionConditionalNode_EnemyTargetCover.cs │ │ │ │ ├── AbilityDecisionConditionalNode_EnemyTargetDistance.cs │ │ │ │ ├── AbilityDecisionConditionalNode_EnemyTargetIsArmed.cs │ │ │ │ ├── AbilityDecisionConditionalNode_HasEnemyTarget.cs │ │ │ │ ├── AbilityDecisionConditionalNode_InCombat.cs │ │ │ │ ├── AbilityDecisionConditionalNode_UsingMeleeWeapon.cs │ │ │ │ ├── AbilityDecisionConditionalNode_UsingRangedWeapon.cs │ │ │ │ ├── AbilityDecisionNode.cs │ │ │ │ └── AbilityDecisionNode_PickAbilityWithMatchingTags.cs │ │ │ ├── JobGiver_AIAbilityUser.cs │ │ │ └── TagWeight.cs │ │ ├── AIDefOf.cs │ │ ├── AbilityUserAI.csproj │ │ ├── Defs │ │ │ ├── AbilityAIDef.cs │ │ │ └── AbilityUserAIProfileDef.cs │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ ├── Utility │ │ │ ├── AbilityMaths.cs │ │ │ └── AbilityUtility.cs │ │ └── Workers │ │ │ ├── AbilityProfileWorker.cs │ │ │ ├── AbilityWorker.cs │ │ │ ├── AbilityWorker_AreaOfEffect.cs │ │ │ └── AbilityWorker_HealAlly.cs │ ├── CompAbilityUser.sln │ ├── CompAbilityUser │ │ ├── .vs │ │ │ └── AbilityUser │ │ │ │ ├── v14 │ │ │ │ └── .suo │ │ │ │ └── v15 │ │ │ │ └── .suo │ │ ├── AbilityButtons.cs │ │ ├── AbilityDefOf.cs │ │ ├── AbilityPowerManager.cs │ │ ├── AbilityUserUtility.cs │ │ ├── AoEProperties.cs │ │ ├── ApplyHediffs.cs │ │ ├── ApplyMentalStates.cs │ │ ├── CompAbilityItem.cs │ │ ├── CompAbilityUser.csproj │ │ ├── CompProperties_AbilityItem.cs │ │ ├── CompProperties_AbilityUser.cs │ │ ├── Controller │ │ │ ├── AbilityContext.cs │ │ │ ├── AbilityEffectUtility.cs │ │ │ ├── JobDriver_CastAbilitySelf.cs │ │ │ ├── JobDriver_CastAbilityVerb.cs │ │ │ ├── PawnAbility.cs │ │ │ ├── Projectile_Ability.cs │ │ │ ├── Projectile_AbilityBase.cs │ │ │ ├── Projectile_AbilityLaser.cs │ │ │ ├── Verb_UseAbility.cs │ │ │ └── Verb_UseAbility_TrueBurst.cs │ │ ├── ExtraDamage.cs │ │ ├── FlyingObject.cs │ │ ├── FlyingObject_Equipable.cs │ │ ├── Model │ │ │ ├── AbilityData.cs │ │ │ ├── AbilityDef.cs │ │ │ ├── CompAbilityUser.cs │ │ │ └── VerbProperties_Ability.cs │ │ ├── PassiveEffectProperties.cs │ │ ├── PassiveEffectWorker.cs │ │ ├── PawnAbilityTargetCategory.cs │ │ ├── PawnSummoned.cs │ │ ├── ProjectileDef_Ability.cs │ │ ├── ProjectileDef_LaserProjectile.cs │ │ ├── Projectile_AbilityAoE.cs │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ ├── SpawnThings.cs │ │ ├── StringsToTranslate.cs │ │ ├── View │ │ │ └── Command_PawnAbility.cs │ │ ├── _HarmonyPatches.cs │ │ └── bin │ │ │ └── Release │ │ │ └── 0Harmony.dll │ ├── CompActivatableEffect.sln │ ├── CompActivatableEffect │ │ ├── .vs │ │ │ └── CompActivatableEffect │ │ │ │ ├── v14 │ │ │ │ └── .suo │ │ │ │ └── v15 │ │ │ │ └── .suo │ │ ├── CompActivatableEffect.cs │ │ ├── CompActivatableEffect.csproj │ │ ├── CompProperties_ActivatableEffect.cs │ │ ├── HarmonyCompActivatableEffect.cs │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ └── xml │ │ │ └── CompActivatableEffect.xml │ ├── CompAnimated.sln │ ├── CompAnimated │ │ ├── CompAnimated.cs │ │ ├── CompAnimated.csproj │ │ ├── CompAnimatedOver.cs │ │ ├── CompProperties_Animated.cs │ │ ├── CompProperties_AnimatedOver.cs │ │ ├── HarmonyCompLumbering.cs │ │ └── Properties │ │ │ └── AssemblyInfo.cs │ ├── CompBalloon.sln │ ├── CompBalloon │ │ ├── CompBalloon.cs │ │ ├── CompBalloon.csproj │ │ ├── CompProperties_Balloon.cs │ │ ├── HarmonyCompBalloon.cs │ │ └── Properties │ │ │ └── AssemblyInfo.cs │ ├── CompBigBox.sln │ ├── CompBigBox │ │ ├── DefModExtension_BigBox.cs │ │ ├── DefModExtension_BigBox.csproj │ │ ├── HitBoxHolder.cs │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ └── _HarmonyCompBigBox.cs │ ├── CompDeflector.sln │ ├── CompDeflector │ │ ├── .vs │ │ │ └── CompDeflector │ │ │ │ └── v14 │ │ │ │ └── .suo │ │ ├── CompDeflector.cs │ │ ├── CompDeflector.csproj │ │ ├── CompDeflectorDefOf.cs │ │ ├── CompProperties_Deflector.cs │ │ ├── HarmonyCompDeflector.cs │ │ ├── JobDriver_CastDeflectVerb.cs │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ ├── StatWorker_DeflectionChance.cs │ │ └── Verb_Deflected.cs │ ├── CompDelayedSpawner.sln │ ├── CompDelayedSpawner │ │ ├── .vs │ │ │ ├── AbilityUser │ │ │ │ ├── v14 │ │ │ │ │ └── .suo │ │ │ │ └── v15 │ │ │ │ │ └── .suo │ │ │ ├── CompAbilityUser │ │ │ │ └── v15 │ │ │ │ │ └── .suo │ │ │ └── CompDelayedSpawner │ │ │ │ └── v15 │ │ │ │ └── .suo │ │ ├── AbilityPowerManager.cs │ │ ├── CompDelayedSpawner.cs │ │ ├── CompDelayedSpawner.csproj │ │ ├── CompProperties_DelayedSpawner.cs │ │ ├── Projectile_AbilityAoE.cs │ │ └── Properties │ │ │ └── AssemblyInfo.cs │ ├── CompExtraSounds.sln │ ├── CompExtraSounds │ │ ├── CompExtraSounds.cs │ │ ├── CompExtraSounds.csproj │ │ ├── CompProperties_ExtraSounds.cs │ │ ├── DefModExtension_ExtraSounds.cs │ │ ├── HarmonyCompExtraSounds.cs │ │ └── Properties │ │ │ └── AssemblyInfo.cs │ ├── CompInstalledPart.sln │ ├── CompInstalledPart │ │ ├── .vs │ │ │ └── CompInstalledPart │ │ │ │ └── v15 │ │ │ │ └── .suo │ │ ├── CompInstalledPart.cs │ │ ├── CompInstalledPart.csproj │ │ ├── CompProperties_InstalledPart.cs │ │ ├── HarmonyCompInstalledPart.cs │ │ ├── InstalledPartFloatMenuPatch.cs │ │ ├── JobDriver_InstallPart.cs │ │ ├── JobDriver_UninstallPart.cs │ │ └── Properties │ │ │ └── AssemblyInfo.cs │ ├── CompLumbering.sln │ ├── CompLumbering │ │ ├── CompLumbering.cs │ │ ├── CompLumbering.csproj │ │ ├── CompProperties_Lumbering.cs │ │ ├── HarmonyCompLumbering.cs │ │ └── Properties │ │ │ └── AssemblyInfo.cs │ ├── CompOverlays.sln │ ├── CompOverlays │ │ ├── .vs │ │ │ └── CompExtraSounds │ │ │ │ └── v15 │ │ │ │ └── .suo │ │ ├── CompOverlays.cs │ │ ├── CompOverlays.csproj │ │ ├── CompProperties_Overlays.cs │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ └── bin │ │ │ └── Release │ │ │ └── CompOverlays.dll │ ├── CompOversizedWeapon.sln │ ├── CompOversizedWeapon │ │ ├── .vs │ │ │ └── CompExtraSounds │ │ │ │ └── v14 │ │ │ │ └── .suo │ │ ├── CompOversizedWeapon.cs │ │ ├── CompOversizedWeapon.csproj │ │ ├── CompProperties_OversizedWeapon.cs │ │ ├── HarmonyCompOversizedWeapon.cs │ │ ├── HarmonyCompOversizedWeaponOLD.cs │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ └── bin │ │ │ └── Release │ │ │ └── CompOversizedWeapon.dll │ ├── CompSlotLoadable.sln │ ├── CompSlotLoadable │ │ ├── CompProperties_SlotLoadable.cs │ │ ├── CompProperties_SlottedBonus.cs │ │ ├── CompSlotLoadable.cs │ │ ├── CompSlotLoadable.csproj │ │ ├── CompSlotLoadableDefOf.cs │ │ ├── CompSlottedBonus.cs │ │ ├── JobDriver_GatherSlotItem.cs │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ ├── SlotBonusProps_DefensiveHealChance.cs │ │ ├── SlotBonusProps_VampiricEffect.cs │ │ ├── SlotLoadable.cs │ │ ├── SlotLoadableDef.cs │ │ ├── SlotLoadableFloatMenuPatch.cs │ │ ├── SlotLoadableUtility.cs │ │ ├── StringOf.cs │ │ └── _HarmonyCompSlotLoadable.cs │ ├── CompToggleDef.sln │ ├── CompToggleDef │ │ ├── .vs │ │ │ └── CompToggleDef │ │ │ │ └── v15 │ │ │ │ └── .suo │ │ ├── CompProperties_ToggleDef.cs │ │ ├── CompToggleDef.cs │ │ ├── CompToggleDef.csproj │ │ ├── ITab_ToggleDef.cs │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ ├── ToggleDefCardUtility.cs │ │ └── bin │ │ │ └── Release │ │ │ └── CompToggleDef.pdb │ ├── CompVehicle.sln │ ├── CompVehicle.userprefs │ ├── CompVehicle │ │ ├── AbandonedVehicleContentsComp.cs │ │ ├── Bill_LoadVehicle.cs │ │ ├── CVPathFinder.cs │ │ ├── Command_VehicleHandler.cs │ │ ├── CompProperties_Vehicle.cs │ │ ├── CompProperties_VehicleSpawner.cs │ │ ├── CompVehicle.cs │ │ ├── CompVehicle.csproj │ │ ├── CompVehicle.sln │ │ ├── CompVehicle.userprefs │ │ ├── CompVehicleSpawner.cs │ │ ├── CompVehicleUtility.cs │ │ ├── DeathActionWorker_NoCorpse.cs │ │ ├── GlobalSuppressions.cs │ │ ├── HandlingTypeFlags.cs │ │ ├── HarmonyCompVehicle.cs │ │ ├── ITab_Passengers.cs │ │ ├── ITab_Passengers2.cs │ │ ├── JobDriver_AssembleVehicle.cs │ │ ├── JobDriver_LoadPassenger.cs │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ ├── Recipe_RepairVehicle.cs │ │ ├── SiteDefOfVehicle.cs │ │ ├── SitePartWorker_AbandonedVehicles.cs │ │ ├── StringOf.cs │ │ ├── ThinkNode_ConditionalCanManipulate.cs │ │ ├── ThinkNode_ConditionalPawnInside.cs │ │ ├── VehicleHandlerGroup.cs │ │ ├── VehicleHandlerTemp.cs │ │ └── VehicleRole.cs │ ├── JecsTools.sln │ ├── JecsTools │ │ ├── .vs │ │ │ ├── AbilityUser │ │ │ │ ├── v14 │ │ │ │ │ └── .suo │ │ │ │ └── v15 │ │ │ │ │ └── .suo │ │ │ └── CompAbilityUser │ │ │ │ └── v15 │ │ │ │ └── .suo │ │ ├── AbilityPowerManager.cs │ │ ├── ApparelExtension.cs │ │ ├── Backstories │ │ │ └── BackstoryDef.cs │ │ ├── BuildingExtension.cs │ │ ├── CaravanJobs │ │ │ ├── CaravanJob.cs │ │ │ ├── CaravanJobDef.cs │ │ │ ├── CaravanJobDriver.cs │ │ │ ├── CaravanJobGiver.cs │ │ │ ├── CaravanJobQueue.cs │ │ │ ├── CaravanJobsUtility.cs │ │ │ ├── CaravanToil.cs │ │ │ ├── CaravanToils_Effects.cs │ │ │ ├── CaravanToils_GoTo.cs │ │ │ ├── Caravan_JobTracker.cs │ │ │ ├── HarmonyCaravanJobs.cs │ │ │ ├── QueuedCaravanJob.cs │ │ │ ├── StuffCategoryCountClass.cs │ │ │ ├── StuffDefCount.cs │ │ │ ├── WorldEffecter.cs │ │ │ ├── WorldMote.cs │ │ │ ├── WorldObjectBlueprint.cs │ │ │ ├── WorldObjectRecipeDef.cs │ │ │ ├── WorldObject_ProgressBar.cs │ │ │ ├── WorldProgressBarDrawer.cs │ │ │ ├── WorldSubEffecter.cs │ │ │ └── WorldSubEffecter_ProgressBar.cs │ │ ├── DamageDefCleave.cs │ │ ├── DamageWorker_Cleave.cs │ │ ├── FactionStuff │ │ │ ├── CompConsole.cs │ │ │ ├── CompProperties_Console.cs │ │ │ ├── FactionSettings.cs │ │ │ ├── JecsToolsFactionDialogMaker.cs │ │ │ ├── JobDefMaker.cs │ │ │ └── JobDriver_UseConsole.cs │ │ ├── FirelessTrashUtility.cs │ │ ├── GrappleUtility.cs │ │ ├── HarmonyPatches.cs │ │ ├── HarmonyPatches_GUI.cs │ │ ├── HediffCompDamageOverTime.cs │ │ ├── HediffCompProperties_DamageOverTime.cs │ │ ├── HediffCompProperties_DamageSoak.cs │ │ ├── HediffCompProperties_ExtraMeleeDamages.cs │ │ ├── HediffCompProperties_Knockback.cs │ │ ├── HediffComp_DamageSoak.cs │ │ ├── HediffComp_ExtraMeleeDamages.cs │ │ ├── HediffComp_Knockback.cs │ │ ├── HediffExpandedDef.cs │ │ ├── HediffGiver_StartWithHediff.cs │ │ ├── HediffWithComps_Expanded.cs │ │ ├── Hediff_InjuryCustomLabel.cs │ │ ├── JecsTools.csproj │ │ ├── JobGiver_AIFirelessTrashColonyClose.cs │ │ ├── JobGiver_AIFirelessTrashColonyDistant.cs │ │ ├── ModCompatibilityUtility.cs │ │ ├── PatchOperationModLoaded.cs │ │ ├── PlaceWorker_OnTopOfWalls.cs │ │ ├── PlaceWorker_Outline.cs │ │ ├── PlaceWorker_UnderCeiling.cs │ │ ├── ProjectileExtension.cs │ │ ├── Projectile_AbilityAoE.cs │ │ ├── Projectile_Laser.cs │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ ├── StuffCategoryCountClass.cs │ │ ├── TexButton.cs │ │ ├── ThingDef_LaserProjectile.cs │ │ ├── TransformedPart.cs │ │ └── _HumanlikeOrdersUtility.cs │ ├── PawnShields.sln │ ├── PawnShields │ │ ├── HarmonyPatches.cs │ │ ├── Mod Extensions │ │ │ └── ShieldPawnGeneratorProperties.cs │ │ ├── PawnShields.csproj │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ ├── Shields.cs │ │ ├── ThingComps │ │ │ ├── CompShield.cs │ │ │ └── Properties │ │ │ │ ├── CompProperties_Shield.cs │ │ │ │ ├── ShieldRenderProperties.cs │ │ │ │ └── StuffedSound.cs │ │ ├── Utility │ │ │ ├── PawnShieldGenerator.cs │ │ │ ├── ShieldHediffDefOf.cs │ │ │ ├── ShieldStatsDefOf.cs │ │ │ └── ShieldUtility.cs │ │ └── Workers │ │ │ └── StatWorker_Shield.cs │ ├── ThinkNodes.sln │ └── ThinkNodes │ │ ├── JobGiver_Capture.cs │ │ ├── JobGiver_GoToClosestThingDef.cs │ │ ├── Properties │ │ └── AssemblyInfo.cs │ │ ├── ThinkNode_ConditionalCombatCapable.cs │ │ ├── ThinkNode_ConditionalDelay.cs │ │ ├── ThinkNode_ConditionalHediff.cs │ │ ├── ThinkNode_ConditionalHunter.cs │ │ ├── ThinkNode_ConditionalIsHuntingTarget.cs │ │ ├── ThinkNode_ConditionalMissingWeapon.cs │ │ ├── ThinkNode_ConditionalShouldBeDestructive.cs │ │ ├── ThinkNode_ConditionalWorkTypesDef.cs │ │ └── ThinkNodes.csproj ├── Dependencies │ └── 0Harmony.dll ├── JecsTools.sln ├── JecsTools.userprefs ├── MigrationBackup │ ├── 0383f21e │ │ └── CompActivatableEffect │ │ │ ├── CompActivatableEffect.csproj │ │ │ ├── NuGetUpgradeLog.html │ │ │ └── packages.config │ ├── 0530c1ef │ │ └── DefModExtension_BigBox │ │ │ ├── DefModExtension_BigBox.csproj │ │ │ ├── NuGetUpgradeLog.html │ │ │ └── packages.config │ ├── 0eba3b6e │ │ └── PawnShields │ │ │ ├── NuGetUpgradeLog.html │ │ │ ├── PawnShields.csproj │ │ │ └── packages.config │ ├── 10f47128 │ │ └── CompAbilityUser │ │ │ ├── CompAbilityUser.csproj │ │ │ ├── NuGetUpgradeLog.html │ │ │ └── packages.config │ ├── 24e6490d │ │ └── CompVehicle │ │ │ ├── CompVehicle.csproj │ │ │ ├── NuGetUpgradeLog.html │ │ │ └── packages.config │ ├── 40edb1ee │ │ └── AbilityUserAI │ │ │ ├── AbilityUserAI.csproj │ │ │ ├── NuGetUpgradeLog.html │ │ │ └── packages.config │ ├── 4e44b7ef │ │ └── CompBalloon │ │ │ ├── CompBalloon.csproj │ │ │ ├── NuGetUpgradeLog.html │ │ │ └── packages.config │ ├── 59af4d6d │ │ └── CompDelayedSpawner │ │ │ ├── CompDelayedSpawner.csproj │ │ │ ├── NuGetUpgradeLog.html │ │ │ └── packages.config │ ├── 5f89f741 │ │ └── CompSlotLoadable │ │ │ ├── CompSlotLoadable.csproj │ │ │ ├── NuGetUpgradeLog.html │ │ │ └── packages.config │ ├── 78bf7bb6 │ │ └── CompOverlays │ │ │ ├── CompOverlays.csproj │ │ │ ├── NuGetUpgradeLog.html │ │ │ └── packages.config │ ├── 8854f86b │ │ └── CompExtraSounds │ │ │ ├── CompExtraSounds.csproj │ │ │ ├── NuGetUpgradeLog.html │ │ │ └── packages.config │ ├── 895f3746 │ │ └── CompInstalledPart │ │ │ ├── CompInstalledPart.csproj │ │ │ ├── NuGetUpgradeLog.html │ │ │ └── packages.config │ ├── 8a212a6e │ │ └── CompDeflector │ │ │ ├── CompDeflector.csproj │ │ │ ├── NuGetUpgradeLog.html │ │ │ └── packages.config │ ├── 9219ed18 │ │ └── CompLumbering │ │ │ ├── CompLumbering.csproj │ │ │ ├── NuGetUpgradeLog.html │ │ │ └── packages.config │ ├── 93cfb865 │ │ └── CompToggleDef │ │ │ ├── CompToggleDef.csproj │ │ │ ├── NuGetUpgradeLog.html │ │ │ └── packages.config │ ├── 97637b8f │ │ └── CompOversizedWeapon │ │ │ ├── CompOversizedWeapon.csproj │ │ │ ├── NuGetUpgradeLog.html │ │ │ └── packages.config │ ├── b7620fcb │ │ └── ThinkNodes │ │ │ ├── NuGetUpgradeLog.html │ │ │ ├── ThinkNodes.csproj │ │ │ └── packages.config │ ├── ba0ce9e6 │ │ └── JecsTools │ │ │ ├── JecsTools.csproj │ │ │ ├── NuGetUpgradeLog.html │ │ │ └── packages.config │ └── f9d57bdf │ │ └── CompAnimated │ │ ├── CompAnimated.csproj │ │ ├── NuGetUpgradeLog.html │ │ └── packages.config └── ThinkNodes - Release │ └── Assemblies │ ├── 0Harmony.dll │ ├── 0Harmony.xml │ └── ThinkNodes.dll ├── Textures ├── NullTex.png └── quickstartIcon.png └── updateinfo /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /.vs/slnx.sqlite: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/.vs/slnx.sqlite -------------------------------------------------------------------------------- /1.0/Assemblies/0Harmony.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/1.0/Assemblies/0Harmony.dll -------------------------------------------------------------------------------- /1.0/Assemblies/0JecsTools.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/1.0/Assemblies/0JecsTools.dll -------------------------------------------------------------------------------- /1.0/Assemblies/AbilityUser.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/1.0/Assemblies/AbilityUser.dll -------------------------------------------------------------------------------- /1.0/Assemblies/AbilityUserAI.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/1.0/Assemblies/AbilityUserAI.dll -------------------------------------------------------------------------------- /1.0/Assemblies/CompActivatableEffect.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/1.0/Assemblies/CompActivatableEffect.dll -------------------------------------------------------------------------------- /1.0/Assemblies/CompAnimated.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/1.0/Assemblies/CompAnimated.dll -------------------------------------------------------------------------------- /1.0/Assemblies/CompBalloon.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/1.0/Assemblies/CompBalloon.dll -------------------------------------------------------------------------------- /1.0/Assemblies/CompBigBox.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/1.0/Assemblies/CompBigBox.dll -------------------------------------------------------------------------------- /1.0/Assemblies/CompDeflector.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/1.0/Assemblies/CompDeflector.dll -------------------------------------------------------------------------------- /1.0/Assemblies/CompDelayedSpawner.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/1.0/Assemblies/CompDelayedSpawner.dll -------------------------------------------------------------------------------- /1.0/Assemblies/CompExtraSounds.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/1.0/Assemblies/CompExtraSounds.dll -------------------------------------------------------------------------------- /1.0/Assemblies/CompInstalledPart.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/1.0/Assemblies/CompInstalledPart.dll -------------------------------------------------------------------------------- /1.0/Assemblies/CompLumbering.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/1.0/Assemblies/CompLumbering.dll -------------------------------------------------------------------------------- /1.0/Assemblies/CompOverlays.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/1.0/Assemblies/CompOverlays.dll -------------------------------------------------------------------------------- /1.0/Assemblies/CompOversizedWeapon.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/1.0/Assemblies/CompOversizedWeapon.dll -------------------------------------------------------------------------------- /1.0/Assemblies/CompSlotLoadable.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/1.0/Assemblies/CompSlotLoadable.dll -------------------------------------------------------------------------------- /1.0/Assemblies/CompToggleDef.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/1.0/Assemblies/CompToggleDef.dll -------------------------------------------------------------------------------- /1.0/Assemblies/CompVehicle.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/1.0/Assemblies/CompVehicle.dll -------------------------------------------------------------------------------- /1.0/Assemblies/PawnShields.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/1.0/Assemblies/PawnShields.dll -------------------------------------------------------------------------------- /1.0/Assemblies/ThinkNodes.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/1.0/Assemblies/ThinkNodes.dll -------------------------------------------------------------------------------- /1.0/Defs/AbilityDefs/Abilities_Base.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | UI/Glow_Corrupt 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /1.0/Defs/DamageDefs/AbilityUser_Damages.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Laser 6 | DamageWorker_AddInjury 7 | 8 | true 9 | false 10 | 11 | false 12 | true 13 | {0} has been shot to death. 14 | Burn 15 | Heat 16 | 15 17 | Mote_BlastFlame 18 | (1, 0.7, 0.7) 19 | (1, 1, 0.7) 20 | Explosion_Flame 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /1.0/Defs/JobDefs/AbilityUser_Jobs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CastAbilityVerb 6 | AbilityUser.JobDriver_CastAbilityVerb 7 | Using an ability 8 | true 9 | false 10 | 11 | 12 | 13 | CastAbilitySelf 14 | AbilityUser.JobDriver_CastAbilitySelf 15 | Using an ability 16 | true 17 | false 18 | 19 | 20 | -------------------------------------------------------------------------------- /1.0/Defs/JobDefs/CompDeflector_Jobs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CastDeflectVerb 6 | CompDeflector.JobDriver_CastDeflectVerb 7 | Deflecting 8 | true 9 | false 10 | 11 | 12 | -------------------------------------------------------------------------------- /1.0/Defs/JobDefs/CompInstalledPart_Jobs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | CompInstalledPart_InstallPart 5 | CompInstalledPart.JobDriver_InstallPart 6 | installing TargetA. 7 | false 8 | 9 | 10 | 11 | CompInstalledPart_UninstallPart 12 | CompInstalledPart.JobDriver_UninstallPart 13 | uninstalling TargetA. 14 | false 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /1.0/Defs/JobDefs/CompSlotLoadable_Jobs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | GatherSlotItem 6 | CompSlotLoadable.JobDriver_GatherSlotItem 7 | equipping TargetA. 8 | 9 | 10 | -------------------------------------------------------------------------------- /1.0/Defs/JobDefs/CompVehicle_Jobs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | CompVehicle_LoadPassenger 5 | CompVehicle.JobDriver_LoadPassenger 6 | entering TargetA. 7 | 8 | 9 | CompVehicle_Assemble 10 | CompVehicle.JobDriver_AssembleVehicle 11 | assembling TargetA. 12 | 13 | 14 | -------------------------------------------------------------------------------- /1.0/Defs/Stats/CompDeflection_StatWorkers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | MeleeWeapon_DeflectionChance 6 | CompDeflector.StatWorker_DeflectionChance 7 | 8 | Chance to deflect ranged projectiles with melee weapon. 9 | PawnCombat 10 | 0 11 | 0 12 | PercentZero 13 | true 14 | 10 15 | 16 | 17 | -------------------------------------------------------------------------------- /1.0/Defs/ThingDefs_Projectiles/JT_Projectiles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Projectile 7 | Normal 8 | Projectile 9 | Bullet 10 | 11 | False 12 | True 13 | 14 | Transparent 15 | 16 | 17 | 18 | 19 | 20 | JT_FlyingObject 21 | AbilityUser.FlyingObject 22 | 23 | 24 | NullTex 25 | Graphic_Single 26 | 27 | 28 | true 29 | Stun 30 | 0 31 | 10 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /1.0/Defs/ThingDefs_Slots/CompSlotLoadable_Slots.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SlotTest 6 | CompSlotLoadable.SlotLoadable 7 | 8 | 9 |
  • MeleeWeapon_Gladius
  • 10 |
    11 | true 12 | (255, 255, 255, 255) 13 |
    14 | 15 |
    16 | -------------------------------------------------------------------------------- /1.0/Defs/ThinkTreeDefs/InsertHook_AbilityUserAI.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | InsertHookTest 6 | Humanlike_PostMentalState 7 | 1000 8 | 9 | true 10 | 11 |
  • 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /1.0/Defs/WorldObjectDefs/WorldObjects.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | WorldObject_ProgressBar 6 | 7 | true 8 | This should not be visible to players. 9 | JecsTools.WorldObject_ProgressBar 10 | World/WorldObjects/TribalFactionBase 11 | true 12 | World/WorldObjects/Expanding/RoutePlannerWaypoint 13 | 1 14 | true 15 | false 16 | false 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /About/DiscordURL.txt: -------------------------------------------------------------------------------- 1 | https://discord.gg/AaVFA7V 2 | -------------------------------------------------------------------------------- /About/LudeonURL.txt: -------------------------------------------------------------------------------- 1 | https://ludeon.com/forums/index.php?topic=32868.0 2 | -------------------------------------------------------------------------------- /About/Manifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | JecsTools 4 | 1.1.1.2 5 | 6 | 7 | 8 |
  • DoorsExpanded
  • 9 |
  • CoC-Factions
  • 10 |
  • CoC-Cults
  • 11 |
  • CoC-ElderThings
  • 12 |
  • HPLovecraftStoryteller
  • 13 |
  • IA-ObjectsAndFurniture
  • 14 |
  • IA-SteamCorp
  • 15 |
  • LotR-Dwarves
  • 16 |
  • LotR-Elves
  • 17 |
  • LotR-Hobbits
  • 18 |
  • LotR-MenAndBeasts
  • 19 |
  • LotR-OrcsAndGoblins
  • 20 |
  • LotR-TheThirdAge
  • 21 |
  • RoM-Arachnophobia
  • 22 |
  • RoM-Vampires
  • 23 |
  • RoM-Werewolves
  • 24 |
  • RimQuest
  • 25 |
  • RimWriter
  • 26 |
  • SW-Factions
  • 27 |
  • SW-Lightsabers
  • 28 |
  • SW-TheForce
  • 29 | 30 | 31 |
  • HugsLib
  • 32 |
    33 | https://raw.githubusercontent.com/jecrell/JecsTools/master/About/Manifest.xml 34 | https://github.com/jecrell/JecsTools/releases 35 | -------------------------------------------------------------------------------- /About/PatreonURL.txt: -------------------------------------------------------------------------------- 1 | https://www.patreon.com/posts/34452021 2 | -------------------------------------------------------------------------------- /About/Preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/About/Preview.png -------------------------------------------------------------------------------- /About/PublishedFileId.txt: -------------------------------------------------------------------------------- 1 | 932008009 -------------------------------------------------------------------------------- /About/Version.txt: -------------------------------------------------------------------------------- 1 | 1.1.1.2 2 | -------------------------------------------------------------------------------- /Assemblies/0Harmony.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Assemblies/0Harmony.dll -------------------------------------------------------------------------------- /Assemblies/0JecsTools.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Assemblies/0JecsTools.dll -------------------------------------------------------------------------------- /Assemblies/AbilityUser.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Assemblies/AbilityUser.dll -------------------------------------------------------------------------------- /Assemblies/AbilityUserAI.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Assemblies/AbilityUserAI.dll -------------------------------------------------------------------------------- /Assemblies/CompActivatableEffect.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Assemblies/CompActivatableEffect.dll -------------------------------------------------------------------------------- /Assemblies/CompAnimated.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Assemblies/CompAnimated.dll -------------------------------------------------------------------------------- /Assemblies/CompBalloon.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Assemblies/CompBalloon.dll -------------------------------------------------------------------------------- /Assemblies/CompBigBox.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Assemblies/CompBigBox.dll -------------------------------------------------------------------------------- /Assemblies/CompDeflector.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Assemblies/CompDeflector.dll -------------------------------------------------------------------------------- /Assemblies/CompDelayedSpawner.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Assemblies/CompDelayedSpawner.dll -------------------------------------------------------------------------------- /Assemblies/CompExtraSounds.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Assemblies/CompExtraSounds.dll -------------------------------------------------------------------------------- /Assemblies/CompInstalledPart.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Assemblies/CompInstalledPart.dll -------------------------------------------------------------------------------- /Assemblies/CompLumbering.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Assemblies/CompLumbering.dll -------------------------------------------------------------------------------- /Assemblies/CompOverlays.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Assemblies/CompOverlays.dll -------------------------------------------------------------------------------- /Assemblies/CompOversizedWeapon.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Assemblies/CompOversizedWeapon.dll -------------------------------------------------------------------------------- /Assemblies/CompSlotLoadable.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Assemblies/CompSlotLoadable.dll -------------------------------------------------------------------------------- /Assemblies/CompToggleDef.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Assemblies/CompToggleDef.dll -------------------------------------------------------------------------------- /Assemblies/CompVehicle.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Assemblies/CompVehicle.dll -------------------------------------------------------------------------------- /Assemblies/PawnShields.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Assemblies/PawnShields.dll -------------------------------------------------------------------------------- /Assemblies/ThinkNodes.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Assemblies/ThinkNodes.dll -------------------------------------------------------------------------------- /Defs/AbilityDefs/Abilities_Base.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | UI/Glow_Corrupt 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Defs/DamageDefs/AbilityUser_Damages.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Laser 6 | DamageWorker_AddInjury 7 | 8 | true 9 | false 10 | 11 | false 12 | true 13 | {0} has been shot to death. 14 | Burn 15 | Heat 16 | 15 17 | Mote_BlastFlame 18 | (1, 0.7, 0.7) 19 | (1, 1, 0.7) 20 | Explosion_Flame 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /Defs/JobDefs/AbilityUser_Jobs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CastAbilityVerb 6 | AbilityUser.JobDriver_CastAbilityVerb 7 | Using an ability 8 | true 9 | false 10 | 11 | 12 | 13 | CastAbilitySelf 14 | AbilityUser.JobDriver_CastAbilitySelf 15 | Using an ability 16 | true 17 | false 18 | 19 | 20 | -------------------------------------------------------------------------------- /Defs/JobDefs/CompDeflector_Jobs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CastDeflectVerb 6 | CompDeflector.JobDriver_CastDeflectVerb 7 | Deflecting 8 | true 9 | false 10 | 11 | 12 | -------------------------------------------------------------------------------- /Defs/JobDefs/CompInstalledPart_Jobs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | CompInstalledPart_InstallPart 5 | CompInstalledPart.JobDriver_InstallPart 6 | installing TargetA. 7 | false 8 | 9 | 10 | 11 | CompInstalledPart_UninstallPart 12 | CompInstalledPart.JobDriver_UninstallPart 13 | uninstalling TargetA. 14 | false 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /Defs/JobDefs/CompSlotLoadable_Jobs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | GatherSlotItem 6 | CompSlotLoadable.JobDriver_GatherSlotItem 7 | equipping TargetA. 8 | 9 | 10 | -------------------------------------------------------------------------------- /Defs/JobDefs/CompVehicle_Jobs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | CompVehicle_LoadPassenger 5 | CompVehicle.JobDriver_LoadPassenger 6 | entering TargetA. 7 | 8 | 9 | CompVehicle_Assemble 10 | CompVehicle.JobDriver_AssembleVehicle 11 | assembling TargetA. 12 | 13 | 14 | -------------------------------------------------------------------------------- /Defs/Stats/CompDeflection_StatWorkers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | MeleeWeapon_DeflectionChance 6 | CompDeflector.StatWorker_DeflectionChance 7 | 8 | Chance to deflect ranged projectiles with melee weapon. 9 | PawnCombat 10 | 0 11 | 0 12 | PercentZero 13 | true 14 | 10 15 | 16 | 17 | -------------------------------------------------------------------------------- /Defs/ThingDefs_Projectiles/JT_Projectiles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Projectile 7 | Normal 8 | Projectile 9 | Bullet 10 | 11 | False 12 | True 13 | 14 | Transparent 15 | 16 | 17 | 18 | 19 | 20 | JT_FlyingObject 21 | AbilityUser.FlyingObject 22 | 23 | 24 | NullTex 25 | Graphic_Single 26 | 27 | 28 | true 29 | Stun 30 | 0 31 | 10 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /Defs/ThingDefs_Slots/CompSlotLoadable_Slots.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SlotTest 6 | CompSlotLoadable.SlotLoadable 7 | 8 | 9 |
  • MeleeWeapon_Gladius
  • 10 |
    11 | true 12 | (255, 255, 255, 255) 13 |
    14 | 15 |
    16 | -------------------------------------------------------------------------------- /Defs/ThinkTreeDefs/InsertHook_AbilityUserAI.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | InsertHookTest 6 | Humanlike_PostMentalState 7 | 1000 8 | 9 | true 10 | 11 |
  • 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Defs/WorldObjectDefs/WorldObjects.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | WorldObject_ProgressBar 6 | 7 | true 8 | This should not be visible to players. 9 | JecsTools.WorldObject_ProgressBar 10 | World/WorldObjects/TribalFactionBase 11 | true 12 | World/WorldObjects/Expanding/RoutePlannerWaypoint 13 | 1 14 | true 15 | false 16 | false 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 jecrell 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Languages/ChineseSimplified/DefInjected/DamageDef/AbilityUser_Damages.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 灼伤(光剑) 5 | {0}被击毙了。 6 | 7 | 8 | -------------------------------------------------------------------------------- /Languages/ChineseSimplified/DefInjected/JobDef/AbilityUser_Jobs.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 使用原力技 5 | 使用原力技 6 | 7 | 8 | -------------------------------------------------------------------------------- /Languages/ChineseSimplified/DefInjected/JobDef/CompDeflector_Jobs.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 偏转了 5 | 6 | 7 | -------------------------------------------------------------------------------- /Languages/ChineseSimplified/DefInjected/JobDef/CompInstalledPart_Jobs.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 安装TargetA。 5 | 卸载TargetA。 6 | 7 | 8 | -------------------------------------------------------------------------------- /Languages/ChineseSimplified/DefInjected/JobDef/CompSlotLoadable_Jobs.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 装备TargetA。 5 | 6 | 7 | -------------------------------------------------------------------------------- /Languages/ChineseSimplified/DefInjected/JobDef/CompVehicle_Jobs.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 搭载TargetA。 5 | 装配TargetA。 6 | 7 | 8 | -------------------------------------------------------------------------------- /Languages/ChineseSimplified/DefInjected/RecipeDef/Recipes_Add_Make.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 打造[SW]开槽刀 10 | 打造一把开槽刀。 11 | 正在打造开槽刀中。 12 | 13 | 14 | -------------------------------------------------------------------------------- /Languages/ChineseSimplified/DefInjected/StatDef/CompDeflection_StatWorkers.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 偏转几率 5 | 以近战武器偏转远程抛射物的几率。 6 | 7 | 8 | -------------------------------------------------------------------------------- /Languages/ChineseSimplified/DefInjected/ThingDef/CompSlotLoadable_Slots.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 测试 5 | 6 | 7 | -------------------------------------------------------------------------------- /Languages/ChineseSimplified/DefInjected/ThingDef/CompSlotLoadable_ThingDefExample.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | [SW]开槽刀 5 | 一件人类早期使用的原始工具,既可以当日常工具也可以当武器使用。 6 | 7 | 8 | -------------------------------------------------------------------------------- /Languages/ChineseSimplified/DefInjected/WorldObjectDef/WorldObjects.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | progress bar 5 | This should not be visible to players. 6 | 7 | 8 | -------------------------------------------------------------------------------- /Languages/ChineseSimplified/Keyed/AbilityUser.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 禁用 5 | 6 | 类型: 7 | 有效范围 8 | 以自己为目标 9 | 以其他为目标 10 | 目标位置 11 | 冷却: 12 | 附加 13 | 精神影响几率 14 | 影响几率 15 | {0}需要时间恢复能量 16 | 17 | 18 | 有效范围属性 19 | 目标: 20 | 角色 21 | 误伤: 22 | 最大目标数: 23 | 从施法者开始: 24 | 25 | 26 | -------------------------------------------------------------------------------- /Languages/ChineseSimplified/Keyed/CompActivatableEffect.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 警告:{0}当前装备武器是无效的! 5 | 6 | -------------------------------------------------------------------------------- /Languages/ChineseSimplified/Keyed/CompDeflector.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 偏转几率 5 | 决定该武器反射袭击者的抛射物或子弹的偏转几率。 6 | 7 | 最大偏转几率 8 | 每点{0}技能能提供角色{1}的反射目标抛射物的偏转几率。理论上最大的偏转几率为{2}。 9 | 10 | 每点{0}技能增加的偏转百分比 11 | 每点{0}技能提供角的偏转抛射物的几率。 12 | 13 | 基础偏转几率 14 | 15 | 实际概率将以下面的公式来显示:\n偏转几率(基础偏转几率+(原力等级*每级加成)/操控效率\n\n 16 | 17 | 偏转几率 18 | 19 | 基础偏转几率 20 | 21 | 技能等级 22 | 23 | 24 | 每点技能增加的偏转百分比 25 | 26 | 技巧修正 27 | 28 | -------------------------------------------------------------------------------- /Languages/ChineseSimplified/Keyed/CompInstalledPart.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 安装在{2}上 5 | 卸下{0} 6 | {0}将{1}安装在{2}上 7 | {0}将{1}从{2}上卸下 8 | 9 | 10 | -------------------------------------------------------------------------------- /Languages/ChineseSimplified/Keyed/Eng_WorldObjectMods.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 该位置没有可交易的商队 5 | 资源:{0} 6 | 失败。需要材料{0}:{1} 。 7 | 8 | 9 | -------------------------------------------------------------------------------- /Languages/English/Keyed/AbilityUser.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | No line of sight 5 | 6 | No targets available 7 | 8 | DISABLED 9 | 10 | Type: 11 | Area of Effect 12 | Targets Self 13 | Targets Other 14 | Targets Location 15 | Cooldown: 16 | Extra 17 | Mental State Chance 18 | Effect Chance 19 | {0} needs time to recharge 20 | 21 | 22 | Area of Effect Properties 23 | Targets: 24 | Characters 25 | Friendly Fire: 26 | Max Targets: 27 | Starts from caster: 28 | 29 | 30 | -------------------------------------------------------------------------------- /Languages/English/Keyed/CompActivatableEffect.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | WARNING: {0}'s current weapon is deactivated! 5 | 6 | -------------------------------------------------------------------------------- /Languages/English/Keyed/CompInstalledPart.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Install on something 5 | Uninstall {0} 6 | {0} installed the {1} onto {2} 7 | {0} uninstalled the {1} from {2} 8 | 9 | 10 | -------------------------------------------------------------------------------- /Languages/English/Keyed/Eng_WorldObjectMods.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | because no caravan is available at this location 5 | Resources: {0} 6 | Missing Specific Items. Need {1}x {2}, have only {0} 7 | Missing {2} Stuff. Need {1}x, have only {0} 8 | Failed to build {0} due to lack of resources 9 | 10 | -------------------------------------------------------------------------------- /Languages/English/Keyed/Grapple.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Grapple Success 5 | Grapple Failed 6 | Downed Attack: Grapple Success 7 | Sneak Attack: Grapple Success 8 | Restrained Victim: Grapple Success 9 | Sleeping Victim: Grapple Success 10 | 11 | 12 | -------------------------------------------------------------------------------- /Languages/English/Keyed/Misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Must be placed under a ceiling. 4 | Must be placed on a wall. 5 | {0} absorbed 6 | Soak Amount: {0} 7 | Knockback Chance: {0} 8 | Extra Damages: 9 | Explosive 10 | 11 | -------------------------------------------------------------------------------- /Languages/French/Keyed/AbilityUser.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Languages/French/Keyed/AbilityUser.xml -------------------------------------------------------------------------------- /Languages/French/Keyed/CompActivatableEffect.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Languages/French/Keyed/CompActivatableEffect.xml -------------------------------------------------------------------------------- /Languages/French/Keyed/CompDeflector.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Languages/French/Keyed/CompDeflector.xml -------------------------------------------------------------------------------- /Languages/French/Keyed/CompInstalledPart.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Languages/French/Keyed/CompInstalledPart.xml -------------------------------------------------------------------------------- /Languages/French/Keyed/CompVehicle.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Languages/French/Keyed/CompVehicle.xml -------------------------------------------------------------------------------- /Languages/French/Keyed/Eng_WorldObjectMods.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Languages/French/Keyed/Eng_WorldObjectMods.xml -------------------------------------------------------------------------------- /Languages/Japanese/DefInjected/DamageDef/AbilityUser_Damages.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 火傷 5 | {0}はレーザーに焼かれて死んだ。 6 | 7 | -------------------------------------------------------------------------------- /Languages/Japanese/DefInjected/HediffDef/Shields.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | シールド損耗 7 | 少し 8 | かなり 9 | 厳しい 10 | 枯渇 11 | 12 | -------------------------------------------------------------------------------- /Languages/Japanese/DefInjected/JobDef/AbilityUser_Jobs.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 能力を使用中 5 | 能力を使用中 6 | 7 | -------------------------------------------------------------------------------- /Languages/Japanese/DefInjected/JobDef/CompDeflector_Jobs.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 逸らしている 5 | 6 | -------------------------------------------------------------------------------- /Languages/Japanese/DefInjected/JobDef/CompInstalledPart_Jobs.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | TargetAを装着中 5 | TargetAを取り外し中 6 | 7 | -------------------------------------------------------------------------------- /Languages/Japanese/DefInjected/JobDef/CompSlotLoadable_Jobs.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | TargetAをスロットに装着中 5 | 6 | -------------------------------------------------------------------------------- /Languages/Japanese/DefInjected/JobDef/CompVehicle_Jobs.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | TargetAに乗り込む 5 | TargetAを組み立てる 6 | 7 | -------------------------------------------------------------------------------- /Languages/Japanese/DefInjected/StatCategoryDef/Shields.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | シールド 5 | 6 | -------------------------------------------------------------------------------- /Languages/Japanese/DefInjected/StatDef/CompDeflection_StatWorkers.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 逸らす確率 5 | 近距離武器で遠距離攻撃の発射物を逸らす確率 6 | 7 | -------------------------------------------------------------------------------- /Languages/Japanese/DefInjected/StatDef/Shields.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 近接防御補正 5 | シールドを構えた者の近接攻撃を防ぐ確率はこの値で補正乗算されます。より高いほど防御率が高い。 6 | 7 | 遠距離防御補正 8 | シールドを構えた者の遠距離攻撃を防ぐ確率はこの値で補正乗算されます。より高いほど防御率が高い。 9 | 10 | ダメージ吸収 11 | 防御した攻撃からシールドがどれだけのダメージを吸収できるか。 12 | 13 | 14 | 15 | 16 | 近接防御率 17 | 近接攻撃を阻止する確立で、失敗すると攻撃が命中します。 18 | 19 | 20 | 21 | 22 | 遠距離防御率 23 | 遠距離攻撃を阻止する確立で、失敗すると攻撃が命中します。 24 | 25 | -------------------------------------------------------------------------------- /Languages/Japanese/DefInjected/ThingDef/CompSlotLoadable_Slots.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | テスト 5 | 6 | -------------------------------------------------------------------------------- /Languages/Japanese/DefInjected/ThingDef/JT_Projectiles.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 飛翔体 5 | 6 | -------------------------------------------------------------------------------- /Languages/Japanese/DefInjected/WorldObjectDef/WorldObjects.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 進展度 5 | これはプレーヤーには見えないはずです。 6 | 7 | -------------------------------------------------------------------------------- /Languages/Japanese/Keyed/AbilityUser.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 指定可能な目標がありません。 5 | 6 | 機能停止 7 | 8 | タイプ: 9 | 目標(範囲) 10 | 目標(自分) 11 | 目標(他者) 12 | 目標(場所) 13 | クールダウン: 14 | 特殊 15 | 精神状態変化率 16 | 影響確率 17 | {0}は回復する時間が必要 18 | 19 | 20 | 影響範囲の詳細 21 | 目標: 22 | キャラクター 23 | 味方への誤射: 24 | 最大目標数: 25 | 使用者から開始: 26 | 27 | -------------------------------------------------------------------------------- /Languages/Japanese/Keyed/CompActivatableEffect.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 警告:{0}の現在所持している武器は不活性です! 5 | 6 | -------------------------------------------------------------------------------- /Languages/Japanese/Keyed/CompDeflector.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 反射率 5 | この武器が発射体を攻撃者に跳ね返す頻度を決定します。 6 | 7 | 最大反射率 8 | {0}ヵ所の各射撃地点に対して、使用者は攻撃してきた目標に対して発射された攻撃を反射する可能性が{1}回あります。反射可能な最大回数は{2}回です。 9 | 10 | {0}スキルLv毎の反射率(%) 11 | 使用者は{0}の各レベルごとに、この反射率(%)を加算して発射体を跳ね返すことができます。 12 | 13 | 基本反射率 14 | 15 | ステータスは次の計算式で表示されます。\n反射率=(基本反射率+(スキルレベル×スキルLvごとの反射率(%))\n\n 16 | 17 | 反射率 18 | 19 | 基本反射率 20 | 21 | スキルLv 22 | 23 | 24 | スキルLvごとの反射率(%) 25 | 26 | 念動操作率 27 | 28 | -------------------------------------------------------------------------------- /Languages/Japanese/Keyed/CompInstalledPart.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 何かを装着します 5 | {0}を取り外す 6 | {0}は{2}に{1}を装着しました 7 | {0}は{2}から{1}を取り外しました 8 | 9 | -------------------------------------------------------------------------------- /Languages/Japanese/Keyed/Eng_WorldObjectMods.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | この場所にキャラバン隊がありません 5 | 必要な資源:{0} 6 | 特定のアイテムが足りません。{2}が{1}が必要ですが、{0}しかありません 7 | {2}が不足しています。{1}が{1}が必要ですが、{0}しかありません 8 | 資源不足のために、{0}の建設に失敗しました 9 | 10 | 11 | -------------------------------------------------------------------------------- /Languages/Japanese/Keyed/Grapple.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 捕縛に成功 5 | 捕縛に失敗 6 | 倒れている相手:捕縛に成功 7 | 奇襲攻撃の相手:捕縛に成功 8 | 拘束中の相手:捕縛に成功 9 | 睡眠中の相手:捕縛に成功 10 | 11 | -------------------------------------------------------------------------------- /Languages/Japanese/Keyed/Misc.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 天井の下に置く必要があります。 4 | 壁に置く必要があります。 5 | {0}ダメージ吸収した 6 | 貫通量:{0} 7 | ノックバック率:{0} 8 | 追加ダメージ: 9 | 炸裂 10 | 11 | -------------------------------------------------------------------------------- /Languages/Japanese/LanguageInfo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 日本語 4 | Japanese 5 | true 6 | LanguageWorker_Japanese 7 | 8 |
  • 9 | Translator 10 | Proxyer 11 |
  • 12 | 13 | 14 | -------------------------------------------------------------------------------- /Languages/Spanish/DefInjected/DamageDef/AbilityUser_Damages.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Quemadura 5 | {0} Fue fusilado por armas laser. 6 | 7 | 8 | -------------------------------------------------------------------------------- /Languages/Spanish/DefInjected/JobDef/AbilityUser_Jobs.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Usando una abilidad 5 | Usando una abilidad 6 | 7 | 8 | -------------------------------------------------------------------------------- /Languages/Spanish/Keyed/AbilityUser.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | DISABLED 5 | 6 | Type: 7 | Area de efecto 8 | Concentar en ti mismo 9 | Concentar en otro 10 | Localizacion del objetivo 11 | Cooldown: 12 | Extra 13 | Chance de Estado Mental 14 | Chance de efecto 15 | {0} Necesita tiempo para recargar 16 | 17 | 18 | Propiedades del Area de Efecto 19 | Objetivos: 20 | Personajes 21 | Fuego Amigo: 22 | Max Targets: 23 | Empieza desde el caster: 24 | 25 | -------------------------------------------------------------------------------- /Languages/SpanishLatin/DefInjected/DamageDef/AbilityUser_Damages.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | quemadura 5 | {0} fue disparado hasta morir. 6 | 7 | 8 | -------------------------------------------------------------------------------- /Languages/SpanishLatin/DefInjected/JobDef/AbilityUser_Jobs.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Usando una habilidad 5 | Usando una habilidad 6 | 7 | 8 | -------------------------------------------------------------------------------- /Languages/SpanishLatin/DefInjected/JobDef/CompDeflector_Jobs.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Desviando 5 | 6 | 7 | -------------------------------------------------------------------------------- /Languages/SpanishLatin/DefInjected/JobDef/CompInstalledPart_Jobs.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | instalando TargetA. 5 | desinstalando TargetA. 6 | 7 | 8 | -------------------------------------------------------------------------------- /Languages/SpanishLatin/DefInjected/JobDef/CompSlotLoadable_Jobs.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | equipando TargetA. 5 | 6 | 7 | -------------------------------------------------------------------------------- /Languages/SpanishLatin/DefInjected/JobDef/CompVehicle_Jobs.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | entrando a TargetA. 5 | montando TargetA. 6 | 7 | 8 | -------------------------------------------------------------------------------- /Languages/SpanishLatin/DefInjected/StatDef/CompDeflection_StatWorkers.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | chance de desvío 5 | Chance de desviar un proyectil de rango largo con una arma. 6 | 7 | 8 | -------------------------------------------------------------------------------- /Languages/SpanishLatin/DefInjected/ThingDef/CompSlotLoadable_Slots.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Test 5 | 6 | 7 | -------------------------------------------------------------------------------- /Languages/SpanishLatin/DefInjected/ThingDef/JT_Projectiles.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | objeto volando 5 | 6 | 7 | -------------------------------------------------------------------------------- /Languages/SpanishLatin/DefInjected/WorldObjectDef/WorldObjects.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | barra de progreso 5 | Esto no debe ser visible a los jugadores. 6 | 7 | 8 | -------------------------------------------------------------------------------- /Languages/SpanishLatin/Keyed/AbilityUser.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | DESABILITADO 5 | 6 | Tipo: 7 | Área de efecto 8 | Dirige así mismo 9 | Dirige a Otros 10 | Locación a donde se dirige 11 | Enfriamiento: 12 | Extra 13 | Chance del Estado Mental 14 | Chance de efecto 15 | {0} Necesita tiempo para recargar 16 | 17 | 18 | Propiedades del Área de Efecto 19 | Objetivo: 20 | Personajes 21 | Fuego Amigo: 22 | Objetivos Máximos: 23 | Comienza desde el emisor: 24 | 25 | 26 | -------------------------------------------------------------------------------- /Languages/SpanishLatin/Keyed/CompActivatableEffect.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | PELIGRO: el arma de {0} está desactivada! 5 | 6 | -------------------------------------------------------------------------------- /Languages/SpanishLatin/Keyed/CompInstalledPart.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Instalar en algo 5 | Desinstalar {0} 6 | {0} Instalo el/la {1} en el/la {2} 7 | {0} Desinstalo el/la {1} desde {2} 8 | 9 | 10 | -------------------------------------------------------------------------------- /Languages/SpanishLatin/Keyed/Eng_WorldObjectMods.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | porque no hay caravana disponible en esta locación 5 | Recursos: {0} 6 | Fallido. {1} de los {0} materiales es requirido. 7 | 8 | 9 | -------------------------------------------------------------------------------- /Languages/SpanishLatin/Keyed/Grapple.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Se aferro exitosamente 5 | Fallo en aferrarse 6 | Ataque a un caído: Se aferro exitosamente 7 | Ataque sigiloso: Se aferro exitosamente 8 | Victima Contenida: Se aferro exitosamente 9 | Victima Durmiendo: Se aferro exitosamente 10 | 11 | 12 | -------------------------------------------------------------------------------- /Languages/SpanishLatin/Keyed/Misc.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | Debe ser colocado en la pared. 4 | {0} absorbido 5 | Monto absorbido: {0} 6 | Chance de Retroceso: {0} 7 | Daño extra: 8 | Explosivo 9 | 10 | 11 | -------------------------------------------------------------------------------- /LoadFolders.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
  • /
  • 5 |
    6 | 7 |
  • 1.0
  • 8 |
  • /
  • 9 |
    10 |
    -------------------------------------------------------------------------------- /RimworldModReleaseTool.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/RimworldModReleaseTool.exe -------------------------------------------------------------------------------- /Source/.idea/.idea.JecsTools/.idea/.name: -------------------------------------------------------------------------------- 1 | JecsTools -------------------------------------------------------------------------------- /Source/.idea/.idea.JecsTools/.idea/indexLayout.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/.idea/.idea.JecsTools/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/.idea/.idea.JecsTools/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Source/.idea/.idea.JecsTools/riderModule.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Source/.vs/AbilityUser/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/.vs/AbilityUser/v15/.suo -------------------------------------------------------------------------------- /Source/.vs/CompActivatableEffect/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/.vs/CompActivatableEffect/v15/.suo -------------------------------------------------------------------------------- /Source/.vs/CompDeflector/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/.vs/CompDeflector/v15/.suo -------------------------------------------------------------------------------- /Source/.vs/JecsTools/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/.vs/JecsTools/v15/.suo -------------------------------------------------------------------------------- /Source/.vs/JecsTools/v15/Server/sqlite3/db.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/.vs/JecsTools/v15/Server/sqlite3/db.lock -------------------------------------------------------------------------------- /Source/.vs/JecsTools/v15/Server/sqlite3/storage.ide: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/.vs/JecsTools/v15/Server/sqlite3/storage.ide -------------------------------------------------------------------------------- /Source/.vs/JecsTools/v15/Server/sqlite3/storage.ide-shm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/.vs/JecsTools/v15/Server/sqlite3/storage.ide-shm -------------------------------------------------------------------------------- /Source/.vs/JecsTools/v15/Server/sqlite3/storage.ide-wal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/.vs/JecsTools/v15/Server/sqlite3/storage.ide-wal -------------------------------------------------------------------------------- /Source/AllModdingComponents/.idea/.idea.PawnShields/.idea/.name: -------------------------------------------------------------------------------- 1 | PawnShields -------------------------------------------------------------------------------- /Source/AllModdingComponents/.idea/.idea.PawnShields/.idea/indexLayout.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/.idea/.idea.PawnShields/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/.idea/.idea.PawnShields/riderModule.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/.vs/CompAbilityUser/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/.vs/CompAbilityUser/v15/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/.vs/CompAnimated/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/.vs/CompAnimated/v15/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/.vs/CompDelayedSpawner/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/.vs/CompDelayedSpawner/v15/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/.vs/CompExtraSounds/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/.vs/CompExtraSounds/v15/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/.vs/CompInstalledPart/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/.vs/CompInstalledPart/v15/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/.vs/CompLumbering/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/.vs/CompLumbering/v15/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/.vs/CompOverlays/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/.vs/CompOverlays/v15/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/.vs/CompOversizedWeapon/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/.vs/CompOversizedWeapon/v15/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/.vs/CompPilotable/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/.vs/CompPilotable/v15/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/.vs/CompToggleDef/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/.vs/CompToggleDef/v15/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/.vs/CompVehicle/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/.vs/CompVehicle/v15/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/.vs/JecsTools/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/.vs/JecsTools/v15/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/.vs/PawnShields/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/.vs/PawnShields/v15/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/AbilityUserAI.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26430.14 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AbilityUserAI", "AbilityUserAI\AbilityUserAI.csproj", "{4FC16277-5CB6-4A78-90FB-27F09888708A}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {4FC16277-5CB6-4A78-90FB-27F09888708A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {4FC16277-5CB6-4A78-90FB-27F09888708A}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {4FC16277-5CB6-4A78-90FB-27F09888708A}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {4FC16277-5CB6-4A78-90FB-27F09888708A}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/AbilityUserAI/AI/AbilityDecision/AbilityDecisionConditionalNode_CasterHealth.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | 3 | /* 4 | * Author: ChJees 5 | * Created: 2017-09-24 6 | */ 7 | 8 | namespace AbilityUserAI 9 | { 10 | /// 11 | /// Compares the casters health. 12 | /// 13 | public class AbilityDecisionConditionalNode_CasterHealth : AbilityDecisionNode 14 | { 15 | public float maxHealth = 1.0f; 16 | public float minHealth = 0.0f; 17 | 18 | public override bool CanContinueTraversing(Pawn caster) 19 | { 20 | var result = caster.HealthScale >= minHealth && 21 | caster.health.summaryHealth.SummaryHealthPercent <= maxHealth; 22 | 23 | if (invert) 24 | return !result; 25 | 26 | return result; 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/AbilityUserAI/AI/AbilityDecision/AbilityDecisionConditionalNode_EnemyTargetCover.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | 3 | /* 4 | * Author: ChJees 5 | * Created: 2017-09-24 6 | */ 7 | 8 | namespace AbilityUserAI 9 | { 10 | /// 11 | /// Checks the amount of cover the enemy target is in. 12 | /// 13 | public class AbilityDecisionConditionalNode_EnemyTargetCover : AbilityDecisionNode 14 | { 15 | /// 16 | /// Maximum amount of cover to return true at. 17 | /// 18 | public float maxCover = 1.0f; 19 | 20 | /// 21 | /// Minimum amount of cover to return true at. 22 | /// 23 | public float minCover = 0.0f; 24 | 25 | public override bool CanContinueTraversing(Pawn caster) 26 | { 27 | if (caster.mindState.enemyTarget == null) 28 | return false; 29 | 30 | var cover = CoverUtility.CalculateOverallBlockChance(caster.mindState.enemyTarget.Position, caster.Position, 31 | caster.Map); 32 | 33 | var result = cover >= minCover && cover < maxCover; 34 | 35 | if (invert) 36 | return !result; 37 | 38 | return result; 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/AbilityUserAI/AI/AbilityDecision/AbilityDecisionConditionalNode_EnemyTargetDistance.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Verse; 3 | 4 | /* 5 | * Author: ChJees 6 | * Created: 2017-09-23 7 | */ 8 | 9 | namespace AbilityUserAI 10 | { 11 | /// 12 | /// Use abilities constrained within this distance. 13 | /// 14 | public class AbilityDecisionConditionalNode_EnemyTargetDistance : AbilityDecisionNode 15 | { 16 | /// 17 | /// Maximum distance at which this is true. 18 | /// 19 | public float maxDistance = 9999.0f; 20 | 21 | /// 22 | /// Minimum distance at which this is true. 23 | /// 24 | public float minDistance = 0.0f; 25 | 26 | public override bool CanContinueTraversing(Pawn caster) 27 | { 28 | if (caster.mindState.enemyTarget == null) 29 | return false; 30 | 31 | var distance = Math.Abs(caster.Position.DistanceTo(caster.mindState.enemyTarget.Position)); 32 | 33 | var result = distance >= minDistance && distance < maxDistance; 34 | 35 | if (invert) 36 | return !result; 37 | 38 | return result; 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/AbilityUserAI/AI/AbilityDecision/AbilityDecisionConditionalNode_EnemyTargetIsArmed.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | 3 | /* 4 | * Author: ChJees 5 | * Created: 2017-11-05 6 | */ 7 | 8 | namespace AbilityUserAI 9 | { 10 | /// 11 | /// Checks if the current enemy target is armed. 12 | /// 13 | public class AbilityDecisionConditionalNode_EnemyTargetIsArmed : AbilityDecisionNode 14 | { 15 | public override bool CanContinueTraversing(Pawn caster) 16 | { 17 | if (caster.mindState.enemyTarget == null) 18 | return false; 19 | 20 | var enemyPawn = caster.mindState.enemyTarget as Pawn; 21 | 22 | if (enemyPawn == null) 23 | return false; 24 | 25 | var result = false; 26 | if (enemyPawn.AnimalOrWildMan()) 27 | result = false; 28 | else 29 | result = enemyPawn?.equipment.Primary != null; 30 | 31 | if (invert) 32 | return !result; 33 | 34 | return result; 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/AbilityUserAI/AI/AbilityDecision/AbilityDecisionConditionalNode_HasEnemyTarget.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | 3 | /* 4 | * Author: ChJees 5 | * Created: 2017-09-23 6 | */ 7 | 8 | namespace AbilityUserAI 9 | { 10 | /// 11 | /// Do our caster have a enemy target? 12 | /// 13 | public class AbilityDecisionConditionalNode_HasEnemyTarget : AbilityDecisionNode 14 | { 15 | public override bool CanContinueTraversing(Pawn caster) 16 | { 17 | var result = caster.mindState.enemyTarget != null; 18 | 19 | if (invert) 20 | return !result; 21 | 22 | return result; 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/AbilityUserAI/AI/AbilityDecision/AbilityDecisionConditionalNode_InCombat.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | 3 | /* 4 | * Author: ChJees 5 | * Created: 2017-09-23 6 | */ 7 | 8 | namespace AbilityUserAI 9 | { 10 | /// 11 | /// Is the pawn in combat or near hostiles? 12 | /// 13 | public class AbilityDecisionConditionalNode_InCombat : AbilityDecisionNode 14 | { 15 | public override bool CanContinueTraversing(Pawn caster) 16 | { 17 | var result = caster.mindState.anyCloseHostilesRecently; 18 | 19 | if (invert) 20 | return !result; 21 | 22 | return result; 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/AbilityUserAI/AI/AbilityDecision/AbilityDecisionConditionalNode_UsingMeleeWeapon.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | 3 | /* 4 | * Author: ChJees 5 | * Created: 2017-09-25 6 | */ 7 | 8 | namespace AbilityUserAI 9 | { 10 | /// 11 | /// Checks whether the caster is equipped with a melee weapon or not. 12 | /// 13 | public class AbilityDecisionConditionalNode_UsingMeleeWeapon : AbilityDecisionNode 14 | { 15 | public bool countUnarmed = true; 16 | 17 | public override bool CanContinueTraversing(Pawn caster) 18 | { 19 | var result = false; 20 | 21 | if (countUnarmed) 22 | result = caster?.equipment.Primary == null || 23 | caster?.equipment.Primary != null && !caster.equipment.Primary.def.IsRangedWeapon; 24 | else 25 | result = caster?.equipment.Primary != null && !caster.equipment.Primary.def.IsRangedWeapon; 26 | 27 | if (invert) 28 | return !result; 29 | 30 | return result; 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/AbilityUserAI/AI/AbilityDecision/AbilityDecisionConditionalNode_UsingRangedWeapon.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | 3 | /* 4 | * Author: ChJees 5 | * Created: 2017-09-24 6 | */ 7 | 8 | namespace AbilityUserAI 9 | { 10 | /// 11 | /// Checks whether the caster is equipped with a ranged weapon or not. 12 | /// 13 | public class AbilityDecisionConditionalNode_UsingRangedWeapon : AbilityDecisionNode 14 | { 15 | public override bool CanContinueTraversing(Pawn caster) 16 | { 17 | var result = caster?.equipment.Primary != null && caster.equipment.Primary.def.IsRangedWeapon; 18 | 19 | if (invert) 20 | return !result; 21 | 22 | return result; 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/AbilityUserAI/AIDefOf.cs: -------------------------------------------------------------------------------- 1 | using RimWorld; 2 | 3 | /* 4 | * Author: ChJees 5 | * Created: 2017-09-24 6 | */ 7 | 8 | namespace AbilityUserAI 9 | { 10 | /// 11 | /// Convenience class for getting Defs for AI. 12 | /// 13 | [DefOf] 14 | public static class AIDefOf 15 | { 16 | /// 17 | /// AI version of AbilityDefOf.CastAbilityVerb. 18 | /// 19 | //public static JobDef CastAbilityVerbAI; 20 | 21 | /// 22 | /// AI version of AbilityDefOf.CastAbilitySelf. 23 | /// 24 | //public static JobDef CastAbilitySelfAI; 25 | } 26 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompAbilityUser.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26228.12 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompAbilityUser", "CompAbilityUser\CompAbilityUser.csproj", "{417B8649-7A66-4580-8C75-473E46DA9C7A}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {417B8649-7A66-4580-8C75-473E46DA9C7A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {417B8649-7A66-4580-8C75-473E46DA9C7A}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {417B8649-7A66-4580-8C75-473E46DA9C7A}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {417B8649-7A66-4580-8C75-473E46DA9C7A}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompAbilityUser/.vs/AbilityUser/v14/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/CompAbilityUser/.vs/AbilityUser/v14/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompAbilityUser/.vs/AbilityUser/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/CompAbilityUser/.vs/AbilityUser/v15/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompAbilityUser/AbilityButtons.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using Verse; 3 | 4 | namespace AbilityUser 5 | { 6 | [StaticConstructorOnStartup] 7 | public class AbilityButtons 8 | { 9 | public static readonly Texture2D EmptyTex = SolidColorMaterials.NewSolidColorTexture(Color.clear); 10 | public static readonly Texture2D FullTex = SolidColorMaterials.NewSolidColorTexture(0.5f, 0.5f, 0.5f, 0.6f); 11 | } 12 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompAbilityUser/AbilityDefOf.cs: -------------------------------------------------------------------------------- 1 | using RimWorld; 2 | using Verse; 3 | 4 | namespace AbilityUser 5 | { 6 | [DefOf] 7 | public static class AbilityDefOf 8 | { 9 | public static JobDef CastAbilitySelf; 10 | public static JobDef CastAbilityVerb; 11 | } 12 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompAbilityUser/AoEProperties.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace AbilityUser 4 | { 5 | public class TargetAoEProperties 6 | { 7 | public bool friendlyFire = false; 8 | public int maxTargets = 3; 9 | public int range; 10 | public bool showRangeOnSelect = true; 11 | public bool startsFromCaster = true; 12 | public Type targetClass; 13 | } 14 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompAbilityUser/ApplyHediffs.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | 3 | namespace AbilityUser 4 | { 5 | public class ApplyHediffs : IExposable 6 | { 7 | public float applyChance = 1.0f; 8 | public HediffDef hediffDef; 9 | public float severity = 1.0f; 10 | 11 | public void ExposeData() 12 | { 13 | Scribe_Values.Look(ref applyChance, "applyChance", -1.0f); 14 | Scribe_Values.Look(ref severity, "severity", 1.0f); 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompAbilityUser/ApplyMentalStates.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | 3 | namespace AbilityUser 4 | { 5 | public class ApplyMentalStates : IExposable 6 | { 7 | public float applyChance = 1.0f; 8 | public MentalStateDef mentalStateDef; 9 | 10 | public void ExposeData() 11 | { 12 | Scribe_Defs.Look(ref mentalStateDef, "mentalStateDef"); 13 | Scribe_Values.Look(ref applyChance, "applyChance", 1.0f); 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompAbilityUser/CompProperties_AbilityItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using Verse; 4 | 5 | namespace AbilityUser 6 | { 7 | public class CompProperties_AbilityItem : CompProperties 8 | { 9 | public List Abilities = new List(); 10 | 11 | public Type AbilityUserClass; 12 | 13 | public CompProperties_AbilityItem() 14 | { 15 | compClass = typeof(CompAbilityItem); 16 | AbilityUserClass = typeof(GenericCompAbilityUser); // default 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompAbilityUser/CompProperties_AbilityUser.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | 3 | namespace AbilityUser 4 | { 5 | public class CompProperties_AbilityUser : CompProperties 6 | { 7 | public CompProperties_AbilityUser() 8 | { 9 | compClass = typeof(CompAbilityUser); 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompAbilityUser/Controller/AbilityContext.cs: -------------------------------------------------------------------------------- 1 | namespace AbilityUser 2 | { 3 | public enum AbilityContext 4 | { 5 | Player, 6 | AI 7 | } 8 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompAbilityUser/ExtraDamage.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | 3 | namespace AbilityUser 4 | { 5 | public class ExtraDamage : IExposable 6 | { 7 | public float chance; 8 | public int damage; 9 | public DamageDef damageDef; 10 | 11 | public void ExposeData() 12 | { 13 | Scribe_Values.Look(ref damage, "damage", -1); 14 | Scribe_Defs.Look(ref damageDef, "damageDef"); 15 | Scribe_Values.Look(ref chance, "chance", -1f); 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompAbilityUser/Model/VerbProperties_Ability.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using RimWorld; 3 | using Verse; 4 | 5 | namespace AbilityUser 6 | { 7 | public class VerbProperties_Ability : VerbProperties 8 | { 9 | public AbilityDef abilityDef; 10 | 11 | public AbilityTargetCategory AbilityTargetCategory = AbilityTargetCategory.TargetThing; 12 | 13 | public bool AlwaysHits = true; 14 | 15 | public bool mustHaveTarget = false; 16 | public bool refundsPointsAfterFailing = false; 17 | 18 | public bool canCastInMelee = true; 19 | 20 | public List extraDamages = null; 21 | 22 | public List hediffsToApply = null; 23 | public bool isViolent = true; 24 | 25 | public List mentalStatesToApply = null; 26 | 27 | public bool requiresLineOfSight = true; 28 | 29 | public float SecondsToRecharge = 10.0f; 30 | 31 | public List statModifiers = null; 32 | public TargetAoEProperties TargetAoEProperties = null; 33 | 34 | public List thingsToSpawn = null; 35 | public bool tooltipShowExtraDamages = true; 36 | public bool tooltipShowHediffsToApply = true; 37 | public bool tooltipShowMentalStatesToApply = true; 38 | 39 | public bool tooltipShowProjectileDamage = true; 40 | } 41 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompAbilityUser/PassiveEffectProperties.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using Verse; 4 | 5 | namespace AbilityUser 6 | { 7 | public class PassiveEffectProperties 8 | { 9 | public bool awakeOnly = false; 10 | public bool combatOnly = false; 11 | public List hediffs; 12 | private PassiveEffectWorker passiveEffectWorkerInt; 13 | public TickerType tickerType = TickerType.Rare; 14 | public Type worker; 15 | 16 | public PassiveEffectWorker Worker 17 | { 18 | get 19 | { 20 | if (passiveEffectWorkerInt == null) 21 | { 22 | passiveEffectWorkerInt = (PassiveEffectWorker) Activator.CreateInstance(worker); 23 | passiveEffectWorkerInt.Props = this; 24 | } 25 | return passiveEffectWorkerInt; 26 | } 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompAbilityUser/PawnAbilityTargetCategory.cs: -------------------------------------------------------------------------------- 1 | namespace AbilityUser 2 | { 3 | public enum AbilityTargetCategory 4 | { 5 | TargetSelf, 6 | TargetThing, 7 | TargetLocation, 8 | TargetAoE 9 | } 10 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompAbilityUser/ProjectileDef_Ability.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | 3 | namespace AbilityUser 4 | { 5 | public class ProjectileDef_Ability : ThingDef 6 | { 7 | public int HealCapacity = 3; 8 | public float HealFailChance = 0.3f; 9 | public bool IsBeamProjectile = false; 10 | } 11 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompAbilityUser/ProjectileDef_LaserProjectile.cs: -------------------------------------------------------------------------------- 1 | namespace AbilityUser 2 | { 3 | public class ProjectileDef_AbilityLaser : ProjectileDef_Ability 4 | { 5 | public bool CanStartFire = false; 6 | public int postFiringDuration = 0; 7 | public float postFiringFinalIntensity = 0f; 8 | public float postFiringInitialIntensity = 0f; 9 | public int preFiringDuration = 0; 10 | public float preFiringFinalIntensity = 0f; 11 | public float preFiringInitialIntensity = 0f; 12 | public float StartFireChance; 13 | public string warmupGraphicPathSingle = null; 14 | } 15 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompAbilityUser/SpawnThings.cs: -------------------------------------------------------------------------------- 1 | using RimWorld; 2 | using Verse; 3 | 4 | namespace AbilityUser 5 | { 6 | public class SpawnThings : IExposable 7 | { 8 | public ThingDef def; 9 | public FactionDef factionDef; 10 | public PawnKindDef kindDef; 11 | public int spawnCount = 1; 12 | public bool temporary; 13 | 14 | public void ExposeData() 15 | { 16 | Scribe_Defs.Look(ref def, "def"); 17 | Scribe_Defs.Look(ref kindDef, "kindDef"); 18 | Scribe_Defs.Look(ref factionDef, "factionDef"); 19 | Scribe_Values.Look(ref spawnCount, "spawnCount", 1); 20 | Scribe_Values.Look(ref temporary, "temporary", false); 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompAbilityUser/bin/Release/0Harmony.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/CompAbilityUser/bin/Release/0Harmony.dll -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompActivatableEffect.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26228.12 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompActivatableEffect", "CompActivatableEffect\CompActivatableEffect.csproj", "{EC1AEA45-45FE-4A6A-A835-81B289E03BC9}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {EC1AEA45-45FE-4A6A-A835-81B289E03BC9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {EC1AEA45-45FE-4A6A-A835-81B289E03BC9}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {EC1AEA45-45FE-4A6A-A835-81B289E03BC9}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {EC1AEA45-45FE-4A6A-A835-81B289E03BC9}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompActivatableEffect/.vs/CompActivatableEffect/v14/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/CompActivatableEffect/.vs/CompActivatableEffect/v14/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompActivatableEffect/.vs/CompActivatableEffect/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/CompActivatableEffect/.vs/CompActivatableEffect/v15/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompActivatableEffect/CompProperties_ActivatableEffect.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | 3 | namespace CompActivatableEffect 4 | { 5 | public class CompProperties_ActivatableEffect : CompProperties 6 | { 7 | public string ActivateLabel; 8 | 9 | public SoundDef activateSound; 10 | 11 | public AltitudeLayer altitudeLayer; 12 | 13 | public bool autoActivateOnDraft = true; 14 | public string DeactivateLabel; 15 | public SoundDef deactivateSound; 16 | 17 | public bool draftToUseGizmos = true; 18 | 19 | public bool gizmosOnEquip = false; 20 | public GraphicData graphicData; 21 | public SoundDef sustainerSound; 22 | 23 | public string uiIconPathActivate; 24 | public string uiIconPathDeactivate; 25 | 26 | public CompProperties_ActivatableEffect() 27 | { 28 | compClass = typeof(CompActivatableEffect); 29 | } 30 | 31 | public float Altitude => Altitudes.AltitudeFor(altitudeLayer); 32 | } 33 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompActivatableEffect/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyTitle("CompActivatableEffect")] 5 | [assembly: AssemblyDescription("")] 6 | [assembly: AssemblyConfiguration("")] 7 | [assembly: AssemblyCompany("")] 8 | [assembly: AssemblyProduct("CompActivatableEffect")] 9 | [assembly: AssemblyCopyright("Copyright © Jecrell 2017")] 10 | [assembly: AssemblyTrademark("")] 11 | [assembly: AssemblyCulture("")] 12 | 13 | [assembly: ComVisible(false)] 14 | 15 | [assembly: Guid("ec1aea45-45fe-4a6a-a835-81b289e03bc9")] 16 | 17 | [assembly: AssemblyVersion("1.18.0.0")] 18 | [assembly: AssemblyFileVersion("1.18.0.0")] -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompActivatableEffect/xml/CompActivatableEffect.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | WARNING: {0}'s current weapon is deactivated! 5 | 6 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompAnimated.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26228.12 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompAnimated", "CompAnimated\CompAnimated.csproj", "{CF56EA3A-AEC6-4817-BF46-A886FBEAA49B}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {CF56EA3A-AEC6-4817-BF46-A886FBEAA49B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {CF56EA3A-AEC6-4817-BF46-A886FBEAA49B}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {CF56EA3A-AEC6-4817-BF46-A886FBEAA49B}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {CF56EA3A-AEC6-4817-BF46-A886FBEAA49B}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompAnimated/CompAnimatedOver.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using Verse; 3 | 4 | namespace CompAnimated 5 | { 6 | public class CompAnimatedOver : CompAnimated 7 | { 8 | protected Graphic scaled; 9 | /// 10 | /// Additional programatic movement hooks 11 | /// 12 | public float yOffset = 0f, xOffset = 0f, xScale = 1f, yScale = 1f; 13 | 14 | public CompProperties_AnimatedOver OverProps => (CompProperties_AnimatedOver) props; 15 | 16 | public override void Render() 17 | { 18 | Vector3 drawPos = this.parent.DrawPos; 19 | 20 | //apply offset 21 | drawPos.x += OverProps.xOffset + xOffset; 22 | drawPos.z += OverProps.yOffset + yOffset; 23 | 24 | scaled.Draw(drawPos, Rot4.North, this.parent); 25 | } 26 | 27 | public override void NotifyGraphicsChange() 28 | { 29 | var vector2 = new Vector2(OverProps.xScale*xScale, OverProps.yScale*yScale); 30 | 31 | var sz = curGraphic.drawSize; 32 | sz.Scale(vector2); 33 | scaled = curGraphic.GetCopy(sz); 34 | base.NotifyGraphicsChange(); 35 | } 36 | 37 | public void Invalidate() 38 | { 39 | curGraphic = null; 40 | this.dirty = true; 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompAnimated/CompProperties_Animated.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Verse; 3 | 4 | namespace CompAnimated 5 | { 6 | public class CompProperties_Animated : CompProperties 7 | { 8 | public List movingFrames = new List(); 9 | public float secondsBetweenFrames = 0.0f; 10 | public SoundDef sound = null; 11 | public List stillFrames = new List(); 12 | 13 | public CompProperties_Animated() 14 | { 15 | compClass = typeof(CompAnimated); 16 | } 17 | 18 | public override IEnumerable ConfigErrors(ThingDef parentDef) 19 | { 20 | foreach (var error in base.ConfigErrors(parentDef)) 21 | { 22 | yield return error; 23 | } 24 | 25 | if (stillFrames.NullOrEmpty() && movingFrames.NullOrEmpty()) 26 | { 27 | yield return "Forgot to define stillFrame > li or movingFrame > li"; 28 | } 29 | 30 | if (secondsBetweenFrames<=0f) 31 | { 32 | yield return "Forgot to define secondsBetweenFrames"; 33 | } 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompAnimated/CompProperties_AnimatedOver.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Verse; 3 | 4 | namespace CompAnimated 5 | { 6 | public class CompProperties_AnimatedOver : CompProperties_Animated 7 | { 8 | public float yOffset = 0f, xOffset = 0f, xScale = 1f, yScale = 1f; 9 | public CompProperties_AnimatedOver() 10 | { 11 | compClass = typeof(CompAnimatedOver); 12 | } 13 | 14 | public override IEnumerable ConfigErrors(ThingDef parentDef) 15 | { 16 | foreach (var error in base.ConfigErrors(parentDef)) 17 | { 18 | yield return error; 19 | } 20 | 21 | if (xScale <= 0f) 22 | { 23 | xScale = 0f; 24 | yield return "xScale must be positive"; 25 | } 26 | 27 | if (yScale <= 0f) 28 | { 29 | yScale = 0f; 30 | yield return "yScale must be positive"; 31 | } 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompAnimated/HarmonyCompLumbering.cs: -------------------------------------------------------------------------------- 1 | using Harmony; 2 | using RimWorld; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Text; 7 | using Verse; 8 | using Verse.AI; 9 | using System.Reflection; 10 | using UnityEngine; 11 | 12 | namespace CompLumbering 13 | { 14 | [StaticConstructorOnStartup] 15 | static class HarmonyCompLumbering 16 | { 17 | static HarmonyCompLumbering() 18 | { 19 | HarmonyInstance harmony = HarmonyInstance.Create("rimworld.jecrell.comps.lumbering"); 20 | harmony.Patch(AccessTools.Method(typeof(PawnGraphicSet), "nakedGraphic"), null, new HarmonyMethod(typeof(HarmonyCompLumbering), "SoundMissPrefix")); 21 | } 22 | // Verse.PawnGraphicSet 23 | 24 | 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompBalloon.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26228.12 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompBalloon", "CompBalloon\CompBalloon.csproj", "{CE293DBE-D76A-4F24-A086-42051996698D}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {05E24FAB-C6BF-43B5-BF69-B92AA38338CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {05E24FAB-C6BF-43B5-BF69-B92AA38338CA}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {05E24FAB-C6BF-43B5-BF69-B92AA38338CA}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {05E24FAB-C6BF-43B5-BF69-B92AA38338CA}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompBalloon/CompProperties_Balloon.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | 3 | namespace CompBalloon 4 | { 5 | public class CompProperties_Balloon : CompProperties 6 | { 7 | public float secondsBetweenCycles = 3.0f; 8 | public FloatRange balloonRange = new FloatRange(0.95f, 1.05f); 9 | 10 | public CompProperties_Balloon() 11 | { 12 | compClass = typeof(CompBalloon); 13 | } 14 | 15 | public override void ResolveReferences(ThingDef parentDef) 16 | { 17 | base.ResolveReferences(parentDef); 18 | if (secondsBetweenCycles <= 0.0f) 19 | Log.ErrorOnce("CompBalloon :: CompProperties_Balloon secondsBetweenSteps needs to be more than 0", 20 | 132); 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompBalloon/HarmonyCompBalloon.cs: -------------------------------------------------------------------------------- 1 | using Harmony; 2 | using RimWorld; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Text; 7 | using Verse; 8 | using Verse.AI; 9 | using System.Reflection; 10 | using UnityEngine; 11 | 12 | namespace CompLumbering 13 | { 14 | [StaticConstructorOnStartup] 15 | static class HarmonyCompLumbering 16 | { 17 | static HarmonyCompLumbering() 18 | { 19 | HarmonyInstance harmony = HarmonyInstance.Create("rimworld.jecrell.comps.lumbering"); 20 | harmony.Patch(AccessTools.Method(typeof(PawnGraphicSet), "nakedGraphic"), null, new HarmonyMethod(typeof(HarmonyCompLumbering), "SoundMissPrefix")); 21 | } 22 | // Verse.PawnGraphicSet 23 | 24 | 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompBigBox.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.25420.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompBigBox", "CompBigBox\CompBigBox.csproj", "{6EC26D07-B5A0-4075-8919-3B05AF74CE87}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {6EC26D07-B5A0-4075-8919-3B05AF74CE87}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {6EC26D07-B5A0-4075-8919-3B05AF74CE87}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {6EC26D07-B5A0-4075-8919-3B05AF74CE87}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {6EC26D07-B5A0-4075-8919-3B05AF74CE87}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompBigBox/DefModExtension_BigBox.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using Verse; 3 | 4 | namespace DefModExtension_BigBox 5 | { 6 | public class DefModExtension_BigBox : DefModExtension 7 | { 8 | public Vector2 size; 9 | public Vector3 offset; 10 | public bool directionBased; 11 | public Vector2 westSize; 12 | public Vector3 westOffset; 13 | public Vector2 northSize; 14 | public Vector3 northOffset; 15 | public Vector2 eastSize; 16 | public Vector3 eastOffset; 17 | public Vector2 southSize; 18 | public Vector3 southOffset; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompBigBox/HitBoxHolder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using RimWorld; 6 | using Verse; 7 | 8 | namespace DefModExtension_BigBox 9 | { 10 | class ThingWithComps_HitBox : ThingWithComps 11 | { 12 | public Pawn master = null; 13 | 14 | public override void Draw() 15 | { 16 | } 17 | 18 | public override void Tick() 19 | { 20 | base.Tick(); 21 | CheckNeedsDestruction(); 22 | } 23 | 24 | public void CheckNeedsDestruction() 25 | { 26 | if (master != null && this.Spawned) 27 | { 28 | if (!master.Spawned) 29 | { 30 | this.Destroy(0); 31 | return; 32 | } 33 | 34 | } 35 | } 36 | 37 | public override void ExposeData() 38 | { 39 | base.ExposeData(); 40 | Scribe_References.Look(ref this.master, "master", false); 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompDeflector.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.25420.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompDeflector", "CompDeflector\CompDeflector.csproj", "{4A2FA470-0CA5-442B-B04D-2C4A62859CA7}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {4A2FA470-0CA5-442B-B04D-2C4A62859CA7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {4A2FA470-0CA5-442B-B04D-2C4A62859CA7}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {4A2FA470-0CA5-442B-B04D-2C4A62859CA7}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {4A2FA470-0CA5-442B-B04D-2C4A62859CA7}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompDeflector/.vs/CompDeflector/v14/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/CompDeflector/.vs/CompDeflector/v14/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompDeflector/CompDeflectorDefOf.cs: -------------------------------------------------------------------------------- 1 | using RimWorld; 2 | using Verse; 3 | 4 | namespace CompDeflector 5 | { 6 | [DefOf] 7 | public static class CompDeflectorDefOf 8 | { 9 | public static JobDef CastDeflectVerb; 10 | } 11 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompDelayedSpawner.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26228.12 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompDelayedSpawner", "CompDelayedSpawner\CompDelayedSpawner.csproj", "{417B8649-7A66-4580-8C75-473E46DA9C7A}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {417B8649-7A66-4580-8C75-473E46DA9C7A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {417B8649-7A66-4580-8C75-473E46DA9C7A}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {417B8649-7A66-4580-8C75-473E46DA9C7A}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {417B8649-7A66-4580-8C75-473E46DA9C7A}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompDelayedSpawner/.vs/AbilityUser/v14/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/CompDelayedSpawner/.vs/AbilityUser/v14/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompDelayedSpawner/.vs/AbilityUser/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/CompDelayedSpawner/.vs/AbilityUser/v15/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompDelayedSpawner/.vs/CompAbilityUser/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/CompDelayedSpawner/.vs/CompAbilityUser/v15/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompDelayedSpawner/.vs/CompDelayedSpawner/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/CompDelayedSpawner/.vs/CompDelayedSpawner/v15/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompDelayedSpawner/CompProperties_DelayedSpawner.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using RimWorld; 3 | using Verse; 4 | 5 | namespace CompDelayedSpawner 6 | { 7 | public class SpawnInfo 8 | { 9 | public FactionDef faction = null; 10 | public int num = 1; 11 | public PawnKindDef pawnKind = null; 12 | public ThingDef thing = null; 13 | public List withHediffs = new List(); 14 | public MentalStateDef withMentalState = null; 15 | } 16 | 17 | public class CompProperties_DelayedSpawner : CompProperties 18 | { 19 | public bool destroyAfterSpawn = true; 20 | public List spawnList = new List(); 21 | public bool spawnsOnce = true; 22 | public int tickRate = 60; //1 second 23 | public int ticksUntilSpawning = 30; //30 seconds 24 | 25 | public CompProperties_DelayedSpawner() 26 | { 27 | compClass = typeof(CompDelayedSpawner); 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompExtraSounds.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26228.12 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompExtraSounds", "CompExtraSounds\CompExtraSounds.csproj", "{05E24FAB-C6BF-43B5-BF69-B92AA38338CA}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {05E24FAB-C6BF-43B5-BF69-B92AA38338CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {05E24FAB-C6BF-43B5-BF69-B92AA38338CA}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {05E24FAB-C6BF-43B5-BF69-B92AA38338CA}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {05E24FAB-C6BF-43B5-BF69-B92AA38338CA}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompExtraSounds/CompExtraSounds.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | 3 | namespace CompExtraSounds 4 | { 5 | internal class CompExtraSounds : ThingComp 6 | { 7 | public CompProperties_ExtraSounds Props => (CompProperties_ExtraSounds) props; 8 | } 9 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompExtraSounds/CompProperties_ExtraSounds.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | 3 | namespace CompExtraSounds 4 | { 5 | internal class CompProperties_ExtraSounds : CompProperties 6 | { 7 | public SoundDef soundExtra; 8 | public SoundDef soundExtraTwo; 9 | public SoundDef soundHitBuilding; 10 | public SoundDef soundHitPawn; 11 | public SoundDef soundMiss; 12 | 13 | public CompProperties_ExtraSounds() 14 | { 15 | compClass = typeof(CompExtraSounds); 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompExtraSounds/DefModExtension_ExtraSounds.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using Verse; 7 | 8 | namespace CompExtraSounds 9 | { 10 | public class DefModExtension_ExtraSounds : DefModExtension 11 | { 12 | public SoundDef soundExtra; 13 | public SoundDef soundExtraTwo; 14 | public SoundDef soundHitBuilding; 15 | public SoundDef soundHitPawn; 16 | public SoundDef soundMiss; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompInstalledPart.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26228.12 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompInstalledPart", "CompInstalledPart\CompInstalledPart.csproj", "{05E24FAB-C6BF-43B5-BF69-B92AA38338CA}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {05E24FAB-C6BF-43B5-BF69-B92AA38338CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {05E24FAB-C6BF-43B5-BF69-B92AA38338CA}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {05E24FAB-C6BF-43B5-BF69-B92AA38338CA}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {05E24FAB-C6BF-43B5-BF69-B92AA38338CA}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompInstalledPart/.vs/CompInstalledPart/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/CompInstalledPart/.vs/CompInstalledPart/v15/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompInstalledPart/CompProperties_InstalledPart.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Verse; 3 | 4 | namespace CompInstalledPart 5 | { 6 | public class CompProperties_InstalledPart : CompProperties 7 | { 8 | public List allowedToInstallOn; 9 | public GraphicData installedWeaponGraphic; 10 | 11 | public EffecterDef workEffect; 12 | 13 | //public GraphicData installedOverlayGraphic; // Considering adding this at some stage 14 | public int workToInstall = 500; 15 | 16 | public int workToUninstall = 500; 17 | 18 | public CompProperties_InstalledPart() 19 | { 20 | compClass = typeof(CompInstalledPart); 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompLumbering.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26228.12 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompLumbering", "CompLumbering\CompLumbering.csproj", "{05E24FAB-C6BF-43B5-BF69-B92AA38338CA}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {05E24FAB-C6BF-43B5-BF69-B92AA38338CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {05E24FAB-C6BF-43B5-BF69-B92AA38338CA}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {05E24FAB-C6BF-43B5-BF69-B92AA38338CA}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {05E24FAB-C6BF-43B5-BF69-B92AA38338CA}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompLumbering/CompProperties_Lumbering.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | 3 | namespace CompLumbering 4 | { 5 | public class CompProperties_Lumbering : CompProperties 6 | { 7 | public GraphicData cycledGraphic = null; 8 | public float secondsBetweenSteps = 0.0f; 9 | public float secondsPerStep = 0.0f; 10 | public SoundDef sound = null; 11 | public bool staggerEffect = true; 12 | 13 | public CompProperties_Lumbering() 14 | { 15 | compClass = typeof(CompLumbering); 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompLumbering/HarmonyCompLumbering.cs: -------------------------------------------------------------------------------- 1 | using Harmony; 2 | using RimWorld; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Text; 7 | using Verse; 8 | using Verse.AI; 9 | using System.Reflection; 10 | using UnityEngine; 11 | 12 | namespace CompLumbering 13 | { 14 | [StaticConstructorOnStartup] 15 | static class HarmonyCompLumbering 16 | { 17 | static HarmonyCompLumbering() 18 | { 19 | HarmonyInstance harmony = HarmonyInstance.Create("rimworld.jecrell.comps.lumbering"); 20 | harmony.Patch(AccessTools.Method(typeof(PawnGraphicSet), "nakedGraphic"), null, new HarmonyMethod(typeof(HarmonyCompLumbering), "SoundMissPrefix")); 21 | } 22 | // Verse.PawnGraphicSet 23 | 24 | 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompOverlays.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26228.12 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompOverlays", "CompOverlays\CompOverlays.csproj", "{05E24FAB-C6BF-43B5-BF69-B92AA38338CA}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {05E24FAB-C6BF-43B5-BF69-B92AA38338CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {05E24FAB-C6BF-43B5-BF69-B92AA38338CA}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {05E24FAB-C6BF-43B5-BF69-B92AA38338CA}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {05E24FAB-C6BF-43B5-BF69-B92AA38338CA}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompOverlays/.vs/CompExtraSounds/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/CompOverlays/.vs/CompExtraSounds/v15/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompOverlays/CompOverlays.cs: -------------------------------------------------------------------------------- 1 | using RimWorld; 2 | using Verse; 3 | 4 | namespace CompOverlays 5 | { 6 | public class CompOverlays : ThingComp 7 | { 8 | public CompProperties_Overlays Props => props as CompProperties_Overlays; 9 | 10 | public override void PostDraw() 11 | { 12 | base.PostDraw(); 13 | if (Props.fuelRequired && parent.TryGetComp() is CompRefuelable rf && rf.HasFuel || 14 | Props.fuelRequired == false) 15 | { 16 | var drawPos = parent.DrawPos; 17 | drawPos.y += 0.046875f; 18 | for (var i = 0; i < Props.overlays.Count; i++) 19 | { 20 | var o = Props.overlays[i]; 21 | var vec3 = drawPos + o.offset; 22 | if (o.usesStuff) 23 | { 24 | o.graphicData.GraphicColoredFor(this.parent).Draw(vec3, parent.Rotation, parent, 0f); 25 | continue; 26 | } 27 | o.graphicData.Graphic.Draw(vec3, parent.Rotation, parent, 0f); 28 | } 29 | } 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompOverlays/CompProperties_Overlays.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | using Verse; 4 | 5 | namespace CompOverlays 6 | { 7 | public class GraphicOverlay 8 | { 9 | public GraphicData graphicData; 10 | 11 | public bool usesStuff = false; 12 | public Vector3 offset = Vector3.zero; 13 | 14 | } 15 | 16 | public class CompProperties_Overlays : CompProperties 17 | { 18 | public bool fuelRequired = false; 19 | public List overlays = new List(); 20 | 21 | public CompProperties_Overlays() 22 | { 23 | compClass = typeof(CompOverlays); 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompOverlays/bin/Release/CompOverlays.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/CompOverlays/bin/Release/CompOverlays.dll -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompOversizedWeapon.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.25420.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompOversizedWeapon", "CompOversizedWeapon\CompOversizedWeapon.csproj", "{05E24FAB-C6BF-43B5-BF69-B92AA38338CA}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {05E24FAB-C6BF-43B5-BF69-B92AA38338CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {05E24FAB-C6BF-43B5-BF69-B92AA38338CA}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {05E24FAB-C6BF-43B5-BF69-B92AA38338CA}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {05E24FAB-C6BF-43B5-BF69-B92AA38338CA}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompOversizedWeapon/.vs/CompExtraSounds/v14/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/CompOversizedWeapon/.vs/CompExtraSounds/v14/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompOversizedWeapon/CompOversizedWeapon.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | 3 | namespace CompOversizedWeapon 4 | { 5 | public class CompOversizedWeapon : ThingComp 6 | { 7 | public CompProperties_OversizedWeapon Props => props as CompProperties_OversizedWeapon; 8 | 9 | public CompOversizedWeapon() 10 | { 11 | if (!(props is CompProperties_OversizedWeapon)) 12 | props = new CompProperties_OversizedWeapon(); 13 | } 14 | 15 | 16 | public CompEquippable GetEquippable => parent?.GetComp(); 17 | 18 | public Pawn GetPawn => GetEquippable?.verbTracker?.PrimaryVerb?.CasterPawn; 19 | 20 | private bool isEquipped = false; 21 | public bool IsEquipped 22 | { 23 | get 24 | { 25 | if (Find.TickManager.TicksGame % 60 != 0) return isEquipped; 26 | isEquipped = GetPawn != null; 27 | return isEquipped; 28 | } 29 | } 30 | 31 | private bool firstAttack = false; 32 | public bool FirstAttack 33 | { 34 | get => firstAttack; 35 | set => firstAttack = value; 36 | } 37 | } 38 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompOversizedWeapon/CompProperties_OversizedWeapon.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using Verse; 3 | 4 | namespace CompOversizedWeapon 5 | { 6 | public class CompProperties_OversizedWeapon : CompProperties 7 | { 8 | //public SoundDef soundMiss; 9 | //public SoundDef soundHitPawn; 10 | //public SoundDef soundHitBuilding; 11 | //public SoundDef soundExtra; 12 | //public SoundDef soundExtraTwo; 13 | 14 | public Vector3 offset = new Vector3(0,0,0); //No longer in-use. 15 | public Vector3 northOffset = new Vector3(0,0,0); 16 | public Vector3 eastOffset = new Vector3(0,0,0); 17 | public Vector3 southOffset = new Vector3(0,0,0); 18 | public Vector3 westOffset = new Vector3(0,0,0); 19 | public bool verticalFlipOutsideCombat = false; 20 | public bool verticalFlipNorth = false; 21 | public bool isDualWeapon = false; 22 | public float angleAdjustmentEast = 0f; 23 | public float angleAdjustmentWest = 0f; 24 | public float angleAdjustmentNorth = 0f; 25 | public float angleAdjustmentSouth = 0f; 26 | 27 | public GraphicData groundGraphic = null; 28 | 29 | public CompProperties_OversizedWeapon() 30 | { 31 | compClass = typeof(CompOversizedWeapon); 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompOversizedWeapon/bin/Release/CompOversizedWeapon.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/CompOversizedWeapon/bin/Release/CompOversizedWeapon.dll -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompSlotLoadable.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.25420.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompSlotLoadable", "CompSlotLoadable\CompSlotLoadable.csproj", "{6EC26D07-B5A0-4075-8919-3B05AF74CE87}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {6EC26D07-B5A0-4075-8919-3B05AF74CE87}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {6EC26D07-B5A0-4075-8919-3B05AF74CE87}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {6EC26D07-B5A0-4075-8919-3B05AF74CE87}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {6EC26D07-B5A0-4075-8919-3B05AF74CE87}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompSlotLoadable/CompProperties_SlotLoadable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Verse; 3 | 4 | namespace CompSlotLoadable 5 | { 6 | public class CompProperties_SlotLoadable : CompProperties 7 | { 8 | public bool gizmosOnEquip = true; 9 | 10 | public List slots = new List(); 11 | 12 | public CompProperties_SlotLoadable() 13 | { 14 | compClass = typeof(CompSlotLoadable); 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompSlotLoadable/CompProperties_SlottedBonus.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using RimWorld; 3 | using UnityEngine; 4 | using Verse; 5 | 6 | namespace CompSlotLoadable 7 | { 8 | public class CompProperties_SlottedBonus : CompProperties 9 | { 10 | public List additionalProjectiles = new List(); 11 | 12 | public Color color = Color.white; 13 | 14 | public DamageDef damageDef = null; 15 | 16 | public float armorPenetration = 0f; 17 | 18 | public SlotBonusProps_DefensiveHealChance defensiveHealChance = null; 19 | 20 | public float muzzleFlashMod = 0.0f; 21 | 22 | public ThingDef projectileReplacer = null; 23 | 24 | public SoundDef soundCastReplacer = null; 25 | public List statModifiers = null; 26 | 27 | public SlotBonusProps_VampiricEffect vampiricHealChance = null; 28 | 29 | public float weaponRangeMod = 0.0f; 30 | 31 | public CompProperties_SlottedBonus() 32 | { 33 | compClass = typeof(CompSlottedBonus); 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompSlotLoadable/CompSlotLoadableDefOf.cs: -------------------------------------------------------------------------------- 1 | using RimWorld; 2 | using Verse; 3 | 4 | namespace CompSlotLoadable 5 | { 6 | [DefOf] 7 | public static class CompSlotLoadableDefOf 8 | { 9 | public static JobDef GatherSlotItem; 10 | } 11 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompSlotLoadable/CompSlottedBonus.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | 3 | namespace CompSlotLoadable 4 | { 5 | public class CompSlottedBonus : ThingComp 6 | { 7 | public CompProperties_SlottedBonus Props => (CompProperties_SlottedBonus) props; 8 | } 9 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompSlotLoadable/SlotBonusProps_DefensiveHealChance.cs: -------------------------------------------------------------------------------- 1 | namespace CompSlotLoadable 2 | { 3 | public class SlotBonusProps_DefensiveHealChance 4 | { 5 | public float chance = 0.05f; 6 | public int woundLimit = 0; 7 | } 8 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompSlotLoadable/SlotBonusProps_VampiricEffect.cs: -------------------------------------------------------------------------------- 1 | namespace CompSlotLoadable 2 | { 3 | public class SlotBonusProps_VampiricEffect 4 | { 5 | public float chance = 0.05f; 6 | public int woundLimit = 0; 7 | } 8 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompSlotLoadable/SlotLoadableDef.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Verse; 3 | 4 | namespace CompSlotLoadable 5 | { 6 | public class SlotLoadableDef : ThingDef 7 | { 8 | public ColorInt colorToChangeTo; 9 | 10 | //Does the slot change the thing's color? 11 | public bool doesChangeColor = false; 12 | 13 | //Or change the second color? 14 | public bool doesChangeSecondColor = false; 15 | 16 | //Does it change the stats? 17 | public bool doesChangeStats = false; 18 | 19 | public ColorInt secondColorToChangeTo; 20 | 21 | //These can be loaded into the slot. 22 | public List slottableThingDefs; 23 | } 24 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompSlotLoadable/StringOf.cs: -------------------------------------------------------------------------------- 1 | namespace CompSlotLoadable 2 | { 3 | public static class StringOf 4 | { 5 | public static string all = "all"; 6 | public static string ExceptionSlotAlreadyFilled = "{0}'s slot is already filled"; 7 | public static string Unavailable = "{0} unavailable"; 8 | public static string IsDrafted = "{0} is drafted."; 9 | public static string Unload = "Unload {0}"; 10 | public static string CurrentlyLoaded = "Loaded {0}"; 11 | public static string Effects = "Effects:"; 12 | public static string ChangesPrimaryColor = "Changes Primary Color"; 13 | public static string StatModifiers = "Stat Modifiers"; 14 | public static string DamageType = "Damage Type: {0}"; 15 | public static string NoLoadOptions = "No load options available."; 16 | public static string DefensiveHealChance = "When attacked, {1} chance to heal {0} wounds"; 17 | public static string VampiricChance = "When attacking, {1} chance to vampiricly heal {0} wounds"; 18 | } 19 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompToggleDef.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26228.12 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompToggleDef", "CompToggleDef\CompToggleDef.csproj", "{9BECA870-0C2F-4F40-BEA1-6E99D68F9EDF}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {9BECA870-0C2F-4F40-BEA1-6E99D68F9EDF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {9BECA870-0C2F-4F40-BEA1-6E99D68F9EDF}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {9BECA870-0C2F-4F40-BEA1-6E99D68F9EDF}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {9BECA870-0C2F-4F40-BEA1-6E99D68F9EDF}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompToggleDef/.vs/CompToggleDef/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/CompToggleDef/.vs/CompToggleDef/v15/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompToggleDef/CompProperties_ToggleDef.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | 3 | namespace CompToggleDef 4 | { 5 | public class CompProperties_ToggleDef : CompProperties 6 | { 7 | public string labelKey; 8 | 9 | public CompProperties_ToggleDef() 10 | { 11 | compClass = typeof(CompToggleDef); 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompToggleDef/bin/Release/CompToggleDef.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/CompToggleDef/bin/Release/CompToggleDef.pdb -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompVehicle.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26228.12 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompVehicle", "CompVehicle\CompVehicle.csproj", "{05E24FAB-C6BF-43B5-BF69-B92AA38338CA}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {05E24FAB-C6BF-43B5-BF69-B92AA38338CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {05E24FAB-C6BF-43B5-BF69-B92AA38338CA}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {05E24FAB-C6BF-43B5-BF69-B92AA38338CA}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {05E24FAB-C6BF-43B5-BF69-B92AA38338CA}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompVehicle.userprefs: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompVehicle/AbandonedVehicleContentsComp.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | using System.Collections.Generic; 4 | using UnityEngine; 5 | using Verse; 6 | using RimWorld.Planet; 7 | namespace CompVehicle 8 | { 9 | //WIP 10 | public class AbandonedVehicleContentsComp : WorldObjectComp, IThingHolder 11 | { 12 | public ThingOwner contents; 13 | private static List tmpContents = new List(); 14 | private static List tmpContentsStr = new List(); 15 | 16 | public AbandonedVehicleContentsComp() 17 | { 18 | this.contents = new ThingOwner(this); 19 | } 20 | public void GetChildHolders(List outChildren) 21 | { 22 | ThingOwnerUtility.AppendThingHoldersFromThings(outChildren, this.GetDirectlyHeldThings()); 23 | } 24 | 25 | public ThingOwner GetDirectlyHeldThings() 26 | { 27 | return this.contents; 28 | } 29 | public override void PostExposeData() 30 | { 31 | base.PostExposeData(); 32 | Scribe_Deep.Look(ref this.contents, "contents", new object[] 33 | { 34 | this 35 | }); 36 | } 37 | 38 | 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompVehicle/Bill_LoadVehicle.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | 3 | namespace CompVehicle 4 | { 5 | public class Bill_LoadVehicle : IExposable 6 | { 7 | public VehicleHandlerGroup group; 8 | public Pawn pawnToLoad; 9 | 10 | public Bill_LoadVehicle() 11 | { 12 | } 13 | 14 | public Bill_LoadVehicle(Pawn newLoad, Pawn newVehicle, VehicleHandlerGroup newGroup) 15 | { 16 | pawnToLoad = newLoad; 17 | group = newGroup; 18 | } 19 | 20 | public void ExposeData() 21 | { 22 | Scribe_References.Look(ref pawnToLoad, "pawnToLoad"); 23 | Scribe_References.Look(ref group, "group"); 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompVehicle/Command_VehicleHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using Verse; 4 | 5 | namespace CompVehicle 6 | { 7 | public class Command_VehicleHandler : Command 8 | { 9 | public Action action; 10 | 11 | public override float GetWidth(float maxWidth) => NewWidth(maxWidth); 12 | 13 | public float NewWidth(float maxWidth) 14 | { 15 | return base.GetWidth(maxWidth) * 0.75f; 16 | } 17 | 18 | public override void ProcessInput(Event ev) 19 | { 20 | base.ProcessInput(ev); 21 | action(); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompVehicle/CompProperties_VehicleSpawner.cs: -------------------------------------------------------------------------------- 1 | using RimWorld; 2 | using Verse; 3 | 4 | namespace CompVehicle 5 | { 6 | public class CompProperties_VehicleSpawner : CompProperties 7 | { 8 | public float assemblyTime = 20f; //In seconds 9 | public string useVerb = "Assemble {0}"; 10 | public PawnKindDef vehicleToSpawn = null; 11 | public EffecterDef workEffect = EffecterDefOf.ConstructMetal; 12 | 13 | public CompProperties_VehicleSpawner() 14 | { 15 | compClass = typeof(CompVehicleSpawner); 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompVehicle/CompVehicle.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2012 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompVehicle", "CompVehicle.csproj", "{6E907669-2299-47E1-B144-8BC7488DF5C4}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Any CPU = Debug|Any CPU 9 | Release|Any CPU = Release|Any CPU 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {6E907669-2299-47E1-B144-8BC7488DF5C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 13 | {6E907669-2299-47E1-B144-8BC7488DF5C4}.Debug|Any CPU.Build.0 = Debug|Any CPU 14 | {6E907669-2299-47E1-B144-8BC7488DF5C4}.Release|Any CPU.ActiveCfg = Release|Any CPU 15 | {6E907669-2299-47E1-B144-8BC7488DF5C4}.Release|Any CPU.Build.0 = Release|Any CPU 16 | EndGlobalSection 17 | EndGlobal 18 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompVehicle/CompVehicle.userprefs: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompVehicle/DeathActionWorker_NoCorpse.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | 3 | namespace CompVehicle 4 | { 5 | public class DeathActionWorker_NoCorpse : DeathActionWorker 6 | { 7 | private Map map; 8 | 9 | public override void PawnDied(Corpse corpse) 10 | { 11 | //Corpse NullCheck 12 | if (corpse == null) 13 | return; 14 | //Get Corpse Properties 15 | map = corpse.Map; 16 | var pos = corpse.Position; 17 | var pawn = corpse.InnerPawn; 18 | 19 | //Destroy Corpse 20 | corpse.Destroy(); 21 | //Read through killedLeavings of the pawn 22 | var thingOwner = new ThingOwner(); 23 | for (var i = 0; i < pawn.def.killedLeavings.Count; i++) 24 | { 25 | var thing = ThingMaker.MakeThing(pawn.def.killedLeavings[i].thingDef, null); 26 | thing.stackCount = pawn.def.killedLeavings[i].count; 27 | thingOwner.TryAdd(thing, true); 28 | } 29 | //Generate items/amount in list 30 | for (var i = 0; i < thingOwner.Count; i++) 31 | GenPlace.TryPlaceThing(thingOwner[i], pos, map, ThingPlaceMode.Near, null); 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompVehicle/GlobalSuppressions.cs: -------------------------------------------------------------------------------- 1 | // This file is used by Code Analysis to maintain SuppressMessage 2 | // attributes that are applied to this project. 3 | // Project-level suppressions either have no target or are given 4 | // a specific target and scoped to a namespace, type, member, etc. 5 | 6 | using System.Diagnostics.CodeAnalysis; 7 | 8 | [assembly: 9 | SuppressMessage("Style", "IDE0019:Use pattern matching", Justification = "", Scope = "member", 10 | Target = "~M:CompVehicle.HarmonyCompVehicle.VehicleRotatorTick(Verse.Pawn_RotationTracker)~System.Boolean")] -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompVehicle/HandlingTypeFlags.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace CompVehicle 4 | { 5 | [Flags] 6 | public enum HandlingTypeFlags 7 | { 8 | None = 0, 9 | Movement = 1, 10 | Manipulation = 2, 11 | Weapons = 4 12 | } 13 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompVehicle/SiteDefOfVehicle.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using RimWorld; 3 | namespace CompVehicle 4 | { 5 | //WIP 6 | [DefOf] 7 | public static class SiteDefOfVehicles 8 | { 9 | public static SiteCoreDef AbandonedVehicles; 10 | public static SitePartDef Vehicles; 11 | public static WorldObjectDef ABDVehicles; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompVehicle/StringOf.cs: -------------------------------------------------------------------------------- 1 | namespace CompVehicle 2 | { 3 | public static class StringOf 4 | { 5 | public static string pilot = "pilot"; 6 | public static string gunner = "gunner"; 7 | public static string crew = "crew"; 8 | public static string passenger = "passenger"; 9 | public static string Pilots = "Pilots"; 10 | public static string Gunners = "Gunners"; 11 | public static string Crew = "Crew"; 12 | public static string Passengers = "Passngers"; 13 | public static string Disabled = "Disabled"; 14 | public static string Inoperable = "Inoperable"; 15 | public static string Operational = "Operational"; 16 | public static string Movement = "Movement Systems"; 17 | public static string Manipulation = "Manipulation Systems"; 18 | public static string Weapons = "Weapon Systems"; 19 | public static string On = "Online"; 20 | public static string Off = "Offline"; 21 | public static string MessageCriticalHit = "{0} landed a critical hit on {1} {2}."; 22 | } 23 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompVehicle/ThinkNode_ConditionalCanManipulate.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | using Verse.AI; 3 | 4 | namespace CompVehicle 5 | { 6 | public class ThinkNode_ConditionalCanManipulate : ThinkNode_Conditional 7 | { 8 | protected override bool Satisfied(Pawn pawn) 9 | { 10 | if (pawn?.GetComp() is CompVehicle compVehicle && 11 | compVehicle.manipulationStatus == ManipulationState.able) return true; 12 | return false; 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/CompVehicle/ThinkNode_ConditionalPawnInside.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | using Verse.AI; 3 | 4 | namespace CompVehicle 5 | { 6 | public class ThinkNode_ConditionalPawnInside : ThinkNode_Conditional 7 | { 8 | //If anyone is inside the cockpit, allow this action to take place. 9 | protected override bool Satisfied(Pawn pawn) 10 | { 11 | if (pawn?.GetComp() is CompVehicle compVehicle && 12 | ((compVehicle?.AllOccupants?.Count ?? 0) > 0 || 13 | compVehicle.manipulationStatus == ManipulationState.able)) return true; 14 | return false; 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26228.12 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JecsTools", "JecsTools\JecsTools.csproj", "{417B8649-7A66-4580-8C75-473E46DA9C7A}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {417B8649-7A66-4580-8C75-473E46DA9C7A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {417B8649-7A66-4580-8C75-473E46DA9C7A}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {417B8649-7A66-4580-8C75-473E46DA9C7A}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {417B8649-7A66-4580-8C75-473E46DA9C7A}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/.vs/AbilityUser/v14/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/JecsTools/.vs/AbilityUser/v14/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/.vs/AbilityUser/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/JecsTools/.vs/AbilityUser/v15/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/.vs/CompAbilityUser/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/AllModdingComponents/JecsTools/.vs/CompAbilityUser/v15/.suo -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/ApparelExtension.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Verse; 3 | using Verse.AI; 4 | 5 | namespace JecsTools 6 | { 7 | public class SwapCondition 8 | { 9 | public Gender swapWhenGender = Gender.None; 10 | public ThingDef swapTo = null; 11 | } 12 | public class ApparelExtension : DefModExtension 13 | { 14 | public List coverage = new List(); 15 | public SwapCondition swapCondition = new SwapCondition(); 16 | } 17 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/BuildingExtension.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Verse; 3 | using Verse.AI; 4 | 5 | namespace JecsTools 6 | { 7 | 8 | public class BuildingExtension : DefModExtension 9 | { 10 | public List wipeCategories = new List(); 11 | } 12 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/CaravanJobs/QueuedCaravanJob.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | using Verse.AI; 3 | 4 | namespace JecsTools 5 | { 6 | public class QueuedCaravanJob : IExposable 7 | { 8 | public CaravanJob job; 9 | 10 | public JobTag? tag; 11 | 12 | public QueuedCaravanJob() 13 | { 14 | } 15 | 16 | public QueuedCaravanJob(CaravanJob job, JobTag? tag) 17 | { 18 | this.job = job; 19 | this.tag = tag; 20 | } 21 | 22 | public void ExposeData() 23 | { 24 | Scribe_Deep.Look(ref job, "job"); 25 | Scribe_Values.Look(ref tag, "tag", null, false); 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/CaravanJobs/WorldEffecter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Verse; 6 | using RimWorld; 7 | using RimWorld.Planet; 8 | 9 | namespace JecsTools 10 | { 11 | public class WorldEffecter 12 | { 13 | public EffecterDef def; 14 | 15 | public List children = new List(); 16 | 17 | public WorldEffecter(EffecterDef def) 18 | { 19 | this.def = def; 20 | for (int i = 0; i < def.children.Count; i++) 21 | { 22 | this.children.Add(def.children[i].Spawn()); 23 | } 24 | } 25 | 26 | public void EffectTick(GlobalTargetInfo A, GlobalTargetInfo B) 27 | { 28 | for (int i = 0; i < this.children.Count; i++) 29 | { 30 | this.children[i].SubEffectTick(A, B); 31 | } 32 | } 33 | 34 | public void Trigger(GlobalTargetInfo A, GlobalTargetInfo B) 35 | { 36 | for (int i = 0; i < this.children.Count; i++) 37 | { 38 | this.children[i].SubTrigger(A, B); 39 | } 40 | } 41 | 42 | public void Cleanup() 43 | { 44 | for (int i = 0; i < this.children.Count; i++) 45 | { 46 | this.children[i].SubCleanup(); 47 | } 48 | } 49 | } 50 | 51 | } 52 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/CaravanJobs/WorldObjectRecipeDef.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Verse; 3 | 4 | namespace JecsTools 5 | { 6 | public class WorldObjectRecipeDef : Def 7 | { 8 | public List costList = new List(); 9 | public List researchPrerequisites = new List(); 10 | public List stuffCostList = new List(); 11 | public List tags = new List(); 12 | public int workToMake = -1; 13 | public virtual Def FinishedThing { get; } 14 | 15 | public virtual bool CanMake() 16 | { 17 | if (!researchPrerequisites.NullOrEmpty()) 18 | foreach (var r in researchPrerequisites) 19 | if (!r.IsFinished) return false; 20 | return true; 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/CaravanJobs/WorldSubEffecter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Verse; 6 | using RimWorld; 7 | using RimWorld.Planet; 8 | 9 | namespace JecsTools 10 | { 11 | public class WorldSubEffecter 12 | { 13 | public SubEffecterDef def; 14 | 15 | public WorldSubEffecter(SubEffecterDef subDef) 16 | { 17 | this.def = subDef; 18 | } 19 | 20 | public virtual void SubEffectTick(GlobalTargetInfo A, GlobalTargetInfo B) 21 | { 22 | } 23 | 24 | public virtual void SubTrigger(GlobalTargetInfo A, GlobalTargetInfo B) 25 | { 26 | } 27 | 28 | public virtual void SubCleanup() 29 | { 30 | } 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/DamageDefCleave.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | 3 | namespace JecsTools 4 | { 5 | public class DamageDefCleave : DamageDef 6 | { 7 | public DamageDef cleaveDamage = null; 8 | public float armorPenetration = 0f; 9 | public float cleaveFactor = 0.7f; //Damage factor for the cleave attack 10 | public int cleaveTargets = 0; //Number of bonus targets 11 | } 12 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/FactionStuff/CompProperties_Console.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | 3 | namespace JecsTools 4 | { 5 | 6 | public class CompProperties_Console : CompProperties 7 | { 8 | public bool usesPower = true; 9 | public int minRelations = 10; 10 | public int minFreeReinforcements = 50; 11 | 12 | public CompProperties_Console() 13 | { 14 | this.compClass = typeof(CompConsole); 15 | } 16 | 17 | } 18 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/FactionStuff/FactionSettings.cs: -------------------------------------------------------------------------------- 1 | using RimWorld; 2 | using Verse; 3 | 4 | namespace JecsTools 5 | { 6 | public class FactionSettings : DefModExtension 7 | { 8 | public SoundDef entrySoundDef = null; 9 | public string greetingHostileKey = "FactionGreetingHostile"; 10 | public string greetingWaryKey = "FactionGreetingWary"; 11 | public string greetingWarmKey = "FactionGreetingWarm"; 12 | public int waryMinimumRelations = -70; 13 | public int warmMinimumRelations = 40; 14 | } 15 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/FactionStuff/JobDefMaker.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using HarmonyLib; 5 | using RimWorld; 6 | using UnityEngine; 7 | using Verse; 8 | using Verse.AI; 9 | 10 | namespace JecsTools 11 | { 12 | [StaticConstructorOnStartup] 13 | static class JobDefMaker 14 | { 15 | static JobDefMaker() 16 | { 17 | if (DefDatabase.AllDefs.Any(x => x.defName == "JecsTools_UseConsole")) return; 18 | var newDef = new JobDef 19 | { 20 | defName = "JecsTools_UseConsole", 21 | driverClass = typeof(JecsTools.JobDriver_UseConsole), 22 | reportString = JobDefOf.UseCommsConsole.reportString 23 | }; 24 | DefDatabase.Add(newDef); 25 | } 26 | 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/HediffCompProperties_DamageOverTime.cs: -------------------------------------------------------------------------------- 1 | using RimWorld; 2 | using Verse; 3 | 4 | namespace JecsTools 5 | { 6 | public class HediffCompProperties_DamageOverTime : HediffCompProperties 7 | { 8 | public DamageDef cycleDamage = DamageDefOf.Bite; 9 | public int cycleDamageAmt = 1; 10 | public int cycleInTicks = 30000; //Half a day 11 | public float spreadChance = 0.0f; 12 | public float armorPenetration = 0f; 13 | 14 | public HediffCompProperties_DamageOverTime() 15 | { 16 | compClass = typeof(HediffCompDamageOverTime); 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/HediffCompProperties_DamageSoak.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Verse; 3 | 4 | namespace JecsTools 5 | { 6 | public class DamageSoakSettings 7 | { 8 | public int damageToSoak = 1; 9 | public DamageDef damageType = null; 10 | public List damageTypesToExclude = null; //E.g. vampires have a general damage immunity, but not to 11 | //sunlight and burning damages. 12 | } 13 | 14 | public class HediffCompProperties_DamageSoak : HediffCompProperties 15 | { 16 | public List settings = null; 17 | public int damageToSoak = 1; 18 | public DamageDef damageType = null; 19 | public List damageTypesToExclude = null; //E.g. vampires have a general damage immunity, but not to 20 | 21 | public HediffCompProperties_DamageSoak() 22 | { 23 | compClass = typeof(HediffComp_DamageSoak); 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/HediffCompProperties_ExtraMeleeDamages.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Verse; 3 | 4 | namespace JecsTools 5 | { 6 | public class HediffCompProperties_ExtraMeleeDamages : HediffCompProperties 7 | { 8 | public List ExtraDamages = new List(); 9 | public HediffCompProperties_ExtraMeleeDamages() 10 | { 11 | compClass = typeof(HediffComp_ExtraMeleeDamages); 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/HediffCompProperties_Knockback.cs: -------------------------------------------------------------------------------- 1 | using RimWorld; 2 | using Verse; 3 | 4 | namespace JecsTools 5 | { 6 | public class HediffCompProperties_Knockback : HediffCompProperties 7 | { 8 | public DamageDef explosionDmg = DefDatabase.GetNamedSilentFail("Stun"); 9 | public float explosionSize = 2f; 10 | public bool explosiveKnockback = false; 11 | public float knockbackChance = 0.2f; 12 | public SoundDef knockbackSound = DefDatabase.GetNamedSilentFail("Pawn_Melee_Punch_HitPawn"); 13 | public IntRange knockDistance = new IntRange(2, 3); 14 | public float stunChance = -1f; 15 | public int stunTicks = 60; 16 | 17 | public HediffCompProperties_Knockback() 18 | { 19 | compClass = typeof(HediffComp_Knockback); 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/HediffComp_DamageSoak.cs: -------------------------------------------------------------------------------- 1 | using System.Text; 2 | using Verse; 3 | 4 | namespace JecsTools 5 | { 6 | public class HediffComp_DamageSoak : HediffComp 7 | { 8 | public HediffCompProperties_DamageSoak Props => (HediffCompProperties_DamageSoak) props; 9 | 10 | public override string CompTipStringExtra 11 | { 12 | get 13 | { 14 | var s = new StringBuilder(); 15 | 16 | var b = base.CompTipStringExtra; 17 | if (b != "") 18 | s.Append(b); 19 | 20 | if (Props.settings.NullOrEmpty()) 21 | { 22 | s.AppendLine("JT_HI_DamageSoaked".Translate((Props.damageType != null) ? Props.damageToSoak.ToString() + " (" +Props.damageType.LabelCap + ") " : Props.damageToSoak.ToString() + " (" +"AllDays".Translate() + ")")); 23 | } 24 | else 25 | { 26 | foreach (var setting in Props.settings) 27 | { 28 | s.AppendLine("JT_HI_DamageSoaked".Translate((setting.damageType != null) ? setting.damageToSoak.ToString() + " (" +setting.damageType.LabelCap + ") " : setting.damageToSoak.ToString() + " (" +"AllDays".Translate() + ")")); 29 | } 30 | } 31 | return s.ToString().TrimEndNewlines(); 32 | } 33 | } 34 | } 35 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/HediffComp_ExtraMeleeDamages.cs: -------------------------------------------------------------------------------- 1 | using System.Text; 2 | using Verse; 3 | 4 | namespace JecsTools 5 | { 6 | public class HediffComp_ExtraMeleeDamages : HediffComp 7 | { 8 | public HediffCompProperties_ExtraMeleeDamages Props => (HediffCompProperties_ExtraMeleeDamages) props; 9 | 10 | public override string CompTipStringExtra 11 | { 12 | get 13 | { 14 | var s = new StringBuilder(); 15 | var b = base.CompTipStringExtra; 16 | if (b != "") 17 | s.Append(b); 18 | if ((Props?.ExtraDamages?.Count ?? 0) > 0) 19 | { 20 | s.AppendLine("JT_HI_ExtraDamages".Translate()); 21 | for (var i = 0; i < Props.ExtraDamages.Count; i++) 22 | s.AppendLine(" +" + Props.ExtraDamages[i].amount + " " + Props.ExtraDamages[i].def.LabelCap); 23 | } 24 | return s.ToString().TrimEndNewlines(); 25 | } 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/HediffComp_Knockback.cs: -------------------------------------------------------------------------------- 1 | using System.Text; 2 | using Verse; 3 | 4 | namespace JecsTools 5 | { 6 | public class HediffComp_Knockback : HediffComp 7 | { 8 | public HediffCompProperties_Knockback Props => (HediffCompProperties_Knockback) props; 9 | 10 | public override string CompTipStringExtra 11 | { 12 | get 13 | { 14 | var s = new StringBuilder(); 15 | s.Append(base.CompTipStringExtra); 16 | //Changed by Tad. 17 | //s.AppendLine("JT_HI_Knockback".Translate(Props.knockbackChance.ToStringPercent()) + (Props.explosiveKnockback ? " (" + "JT_HI_KnockbackExplosive".Translate() + ")" : "")); 18 | s.AppendLine("JT_HI_Knockback".Translate(Props.knockbackChance.ToStringPercent()) +" "+ Props.explosiveKnockback + " " + " (JT_HI_KnockbackExplosive".Translate() + ")"); 19 | return s.ToString(); 20 | } 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/HediffExpandedDef.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | 3 | namespace JecsTools 4 | { 5 | /// 6 | /// A simple hediff for translations. 7 | /// 8 | public class HediffExpandedDef : HediffDef 9 | { 10 | /// 11 | /// Determines if the description should be shown for a hediff. 12 | /// 13 | public bool showDescription; 14 | 15 | ///Reminder: the string description already exists in the Def class we inherit in this class 16 | //public string description; 17 | 18 | /// 19 | /// Text key that appears before the list of modifiers. 20 | /// 21 | public string preListText; 22 | 23 | /// 24 | /// Text key that appears after the list of modifiers. 25 | /// 26 | public string postListText; 27 | 28 | } 29 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/HediffGiver_StartWithHediff.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | 3 | namespace JecsTools 4 | { 5 | /// 6 | /// Adds a hediff to a character after it is generated/spawned. 7 | /// Perfect for Alien Race bonuses/modifiers. 8 | /// Chance option to add for some randomization. 9 | /// 10 | public class HediffGiver_StartWithHediff : HediffGiver 11 | { 12 | public float chance = 100.0f; 13 | public float maleCommonality = 100.0f; 14 | public float femaleCommonality = 100.0f; 15 | public HediffExpandedDef expandedDef; 16 | 17 | public void GiveHediff(Pawn pawn) 18 | { 19 | //If the random number is not within the chance range, exit. 20 | if (!(chance >= Rand.Range(0.0f, 100.0f))) return; 21 | //If the gender is male, check the male commonality chance, and if it fails, exit. 22 | if (pawn.gender == Gender.Male && !(maleCommonality >= Rand.Range(0.0f, 100.0f))) 23 | return; 24 | //If the gender is female, check the female commonality chance, and if it fails, exit. 25 | if (pawn.gender == Gender.Female && !(femaleCommonality >= Rand.Range(0.0f, 100.0f))) 26 | return; 27 | 28 | if (expandedDef != null) 29 | HealthUtility.AdjustSeverity(pawn, expandedDef, 1f); 30 | else 31 | HealthUtility.AdjustSeverity(pawn, this.hediff, 1f); 32 | 33 | } 34 | } 35 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/HediffWithComps_Expanded.cs: -------------------------------------------------------------------------------- 1 | using System.Linq; 2 | using System.Text; 3 | using Verse; 4 | 5 | namespace JecsTools 6 | { 7 | public class HediffWithComps_Expanded : HediffWithComps 8 | { 9 | private HediffExpandedDef Def => def as HediffExpandedDef; 10 | 11 | public override string TipStringExtra 12 | { 13 | get 14 | { 15 | if (Def == null) return base.TipStringExtra; 16 | StringBuilder s = new StringBuilder(); 17 | if (Def.showDescription) 18 | { 19 | s.AppendLine(def.description); 20 | } 21 | if (!string.IsNullOrEmpty(Def.preListText)) s.AppendLine(Def.preListText.Translate()); 22 | s.AppendLine(base.TipStringExtra); 23 | if (!string.IsNullOrEmpty(Def.postListText)) s.AppendLine(Def.postListText.Translate()); 24 | return s.ToString(); 25 | } 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/Hediff_InjuryCustomLabel.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using Verse; 3 | 4 | namespace JecsTools 5 | { 6 | public class Hediff_InjuryCustomLabel : Hediff_Injury 7 | { 8 | private static readonly Color OldInjuryColor = new Color(0.72f, 0.72f, 0.72f); 9 | public override Color LabelColor => this.IsPermanent() ? OldInjuryColor : def.defaultLabelColor; 10 | } 11 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/JobGiver_AIFirelessTrashColonyDistant.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | using Verse.AI; 3 | 4 | namespace JecsTools 5 | { 6 | public class JobGiver_AIFirelessTrashColonyDistant : ThinkNode_JobGiver 7 | { 8 | protected override Job TryGiveJob(Pawn pawn) 9 | { 10 | var allBuildingsColonist = pawn.Map.listerBuildings.allBuildingsColonist; 11 | var count = allBuildingsColonist.Count; 12 | if (count == 0) 13 | return null; 14 | for (var i = 0; i < 75; i++) 15 | { 16 | var index = Rand.Range(0, count); 17 | var building = allBuildingsColonist[index]; 18 | if (FirelessTrashUtility.ShouldTrashBuilding(pawn, building)) 19 | return FirelessTrashUtility.TrashJob(pawn, building); 20 | } 21 | return null; 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/ModCompatibilityUtility.cs: -------------------------------------------------------------------------------- 1 | using Verse; 2 | 3 | namespace JecsTools 4 | { 5 | public static class ModCompatibilityUtility 6 | { 7 | public static bool IsUniversalPawn(object toCheck) 8 | { 9 | if (toCheck is Pawn || toCheck.GetType().ToString() == "Psychology.PsychologyPawn") 10 | return true; 11 | return false; 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/PatchOperationModLoaded.cs: -------------------------------------------------------------------------------- 1 | using System.Linq; 2 | using System.Xml; 3 | using Verse; 4 | 5 | namespace JecsTools 6 | { 7 | //Original code from NoImageAvailable's Combat Extended (You're a legend, sir) 8 | //https://github.com/NoImageAvailable/CombatExtended/blob/master/Source/CombatExtended/CombatExtended/PatchOperationFindMod.cs 9 | //Using under ShareAlike license: https://creativecommons.org/licenses/by-nc-sa/4.0/ 10 | public class PatchOperationModLoaded : PatchOperation 11 | { 12 | #pragma warning disable 649 13 | private string modName; 14 | #pragma warning restore 649 15 | 16 | protected override bool ApplyWorker(XmlDocument xml) 17 | { 18 | return !modName.NullOrEmpty() && ModsConfig.ActiveModsInLoadOrder.Any(mod => mod.Name == modName); 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/PlaceWorker_OnTopOfWalls.cs: -------------------------------------------------------------------------------- 1 | using System.Linq; 2 | using RimWorld; 3 | using Verse; 4 | 5 | namespace JecsTools 6 | { 7 | public class PlaceWorker_OnTopOfWalls : PlaceWorker 8 | { 9 | // Changed by Tad : Missing two on the overrides 10 | public override AcceptanceReport AllowsPlacing(BuildableDef checkingDef, IntVec3 loc, Rot4 rot, Map map, Thing thingToIgnore = null, Thing thing = null) 11 | { 12 | if (loc.GetThingList(map).FirstOrDefault(x => 13 | x.def.defName.Contains("Wall")) != null) 14 | return true; 15 | return new AcceptanceReport("JT_PlaceWorker_OnTopOfWalls".Translate()); 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/PlaceWorker_Outline.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | using Verse; 4 | 5 | namespace JecsTools 6 | { 7 | public class PlaceWorker_Outline : PlaceWorker 8 | { 9 | private static readonly Color transparentWhite = new Color(1f, 1f, 1f, 0f); 10 | 11 | public override void DrawGhost(ThingDef def, IntVec3 center, Rot4 rot, Color ghostCol, Thing thing = null) 12 | { 13 | var drawFieldCells = new List(); 14 | foreach (var c in GenAdj.CellsOccupiedBy(center, rot, def.size)) 15 | drawFieldCells.Add(c); 16 | GenDraw.DrawFieldEdges(drawFieldCells, Color.Lerp(ghostCol, transparentWhite, 0.5f)); 17 | } 18 | 19 | } 20 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/PlaceWorker_UnderCeiling.cs: -------------------------------------------------------------------------------- 1 | using System.Linq; 2 | using RimWorld; 3 | using Verse; 4 | 5 | namespace JecsTools 6 | { 7 | public class PlaceWorker_UnderCeiling : PlaceWorker 8 | { 9 | //Tad Changed - Again override was modified with additional checks. 10 | public override AcceptanceReport AllowsPlacing(BuildableDef checkingDef, IntVec3 loc, Rot4 rot, Map map, Thing thingToIgnore = null, Thing thing = null) 11 | { 12 | return base.AllowsPlacing(checkingDef, loc, rot, map, thingToIgnore, thing); 13 | } 14 | } 15 | //public override AcceptanceReport AllowsPlacing(BuildableDef checkingDef, IntVec3 loc, Rot4 rot, Map map, 16 | // Thing thingToIgnore = null) 17 | //{ 18 | // if (!loc.Roofed(map)) 19 | // return new AcceptanceReport("JT_PlaceWorker_UnderCeiling".Translate()); 20 | // return true; 21 | //} 22 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/ProjectileExtension.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Verse; 3 | using Verse.AI; 4 | 5 | namespace JecsTools 6 | { 7 | /// 8 | /// Projectile Extension allows extra control over 9 | /// damage 10 | /// 11 | public class ProjectileExtension : DefModExtension 12 | { 13 | public bool passesWalls = false; 14 | public bool passesRoofs = false; 15 | public bool damagesTargetsBetween = false; 16 | public float damageMultiplierPerTarget = 1.0f; 17 | } 18 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/TexButton.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using Verse; 4 | 5 | namespace JecsTools 6 | { 7 | [StaticConstructorOnStartup] 8 | internal class TexButton 9 | { 10 | public static readonly Texture2D quickstartIconTex = ContentFinder.Get("quickstartIcon"); 11 | 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/JecsTools/ThingDef_LaserProjectile.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Verse; 3 | 4 | namespace JecsTools 5 | { 6 | //Originally code borrowed from a super cool dude. 7 | public class ThingDef_LaserProjectile : ThingDef 8 | { 9 | public float preFiringInitialIntensity = 0f; 10 | public float preFiringFinalIntensity = 0f; 11 | public float postFiringInitialIntensity = 0f; 12 | public float postFiringFinalIntensity = 0f; 13 | public string warmupGraphicPathSingle = null; 14 | public int preFiringDuration = 0; 15 | public int postFiringDuration = 0; 16 | public float StartFireChance; 17 | public bool CanStartFire = false; 18 | public List graphicSettings = null; 19 | public bool cycleThroughFiringPositions = false; 20 | public bool createsExplosion = false; 21 | } 22 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/PawnShields.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26430.14 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PawnShields", "PawnShields\PawnShields.csproj", "{9A3BF1D4-6693-481F-BBF1-3D66AFD8BE6C}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {9A3BF1D4-6693-481F-BBF1-3D66AFD8BE6C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {9A3BF1D4-6693-481F-BBF1-3D66AFD8BE6C}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {9A3BF1D4-6693-481F-BBF1-3D66AFD8BE6C}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {9A3BF1D4-6693-481F-BBF1-3D66AFD8BE6C}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/PawnShields/Mod Extensions/ShieldPawnGeneratorProperties.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Verse; 6 | 7 | namespace PawnShields 8 | { 9 | /// 10 | /// Contains extra information for the patched pawn generator to give a appropiate shield to the pawn. 11 | /// 12 | public class ShieldPawnGeneratorProperties : DefModExtension 13 | { 14 | /// 15 | /// How much "money" the pawn got pay for their shield. 16 | /// 17 | public FloatRange shieldMoney = FloatRange.Zero; 18 | 19 | /// 20 | /// The shields with any of these tags can be used. 21 | /// 22 | public List shieldTags; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/PawnShields/Shields.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Verse; 6 | 7 | namespace PawnShields 8 | { 9 | /// 10 | /// Entry class for the shields module. 11 | /// 12 | [StaticConstructorOnStartup] 13 | public static class Shields 14 | { 15 | static Shields() 16 | { 17 | PawnShieldGenerator.Reset(); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/PawnShields/ThingComps/Properties/StuffedSound.cs: -------------------------------------------------------------------------------- 1 | using RimWorld; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Xml; 7 | using Verse; 8 | 9 | namespace PawnShields 10 | { 11 | /// 12 | /// Links a StuffCategoryDef to a SoundDef. 13 | /// 14 | public class StuffedSound 15 | { 16 | /// 17 | /// Stuff category to link to. 18 | /// 19 | public StuffCategoryDef stuffCategory; 20 | 21 | /// 22 | /// Sound to link to. 23 | /// 24 | public SoundDef sound; 25 | 26 | public void LoadDataFromXmlCustom(XmlNode xmlRoot) 27 | { 28 | if (xmlRoot.ChildNodes.Count != 1) 29 | { 30 | Log.Error("Misconfigured StuffedSound: " + xmlRoot.OuterXml); 31 | return; 32 | } 33 | DirectXmlCrossRefLoader.RegisterObjectWantsCrossRef(this, "stuffCategory", xmlRoot.Name); 34 | DirectXmlCrossRefLoader.RegisterObjectWantsCrossRef(this, "sound", xmlRoot.FirstChild.Value); 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/PawnShields/Utility/ShieldHediffDefOf.cs: -------------------------------------------------------------------------------- 1 | using RimWorld; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using Verse; 7 | 8 | namespace PawnShields 9 | { 10 | /// 11 | /// Convenience class for getting Defs. 12 | /// 13 | [DefOf] 14 | public static class ShieldHediffDefOf 15 | { 16 | /// 17 | /// Represents how fatiguing blocking with a shield has been. 18 | /// 19 | public static HediffDef ShieldFatigue; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/PawnShields/Utility/ShieldStatsDefOf.cs: -------------------------------------------------------------------------------- 1 | using RimWorld; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | 7 | namespace PawnShields 8 | { 9 | /// 10 | /// Convenience class for getting Defs. 11 | /// 12 | [DefOf] 13 | public static class ShieldStatsDefOf 14 | { 15 | /// 16 | /// Shield stat category. 17 | /// 18 | public static StatCategoryDef Shield; 19 | 20 | /// 21 | /// Base melee block chance for shields. 22 | /// 23 | public static StatDef Shield_BaseMeleeBlockChance; 24 | 25 | /// 26 | /// Base ranged block chance for shields. 27 | /// 28 | public static StatDef Shield_BaseRangedBlockChance; 29 | 30 | /// 31 | /// Damage absorbtion factor for shields. 32 | /// 33 | public static StatDef Shield_DamageAbsorbed; 34 | 35 | /// 36 | /// Melee shield block chance base from pawn. 37 | /// 38 | public static StatDef MeleeShieldBlockChance; 39 | 40 | /// 41 | /// Ranged shield block chance base from pawn. 42 | /// 43 | public static StatDef RangedShieldBlockChance; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/PawnShields/Workers/StatWorker_Shield.cs: -------------------------------------------------------------------------------- 1 | using RimWorld; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using Verse; 7 | 8 | namespace PawnShields 9 | { 10 | /// 11 | /// Worker class specifically made to show off the snazzy stats for shields. 12 | /// 13 | public class StatWorker_Shield : StatWorker 14 | { 15 | public override bool ShouldShowFor(StatRequest req) 16 | { 17 | var def = req.Def as ThingDef; 18 | if (def != null && def.HasComp(typeof(CompShield))) 19 | return true; 20 | return false; 21 | } 22 | 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/ThinkNodes.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.27004.2009 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ThinkNodes", "ThinkNodes\ThinkNodes.csproj", "{D7D21B4A-1DA7-41D8-B202-C58CA8FA62AA}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {D7D21B4A-1DA7-41D8-B202-C58CA8FA62AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {D7D21B4A-1DA7-41D8-B202-C58CA8FA62AA}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {D7D21B4A-1DA7-41D8-B202-C58CA8FA62AA}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {D7D21B4A-1DA7-41D8-B202-C58CA8FA62AA}.Release|Any CPU.Build.0 = Release|Any CPU 18 | {DE5B7748-333A-428F-BCA9-4DB67FB289A3}.Debug|Any CPU.ActiveCfg = Release|x86 19 | {DE5B7748-333A-428F-BCA9-4DB67FB289A3}.Release|Any CPU.ActiveCfg = Release|x86 20 | EndGlobalSection 21 | GlobalSection(SolutionProperties) = preSolution 22 | HideSolutionNode = FALSE 23 | EndGlobalSection 24 | GlobalSection(ExtensibilityGlobals) = postSolution 25 | SolutionGuid = {28CF9A73-5333-4EB3-BFCC-3FBEDDA19200} 26 | EndGlobalSection 27 | EndGlobal 28 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/ThinkNodes/ThinkNode_ConditionalCombatCapable.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Verse; 6 | using Verse.AI; 7 | 8 | namespace ThinkNodes 9 | { 10 | public class ThinkNode_ConditionalCombatCapable : ThinkNode_Conditional 11 | { 12 | protected override bool Satisfied(Pawn pawn) 13 | { 14 | if (pawn.story != null && pawn.story.WorkTagIsDisabled(WorkTags.Violent)) 15 | { 16 | return false; 17 | } 18 | return true; 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/ThinkNodes/ThinkNode_ConditionalDelay.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Verse; 3 | using Verse.AI; 4 | 5 | namespace ThinkNodes 6 | { 7 | public class ThinkNode_ConditionalDelay : ThinkNode_Conditional 8 | { 9 | public int min = 1000, max= 2000; 10 | 11 | private Dictionary delays = new Dictionary(); 12 | protected override bool Satisfied(Pawn pawn) 13 | { 14 | var key = GetKey(pawn); 15 | if (delays.TryGetValue(key, out var tick)) 16 | { 17 | var tik = Find.TickManager.TicksGame; 18 | 19 | if (tik > tick) 20 | { 21 | AddDelay(key); 22 | return true; 23 | } 24 | } 25 | else 26 | { 27 | AddDelay(key); 28 | } 29 | return false; 30 | } 31 | 32 | public virtual string GetKey(Pawn pawn) 33 | { 34 | return pawn.GetUniqueLoadID(); 35 | } 36 | 37 | public virtual void AddDelay(string key) 38 | { 39 | delays[key] = Find.TickManager.TicksGame + Rand.Range(min, max); 40 | } 41 | } 42 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/ThinkNodes/ThinkNode_ConditionalHediff.cs: -------------------------------------------------------------------------------- 1 | using System.Linq; 2 | using Verse; 3 | using Verse.AI; 4 | 5 | namespace ThinkNodes 6 | { 7 | public class ThinkNode_ConditionalHediff : ThinkNode_Conditional 8 | { 9 | public string hediffDef; 10 | 11 | protected override bool Satisfied(Pawn pawn) 12 | { 13 | if (pawn.Drafted) return false; 14 | foreach (var unused in pawn.health.hediffSet.hediffs.Where(x => x.def.defName.EqualsIgnoreCase(hediffDef))) 15 | { 16 | return true; 17 | } 18 | 19 | return false; 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/ThinkNodes/ThinkNode_ConditionalHunter.cs: -------------------------------------------------------------------------------- 1 | using RimWorld; 2 | using Verse; 3 | using Verse.AI; 4 | 5 | namespace ThinkNodes 6 | { 7 | public class ThinkNode_ConditionalHunter : ThinkNode_Conditional 8 | { 9 | public bool allowBrawlers = false; 10 | 11 | protected override bool Satisfied(Pawn pawn) 12 | { 13 | return AmHunter(pawn) && (allowBrawlers || !pawn.story.traits.HasTrait(TraitDefOf.Brawler)); 14 | } 15 | 16 | public static bool AmHunter(Pawn pawn) 17 | { 18 | return pawn.workSettings.WorkIsActive(WorkTypeDefOf.Hunting); 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/ThinkNodes/ThinkNode_ConditionalIsHuntingTarget.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Verse; 6 | using Verse.AI; 7 | 8 | namespace ThinkNodes 9 | { 10 | public class ThinkNode_ConditionalIsHuntingTarget : ThinkNode_Conditional 11 | { 12 | protected override bool Satisfied(Pawn pawn) 13 | { 14 | Pawn meleeThreat = pawn.mindState.meleeThreat; 15 | if (meleeThreat == null) 16 | { 17 | return false; 18 | } 19 | if (this.IsHunting(pawn, meleeThreat)) 20 | { 21 | return true; 22 | } 23 | return false; 24 | } 25 | 26 | private bool IsHunting(Pawn pawn, Pawn prey) 27 | { 28 | if (pawn.CurJob == null) 29 | { 30 | return false; 31 | } 32 | JobDriver_Hunt jobDriver_Hunt = pawn.jobs.curDriver as JobDriver_Hunt; 33 | if (jobDriver_Hunt != null) 34 | { 35 | return jobDriver_Hunt.Victim == prey; 36 | } 37 | JobDriver_PredatorHunt jobDriver_PredatorHunt = pawn.jobs.curDriver as JobDriver_PredatorHunt; 38 | return jobDriver_PredatorHunt != null && jobDriver_PredatorHunt.Prey == prey; 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/ThinkNodes/ThinkNode_ConditionalMissingWeapon.cs: -------------------------------------------------------------------------------- 1 | using RimWorld; 2 | using Verse; 3 | using Verse.AI; 4 | 5 | namespace ThinkNodes 6 | { 7 | public class ThinkNode_ConditionalMissingHuntingWeapon : ThinkNode_Conditional 8 | { 9 | protected override bool Satisfied(Pawn pawn) 10 | { 11 | return !WorkGiver_HunterHunt.HasHuntingWeapon(pawn); 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /Source/AllModdingComponents/ThinkNodes/ThinkNode_ConditionalShouldBeDestructive.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using RimWorld; 6 | using Verse; 7 | using Verse.AI; 8 | 9 | namespace JecsTools 10 | { 11 | public class ThinkNode_ConditionalShouldBeDestructive : ThinkNode_Conditional 12 | { 13 | protected override bool Satisfied(Pawn pawn) 14 | { 15 | if (pawn.MapHeld.IsPlayerHome && 16 | (pawn.Faction == Faction.OfPlayerSilentFail || 17 | pawn.HostFaction == Faction.OfPlayerSilentFail)) 18 | return false; 19 | return true; 20 | } 21 | 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Source/AllModdingComponents/ThinkNodes/ThinkNode_ConditionalWorkTypesDef.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Verse; 3 | using Verse.AI; 4 | 5 | namespace ThinkNodes 6 | { 7 | public class ThinkNodeConditionalWorkTypes : ThinkNode_Conditional 8 | { 9 | private List workTypeDefs = new List(); 10 | 11 | protected override bool Satisfied(Pawn pawn) 12 | { 13 | foreach (var _def in workTypeDefs) 14 | { 15 | if (pawn.IsColonist && (pawn?.workSettings?.WorkIsActive(_def) ?? false)) 16 | return true; 17 | } 18 | 19 | 20 | return false; 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /Source/Dependencies/0Harmony.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/Dependencies/0Harmony.dll -------------------------------------------------------------------------------- /Source/JecsTools.userprefs: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Source/MigrationBackup/0383f21e/CompActivatableEffect/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Source/MigrationBackup/0530c1ef/DefModExtension_BigBox/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Source/MigrationBackup/0eba3b6e/PawnShields/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Source/MigrationBackup/10f47128/CompAbilityUser/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Source/MigrationBackup/24e6490d/CompVehicle/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Source/MigrationBackup/40edb1ee/AbilityUserAI/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Source/MigrationBackup/4e44b7ef/CompBalloon/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Source/MigrationBackup/59af4d6d/CompDelayedSpawner/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Source/MigrationBackup/5f89f741/CompSlotLoadable/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Source/MigrationBackup/78bf7bb6/CompOverlays/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Source/MigrationBackup/8854f86b/CompExtraSounds/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Source/MigrationBackup/895f3746/CompInstalledPart/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Source/MigrationBackup/8a212a6e/CompDeflector/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Source/MigrationBackup/9219ed18/CompLumbering/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Source/MigrationBackup/93cfb865/CompToggleDef/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Source/MigrationBackup/97637b8f/CompOversizedWeapon/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Source/MigrationBackup/b7620fcb/ThinkNodes/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Source/MigrationBackup/ba0ce9e6/JecsTools/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Source/MigrationBackup/f9d57bdf/CompAnimated/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Source/ThinkNodes - Release/Assemblies/0Harmony.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/ThinkNodes - Release/Assemblies/0Harmony.dll -------------------------------------------------------------------------------- /Source/ThinkNodes - Release/Assemblies/ThinkNodes.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Source/ThinkNodes - Release/Assemblies/ThinkNodes.dll -------------------------------------------------------------------------------- /Textures/NullTex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Textures/NullTex.png -------------------------------------------------------------------------------- /Textures/quickstartIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RimWorld-CCL-Reborn/JecsTools/7be56bc5fc80f9802d940f41d69c634587235169/Textures/quickstartIcon.png --------------------------------------------------------------------------------