Skip to content

Commit

Permalink
1.1.18.1635
Browse files Browse the repository at this point in the history
  • Loading branch information
SphereII committed Oct 18, 2024
1 parent 17643bd commit 244fe1e
Show file tree
Hide file tree
Showing 43 changed files with 1,523 additions and 128 deletions.
20 changes: 20 additions & 0 deletions Mods/0-SCore/0-SCore.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -55,15 +55,19 @@
<Compile Include="Features\Challenges\Scripts\ChallengeObjectiveBlockUpgrade.cs" />
<Compile Include="Features\Challenges\Scripts\ChallengeObjectiveCompleteQuestStealth.cs" />
<Compile Include="Features\Challenges\Scripts\ChallengeObjectiveCraftWithIngredient.cs" />
<Compile Include="Features\Challenges\Scripts\ChallengeObjectiveCraftWithTags.cs" />
<Compile Include="Features\Challenges\Scripts\ChallengeObjectiveCVar.cs" />
<Compile Include="Features\Challenges\Scripts\ChallengeObjectiveDecapitation.cs" />
<Compile Include="Features\Challenges\Scripts\ChallengeObjectiveEnterPOI.cs" />
<Compile Include="Features\Challenges\Scripts\ChallengeObjectiveExtinguishFire.cs" />
<Compile Include="Features\Challenges\Scripts\ChallengeObjectiveGatherTags.cs" />
<Compile Include="Features\Challenges\Scripts\ChallengeObjectiveHarvest.cs" />
<Compile Include="Features\Challenges\Scripts\ChallengeObjectiveHireNPC.cs" />
<Compile Include="Features\Challenges\Scripts\ChallengeObjectiveKillWithItem.cs" />
<Compile Include="Features\Challenges\Scripts\ChallengeObjectiveSCoreBase.cs" />
<Compile Include="Features\Challenges\Scripts\ChallengeObjectiveStartFire.cs" />
<Compile Include="Features\Challenges\Scripts\ChallengeObjectiveStealthKillStreak.cs" />
<Compile Include="Features\Challenges\Scripts\ChallengeObjectiveWearTags.cs" />
<Compile Include="Features\Challenges\Scripts\IChallengeObjective.cs" />
<Compile Include="Features\Challenges\Scripts\SCoreChallengeUtils.cs" />
<Compile Include="Features\Drones\Harmony\EntityDronePatches.cs" />
Expand Down Expand Up @@ -153,8 +157,10 @@
<Compile Include="Harmony\Blocks\BlockWorkarounds.cs" />
<Compile Include="Harmony\Blocks\ChunkPoolBlockEntityTransform.cs" />
<Compile Include="Harmony\Blocks\ElectricityMultiDimFix.cs" />
<Compile Include="Harmony\Blocks\GroundAlignPatch.cs" />
<Compile Include="Harmony\Blocks\OnEntityCollidedWithBlock.cs" />
<Compile Include="Harmony\Blocks\Particles.cs" />
<Compile Include="Harmony\Blocks\TerrainAlignmentUtilsPatch.cs" />
<Compile Include="Harmony\Dialog\DialogClose.cs" />
<Compile Include="Harmony\Dialog\DialogFromXML.cs" />
<Compile Include="Harmony\DMS\DynamicMusicPlayerTracker.cs" />
Expand Down Expand Up @@ -362,6 +368,7 @@
<Compile Include="Scripts\Entities\LegacyEntityClasses.cs" />
<Compile Include="Scripts\Entities\ModGeneralUtilities.cs" />
<Compile Include="Scripts\Events\EventOnClientKill.cs" />
<Compile Include="Scripts\Events\EventOnCVarAdded.cs" />
<Compile Include="Scripts\Events\OnRallyPointActivated.cs" />
<Compile Include="Scripts\Events\OnBloodMoonEnd.cs" />
<Compile Include="Scripts\Events\OnBloodMoonStart.cs" />
Expand All @@ -381,6 +388,7 @@
<Compile Include="Scripts\Managers\PortalManager.cs" />
<Compile Include="Scripts\Managers\SCoreQuestEventManager.cs" />
<Compile Include="Scripts\MinEvents\MinEventActionAddBuffByFactionSDX.cs" />
<Compile Include="Scripts\MinEvents\MinEventActionAddBuffToPrimaryPlayer.cs" />
<Compile Include="Scripts\MinEvents\MinEventActionAddScriptToTransform.cs" />
<Compile Include="Scripts\MinEvents\MinEventActionAdjustTransformValues.cs" />
<Compile Include="Scripts\MinEvents\MinEventActionAnimatorFireTriggerSDX.cs" />
Expand Down Expand Up @@ -428,6 +436,7 @@
<Compile Include="Scripts\MinEvents\MinEventActionShowToolTipSDX.cs" />
<Compile Include="Scripts\MinEvents\MinEventActionSkillPointSDX.cs" />
<Compile Include="Scripts\MinEvents\MinEventActionSpawnBabySDX.cs" />
<Compile Include="Scripts\MinEvents\MinEventActionTeleportToQuest.cs" />
<Compile Include="Scripts\MinEvents\MinEventActionToggleCamera.cs" />
<Compile Include="Scripts\MonoBehaviour\LeaderCollision.cs" />
<Compile Include="Scripts\MusicBoxes\MusicBox.cs" />
Expand Down Expand Up @@ -586,6 +595,17 @@
<Content Include="Config\XUi\xui.xml" />
<Content Include="Config\XUi_Common\styles.xml" />
<Content Include="Config\XUi_Menu\windows-Template.xml" />
<Content Include="Documentation\Challenges\BlocksChallenges.md" />
<Content Include="Documentation\Challenges\Challenges.md" />
<Content Include="Documentation\Challenges\FireChallenges.md" />
<Content Include="Documentation\Challenges\KillChallenges.md" />
<Content Include="Documentation\Challenges\PlayerChallenges.md" />
<Content Include="Documentation\Factions.md" />
<Content Include="Documentation\FireManager.md" />
<Content Include="Documentation\MinEvents\MinEvents.md" />
<Content Include="Documentation\MinEvents\MinEvents_01.md" />
<Content Include="Documentation\Readme.md" />
<Content Include="Documentation\Utils\ChatGPT.txt" />
<Content Include="Features\Challenges\ReadMe.md" />
<Content Include="Features\LockPicking\Scripts\README.txt.txt" />
<Content Include="ModInfo.xml" />
Expand Down
7 changes: 6 additions & 1 deletion Mods/0-SCore/Config/Localization.txt
Original file line number Diff line number Diff line change
Expand Up @@ -208,4 +208,9 @@ onHarvest,"Harvest"
NPC_title,"Hire NPCs"
SCore03challenges_key,"Harvests"
challengeKillZombiesWithItemDesc,"Kill Zombies"
challengeKillWithItemDesc,"Kill"
challengeKillWithItemDesc,"Kill"
challengeObjectiveWearTags,"Wear with tag(s) "
challengeObjectiveGatherTags,"Gather items with the tag(s)"
challengeObjectiveOnCVar,"Get CVar"

challengeObjectiveCraftWithTags,"Craft with tags"
7 changes: 3 additions & 4 deletions Mods/0-SCore/Config/blocks.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
<configs>


<append xpath="/blocks">

<block name="ConfigFeatureBlock">
Expand Down Expand Up @@ -451,7 +449,7 @@
<property name="CanPickup" value="true"/>
<property name="Collide" value="sight"/>
<!-- At 1,2,1, it was causing issues with destroying blocks. Maybe it had to do with the rotation of the cube? -->
<property name="MultiBlockDim" value="1,1,1"/>
<!--<property name="MultiBlockDim" value="1,1,1"/>-->


</block>
Expand All @@ -467,8 +465,9 @@
<property name="CanPickup" value="true"/>
<property name="TakeDelay" value="3" />
<property name="Collide" value="sight"/>
<!--
<property name="MultiBlockDim" value="1,1,1"/>

-->
</block>

<!-- Cave air block -->
Expand Down
42 changes: 42 additions & 0 deletions Mods/0-SCore/Documentation/Challenges/BlocksChallenges.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
### Block Destroyed

Tracks and manages the player's progress in a challenge where they must destroy specific blocks based on various conditions like block type, material, biome, or Points of Interest (POIs).

In an XML configuration file, the challenge might be set up like this:

```xml
<objective type="BlockDestroyed, SCore" count="20" block="myblock" biome="burn_forest" poi="traderJen" />
<objective type="BlockDestroyed, SCore" count="20" material="myMaterial" biome="pine_forest" poi_tags="wilderness" />
```
These configurations define challenges where the player must:

Destroy 20 blocks named myblock located in the burn_forest biome and associated with the POI traderJen.
Destroy 20 blocks made of myMaterial, located in the pine_forest biome, and associated with POIs that have the tag wilderness.

More Examples:

<objective type="BlockDestroyed, SCore" count="20" block="cntRetroFridgeVer1Closed" />
<objective type="BlockDestroyed, SCore" count="20" block="cntRetroFridgeVer1Closed" biome="burn_forest" />
<objective type="BlockDestroyed, SCore" count="20" block="cntRetroFridgeVer1Closed" biome="burn_forest" poi="traderJen" />
<objective type="BlockDestroyed, SCore" count="20" material="Mmetal" biome="pine_forest" poi_tags="wilderness" />


---

### Block Upgrades

Tracks and manages the player's progress in a challenge where they need to upgrade blocks in the game, possibly using specific items, in specific biomes, or while holding certain tools.

In an XML configuration file, the challenge might be set up like this:

```xml
<objective type="BlockUpgradeSCore,SCore" block="frameShapes:VariantHelper" count="10" held="meleeToolRepairT0StoneAxe" needed_resource="resourceWood" needed_resource_count="8" />
<objective type="BlockUpgradeSCore,SCore" block_tags="wood" count="10" held="meleeToolRepairT0StoneAxe" needed_resource="resourceWood" needed_resource_count="8" />
<objective type="BlockUpgradeSCore,SCore" block_tags="wood" count="10" biome="burnt_forest" />
```

These configurations define challenges where the player must:

Upgrade 10 specific blocks named frameShapes:VariantHelper while holding a stone axe and using resourceWood as a required material.
Upgrade 10 blocks tagged as wood with the same tool and resource requirements.
Upgrade 10 blocks tagged as wood while being in the burnt_forest biome.
49 changes: 49 additions & 0 deletions Mods/0-SCore/Documentation/Challenges/Challenges.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Challenges

### Challenges Overview

Challenges were introduced into the game in the first **V1 release**. The **0-SCore** mod has expanded the available challenges.

### Notes:

Challenges are defined in the `challenges.xml` file. There are 3 parts to a challenge:

1. **Challenge Category**:
This creates a new category at the top of the Challenges window.

```xml
<challenge_category name="AbilityCategory" title="Ability Challenges" icon="ui_game_symbol_challenge_category2" />
```

2. **Challenge Group**:
This creates a new group, which is a row in a new category. Up to 10 challenges can be added to a group.

```xml
<challenge_group category="AbilityCategory" name="PerceptionGroup" title_key="perceptionChallenges_key" reward_text_key="No Rewards" reward_event="NoEvent" />
```

3. **Individual Challenge**:
This is an individual challenge that is added to the row.

```xml
<challenge name="rifle01"
title_key="gunRifleT0PipeRifle"
icon="ui_game_symbol_long_shot"
group="PerceptionGroup"
short_description_key="challengeKillZombies"
description_key="challengeKillZombiesDesc"
reward_text_key="challenge_reward_1000xp"
reward_event="challenge_reward_1000">

<objective type="KillWithItem, SCore" count="10" item="gunRifleT0PipeRifle" />
</challenge>
```

### Examples:

Examples can be found [here](https://github.com/SphereII/SphereII.Mods/tree/master/Mods/SphereII%20Challenges/Config).

[View Challenges Related to Fire](FireChallenges.md)
[View Challenges Related to Blocks](BlocksChallenges.md)
[View Challenges Related to Kills](KillChallenges.md)
[View Challenges Related to Player Activities](PlayerChallenges.md)
54 changes: 54 additions & 0 deletions Mods/0-SCore/Documentation/Challenges/FireChallenges.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@


### Start A Fire

This class defines a challenge where the player must **start a specific number of fires**. It tracks when the player starts fires and updates the challenge’s progress accordingly.

In an XML configuration file, the challenge might be set up like this:

```xml
<objective type="StartFire, SCore" count="20" />
```

This configuration defines a challenge where the player must **start 20 fires** to complete the objective.

---

### Block Destroyed By Fire

Tracks and manages the player's progress in a challenge where they need to destroy a certain number of blocks using fire.

In an XML configuration file, the challenge might be set up like this:

```xml
<objective type="BlockDestroyedByFire, SCore" count="20" />
```

This configuration defines a challenge where the player must destroy 20 blocks using fire.

---

### Extinguish Fire

Tracks and manages the player's progress in a challenge where they need to extinguish a certain number of fires.


In an XML configuration file, the challenge might be set up like this:

```xml
<objective type="ExtinguishFire, SCore" count="20" />
```
This configuration defines a challenge where the player must extinguish 20 fires.


### Start Big Fire

Tracks and manages the player's progress in a challenge where they need to sustain or reach a large fire size or intensity, encouraging the player to create significant fires.

In an XML configuration file, the challenge might be set up like this:

```xml
<objective type="BigFire, SCore" count="20" />
```

This configuration defines a challenge where the player must sustain or create a "big fire" with a size or intensity of 20.
46 changes: 46 additions & 0 deletions Mods/0-SCore/Documentation/Challenges/KillChallenges.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
### Kill With Item

This class defines a challenge where the player must kill specific entities (typically zombies) using certain items or items with specific tags. It extends the `ChallengeObjectiveKillByTag` class, allowing for more complex conditions like item-based kills, stealth checks, and additional localization options.

In an XML configuration file, the challenge might be set up like this:

```xml
<objective type="KillWithItem, SCore" count="2" item="gunHandgunT1Pistol" />
<objective type="KillWithItem, SCore" count="2" item_tags="handgunSkill" />
<objective type="KillWithItem, SCore" count="2" item="gunHandgunT1Pistol" entity_tags="zombie" target_name_key="xuiZombies" />
```

These configurations define challenges where the player must:

Kill 2 zombies using the gunHandgunT1Pistol.
Kill 2 zombies using any item tagged with handgunSkill.
Kill 2 zombies using the gunHandgunT1Pistol, with additional restrictions on entity tags and localized target name (xuiZombies).

---

### Decapitation

This class defines a challenge where the player must decapitate enemies (typically zombies) to complete the objective. It extends the `ChallengeObjectiveKillWithItem` class to incorporate additional logic specifically for monitoring decapitations as part of the challenge.

In an XML configuration file, the challenge might be set up like this:

```xml
<objective type="Decapitation, SCore" count="2" />
```

This configuration defines a challenge where the player must decapitate 2 entities (e.g., zombies) to complete the challenge.

---

### Stealth Kill Streak

This class defines a challenge where the player must perform consecutive stealth kills in order to complete the objective. The challenge is designed to track stealth kills and reset progress if the player fails to perform a stealth kill during the streak.

In an XML configuration file, the challenge might be set up like this:

```xml
<objective type="StealthKillStreak, SCore" count="2" cvar="longestStreakCVar" />
```
This configuration defines a challenge where the player must perform 2 consecutive stealth kills to complete the objective, and the longest streak is tracked using the CVar "longestStreakCVar".


Loading

0 comments on commit 244fe1e

Please sign in to comment.