직업 로드아웃 추가 - solaris0115/RimWorldModGuide GitHub Wiki

로드아웃

림월드에는 NPC용 다양한 직업이 존재합니다. 공병이나 척탄병, 용병 총잡이, 용병 저격수와 같은 것들 입니다. CE모드로 인해 로드아웃이 확장되기 때문에 각 직업별 로드아웃에 대한 로드아웃이 필요합니다.

로드아웃 생성순서

항목은 다음과 같이 생성됩니다.

  1. 모든 바닐라 주무기/의류/고정된 인벤토리
  2. 강제된 보조무기와 탄약(명시 되었다면)
  3. 주무기 탄약
  4. 방패(적용 가능하다면)
  5. 보조장비들과 탄약

LoadoutPropertiesExtension

<Operation Class="PatchOperationAddModExtension">
    <xpath>/PawnKindDefs/PawnKindDef[defName="MercenaryHeavy"]</xpath>
    <value>
      <li Class="CombatExtended.LoadoutPropertiesExtension">
        <primaryMagazineCount>
          <min>1</min>
          <max>4</max>
        </primaryMagazineCount>
        <forcedSidearm>
          <sidearmMoney>
            <min>150</min>
            <max>350</max>
          </sidearmMoney>
          <weaponTags>
            <li>CE_SMG</li>
          </weaponTags>
          <magazineCount>
            <min>0</min>
            <max>1</max>
          </magazineCount>
        </forcedSidearm>
        <shieldMoney>
          <min>500</min>
          <max>1400</max>
        </shieldMoney>
        <shieldTags>
          <li>OutlanderShield</li>
        </shieldTags>
        <shieldChance>0.9</shieldChance>
        <sidearms>
          <li>
            <generateChance>0.5</generateChance>
            <sidearmMoney>
              <min>60</min>
              <max>150</max>
            </sidearmMoney>
            <weaponTags>
              <li>CE_Sidearm_Melee</li>
            </weaponTags>
          </li>
        </sidearms>
      </li>
    </value>
  </Operation>

로드아웃을 위한 CE 데이터는 LoadoutPropertiesExtension을 통해 추가됩니다. 모든 파라메터는 선택적이지만 primaryMagazineCount이 지정되지 않으면 탄약이 없는 폰이 나갈 수 있습니다.

xpath: CE 패치를 할 기존의 로드아웃 위치입니다. def폴더가 기본적으로 연결되어있어 /폴더명/파일명/[defName="MercenaryHeavy"]과 같이 지정하면 됩니다.

Class="CombatExtended.LoadoutPropertiesExtension": CE 패치에 사용할 로드아웃 클래스입니다.

primaryMagazineCount: 주무기에 대한 탄약의 양을 정합니다. CE무기는 생성시 장전되있지 않습니다. 다음 주무기의 사용가능한 탄들 중 랜덤으로 하나를 고르게 되고 이후 이것을 장전한 뒤 해당 수치만큼의 여분탄창을 만들어냅니다.[탄창 5개면 재장전완료후 여분탄창 5개를 만듭니다.]

만약 수류탄이나 로켓발사기와 같이 일회성 무기의 경우 해당 갯수만큼의 무기를 여분으로 갖게됩니다.

forcedSidearm: 이 보조무기는 다른것보다 항상 우선적으로 생성됩니다. 생성작업은 바닐라버전의 주무기 생성과 비슷합니다. 가격대와 무기종류 그리고 탄약수를 정해주셔야 합니다.

shieldMoney: 방패의 가격대를 정합니다. 바닐라의 주무기 가격대나 의상 가격대 정하는것과 같습니다.

shieldTags: 방패외형에 대한 태그입니다. 기본적으로 CE는 버클러와 같은 근접전용 방패의 TribalShield 그리고 현대전용 방패는 'OutlanderShield'입니다. 만약 커스텀 CE모드를 추가해 사용할 계획이라면 별도의 방패 태그를 만들어 넣어주시면 됩니다.

shieldChance: 해당 직군이 방패를 갖고 나올 확률입니다. 그리고 기본적인 장착 조건을 충족해야합니다. 예를들면 주무기가 한손무기라던가..

sidearms: 위와 동일합니다. 가격대와 무기의 종류를 정해주면 됩니다.

로드아웃으로 생성된 것들은 인벤토리의 무게/부피 한도를 초과하지 않습니다. 만약 당신의 폰이 방탄 방패와 함께 스폰되었으나 노쇠하고 요통이 있다면 CE는 인벤토리 한도를 초과시키지 않을 것입니다.

⚠️ **GitHub.com Fallback** ⚠️