Compare commits
42 Commits
Author | SHA1 | Date | |
---|---|---|---|
ab48db0206 | |||
|
eaa67d7c97 | ||
8d8a20b755 | |||
0273fa9520 | |||
|
873c9a37ee | ||
b5597ce5f8 | |||
55b82bbc3a | |||
84c5673b76 | |||
d0e38b6ec8 | |||
58ec5f101e | |||
d5673b1887 | |||
ef199d64dd | |||
b7468d4f7e | |||
fe47ba73e4 | |||
62e0ed28ee | |||
e7916876d0 | |||
55567f1933 | |||
53b8933952 | |||
f30a7fcf2a | |||
99dacdf004 | |||
|
1e7bcd732c | ||
|
d38f165464 | ||
|
daa0bd72e9 | ||
|
53f63934b1 | ||
|
b2d0d28946 | ||
|
0a8d4bb38c | ||
6da2b47013 | |||
06c326507e | |||
64a4edf178 | |||
67baea9f2c | |||
fbca6b98f5 | |||
9c72778720 | |||
bababdc366 | |||
2aad26f273 | |||
7175a6c7b6 | |||
47ed596664 | |||
a57d5781d6 | |||
6ccd5381fc | |||
97928b1d47 | |||
6df0b69568 | |||
84ce5f6804 | |||
3387658793 |
33
.editorconfig
Normal file
33
.editorconfig
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
root = true
|
||||||
|
|
||||||
|
# Global
|
||||||
|
[*]
|
||||||
|
indent_style = unset
|
||||||
|
indent_size = 4
|
||||||
|
tab_width = 4
|
||||||
|
end_of_line = lf
|
||||||
|
charset = utf-8
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
insert_final_newline = unset
|
||||||
|
|
||||||
|
# Unreal Engine 3 / Source
|
||||||
|
[*.uc]
|
||||||
|
indent_style = tab
|
||||||
|
|
||||||
|
[*.{uci,upkg}]
|
||||||
|
|
||||||
|
# Unreal Engine 3 / i18n
|
||||||
|
[*.{chn,cht,cze,dan,deu,dut,esl,esn,fra,frc,hun,int,ita,jpn,kor,pol,por,ptb,rus,tur,ukr}]
|
||||||
|
charset = utf-16le
|
||||||
|
|
||||||
|
# Other
|
||||||
|
[*.md]
|
||||||
|
indent_style = space
|
||||||
|
trim_trailing_whitespace = false
|
||||||
|
|
||||||
|
[*.yml]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
[*.{txt,cfg,conf}]
|
||||||
|
indent_style = tab
|
8
.github/issue_template.md
vendored
8
.github/issue_template.md
vendored
@ -1,8 +0,0 @@
|
|||||||
### Details
|
|
||||||
Tell us exactly what happens, every single detail that you can think of
|
|
||||||
|
|
||||||
### Screenshots
|
|
||||||
Provide a screenshot of the issue so we can debug it's not a user issue
|
|
||||||
|
|
||||||
### Steps to reproduce
|
|
||||||
Tell us how to reproduce the problem, step by step
|
|
116
.github/workflows/mega-linter.yml
vendored
Normal file
116
.github/workflows/mega-linter.yml
vendored
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
---
|
||||||
|
name: MegaLinter
|
||||||
|
|
||||||
|
permissions: read-all
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
env:
|
||||||
|
APPLY_FIXES: none
|
||||||
|
APPLY_FIXES_EVENT: pull_request
|
||||||
|
APPLY_FIXES_MODE: commit
|
||||||
|
FILTER_REGEX_EXCLUDE: (mega-linter.yml)
|
||||||
|
DISABLE: SPELL
|
||||||
|
DISABLE_ERRORS_LINTERS: MARKDOWN_MARKDOWN_LINK_CHECK
|
||||||
|
EDITORCONFIG_EDITORCONFIG_CHECKER_FILTER_REGEX_EXCLUDE: 'xVoteAnnouncer.upk'
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.ref }}-${{ github.workflow }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
megalinter:
|
||||||
|
name: MegaLinter
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
issues: write
|
||||||
|
pull-requests: write
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout Code
|
||||||
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.PAT || secrets.GITHUB_TOKEN }}
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: MegaLinter
|
||||||
|
uses: oxsecurity/megalinter@7e042c726c68415475b05a65a686c612120a1232
|
||||||
|
id: ml
|
||||||
|
env:
|
||||||
|
VALIDATE_ALL_CODEBASE: true
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Archive production artifacts
|
||||||
|
uses: actions/upload-artifact@c7d193f32edcb7bfad88892161225aeda64e9392
|
||||||
|
if: success() || failure()
|
||||||
|
with:
|
||||||
|
name: MegaLinter reports
|
||||||
|
path: |
|
||||||
|
megalinter-reports
|
||||||
|
mega-linter.log
|
||||||
|
|
||||||
|
- name: Set APPLY_FIXES_IF var
|
||||||
|
run: |
|
||||||
|
printf 'APPLY_FIXES_IF=%s\n' "${{
|
||||||
|
steps.ml.outputs.has_updated_sources == 1 &&
|
||||||
|
(
|
||||||
|
env.APPLY_FIXES_EVENT == 'all' ||
|
||||||
|
env.APPLY_FIXES_EVENT == github.event_name
|
||||||
|
) &&
|
||||||
|
(
|
||||||
|
github.event_name == 'push' ||
|
||||||
|
github.event.pull_request.head.repo.full_name == github.repository
|
||||||
|
)
|
||||||
|
}}" >> "${GITHUB_ENV}"
|
||||||
|
|
||||||
|
- name: Set APPLY_FIXES_IF_* vars
|
||||||
|
run: |
|
||||||
|
printf 'APPLY_FIXES_IF_PR=%s\n' "${{
|
||||||
|
env.APPLY_FIXES_IF == 'true' &&
|
||||||
|
env.APPLY_FIXES_MODE == 'pull_request'
|
||||||
|
}}" >> "${GITHUB_ENV}"
|
||||||
|
printf 'APPLY_FIXES_IF_COMMIT=%s\n' "${{
|
||||||
|
env.APPLY_FIXES_IF == 'true' &&
|
||||||
|
env.APPLY_FIXES_MODE == 'commit' &&
|
||||||
|
(!contains(fromJSON('["refs/heads/main", "refs/heads/master"]'), github.ref))
|
||||||
|
}}" >> "${GITHUB_ENV}"
|
||||||
|
|
||||||
|
- name: Create Pull Request with applied fixes
|
||||||
|
uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38
|
||||||
|
id: cpr
|
||||||
|
if: env.APPLY_FIXES_IF_PR == 'true'
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.PAT || secrets.GITHUB_TOKEN }}
|
||||||
|
commit-message: "[MegaLinter] Apply linters automatic fixes"
|
||||||
|
title: "[MegaLinter] Apply linters automatic fixes"
|
||||||
|
labels: bot
|
||||||
|
|
||||||
|
- name: Create PR output
|
||||||
|
if: env.APPLY_FIXES_IF_PR == 'true'
|
||||||
|
run: |
|
||||||
|
echo "PR Number - ${{ steps.cpr.outputs.pull-request-number }}"
|
||||||
|
echo "PR URL - ${{ steps.cpr.outputs.pull-request-url }}"
|
||||||
|
|
||||||
|
- name: Prepare commit
|
||||||
|
if: env.APPLY_FIXES_IF_COMMIT == 'true'
|
||||||
|
run: sudo chown -Rc $UID .git/
|
||||||
|
|
||||||
|
- name: Commit and push applied linter fixes
|
||||||
|
uses: stefanzweifel/git-auto-commit-action@8756aa072ef5b4a080af5dc8fef36c5d586e521d
|
||||||
|
if: env.APPLY_FIXES_IF_COMMIT == 'true'
|
||||||
|
with:
|
||||||
|
branch: >-
|
||||||
|
${{
|
||||||
|
github.event.pull_request.head.ref ||
|
||||||
|
github.head_ref ||
|
||||||
|
github.ref
|
||||||
|
}}
|
||||||
|
commit_message: "[MegaLinter] Apply linters fixes"
|
||||||
|
commit_user_name: "github-actions"
|
||||||
|
commit_user_email: "github-actions[bot]@users.noreply.github.com"
|
BIN
Localization/CHN/ServerExt.chn
Normal file
BIN
Localization/CHN/ServerExt.chn
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -24,7 +24,7 @@ The full changelog is available [url=https://steamcommunity.com/sharedfiles/file
|
|||||||
[h1]Usage (single player)[/h1]
|
[h1]Usage (single player)[/h1]
|
||||||
[olist]
|
[olist]
|
||||||
[*]Subscribe to this mutator;
|
[*]Subscribe to this mutator;
|
||||||
[*]Start KF2;
|
[*]Start KF2;
|
||||||
[*]Open console (`) and input:
|
[*]Open console (`) and input:
|
||||||
[code]open KF-BioticsLab?Mutator=ServerExtMut.ServerExtMut[/code]
|
[code]open KF-BioticsLab?Mutator=ServerExtMut.ServerExtMut[/code]
|
||||||
(You can add some options or replace KF-BioticsLab with the map you want)
|
(You can add some options or replace KF-BioticsLab with the map you want)
|
||||||
@ -44,7 +44,7 @@ The full changelog is available [url=https://steamcommunity.com/sharedfiles/file
|
|||||||
[/olist]
|
[/olist]
|
||||||
|
|
||||||
[h1]Mutator setup[/h1]
|
[h1]Mutator setup[/h1]
|
||||||
[url=https://steamcommunity.com/workshop/filedetails/discussion/2085786712/4241773359646835902/][u]Look here[/u][/url]
|
[url=https://steamcommunity.com/workshop/filedetails/discussion/2085786712/4241773359646835902/][u]Look here[/u][/url]
|
||||||
|
|
||||||
[h1]Is it possible to make the game harder?[/h1]
|
[h1]Is it possible to make the game harder?[/h1]
|
||||||
It will be more efficient to use ServerExt together with other mutators (which add new zeds or game modes).
|
It will be more efficient to use ServerExt together with other mutators (which add new zeds or game modes).
|
||||||
@ -88,7 +88,7 @@ SettingsInit=0[/b]
|
|||||||
[b][ServerExtMut.xVotingHandler]
|
[b][ServerExtMut.xVotingHandler]
|
||||||
ConfigVersion=0[/b]
|
ConfigVersion=0[/b]
|
||||||
|
|
||||||
[*]Put in [b]KFServerExt.ini[/b] this: [url=https://pastebin.com/raw/Wx3HYjkj]<PasteBin>[/url] [b](*)[/b]
|
[*]Put in [b]KFServerExt.ini[/b] this: [url=https://gist.githubusercontent.com/GenZmeY/616b6f845f9829c93976f42f6c48505a/raw/1a8c8409d61a2908d5c854ced0932b8ed43a7f51/KFServerExt-Default.ini]<github gist>[/url] [b](*)[/b]
|
||||||
|
|
||||||
[*]Start the game/server along with the ServerExt, then check the configs - content should be generated.
|
[*]Start the game/server along with the ServerExt, then check the configs - content should be generated.
|
||||||
[/olist]
|
[/olist]
|
||||||
@ -120,6 +120,7 @@ If you have a desire to help translate ServerExt into other languages, you can r
|
|||||||
[url=https://steamcommunity.com/profiles/76561197967822972]MilkTeaFox[/url] - Traditional Chinese [CHT];
|
[url=https://steamcommunity.com/profiles/76561197967822972]MilkTeaFox[/url] - Traditional Chinese [CHT];
|
||||||
[url=https://steamcommunity.com/profiles/76561198930643117]あさぴっぴ1020[/url] - Japanese [JPN];
|
[url=https://steamcommunity.com/profiles/76561198930643117]あさぴっぴ1020[/url] - Japanese [JPN];
|
||||||
[url=https://steamcommunity.com/profiles/76561198080866131]Jason Voorehes [/url] - Spanish [ESN];
|
[url=https://steamcommunity.com/profiles/76561198080866131]Jason Voorehes [/url] - Spanish [ESN];
|
||||||
|
[url=https://steamcommunity.com/profiles/76561198200630473/]小曦曦[/url] - Simplified Chinese [CHN];
|
||||||
|
|
||||||
[h1]Sources[/h1]
|
[h1]Sources[/h1]
|
||||||
[url=https://github.com/GenZmeY/KF2-Server-Extension]https://github.com/GenZmeY/KF2-Server-Extension[/url] [b](GNU GPLv3)[/b]
|
[url=https://github.com/GenZmeY/KF2-Server-Extension]https://github.com/GenZmeY/KF2-Server-Extension[/url] [b](GNU GPLv3)[/b]
|
||||||
|
65
README.md
65
README.md
@ -1,22 +1,22 @@
|
|||||||
[![](PublicationContent/mutbanner.png)](https://steamcommunity.com/sharedfiles/filedetails/?id=2085786712)
|
# Server Extension
|
||||||
|
|
||||||
|
[![Banner](PublicationContent/mutbanner.png)](https://steamcommunity.com/sharedfiles/filedetails/?id=2085786712)
|
||||||
|
|
||||||
[![Steam Workshop](https://img.shields.io/static/v1?message=workshop&logo=steam&labelColor=gray&color=blue&logoColor=white&label=steam%20)](https://steamcommunity.com/sharedfiles/filedetails/?id=2085786712)
|
[![Steam Workshop](https://img.shields.io/static/v1?message=workshop&logo=steam&labelColor=gray&color=blue&logoColor=white&label=steam%20)](https://steamcommunity.com/sharedfiles/filedetails/?id=2085786712)
|
||||||
[![Steam Subscriptions](https://img.shields.io/steam/subscriptions/2085786712)](https://steamcommunity.com/sharedfiles/filedetails/?id=2085786712)
|
[![Steam Downloads](https://img.shields.io/steam/downloads/2085786712)](https://steamcommunity.com/sharedfiles/filedetails/?id=2085786712)
|
||||||
[![Steam Favorites](https://img.shields.io/steam/favorites/2085786712)](https://steamcommunity.com/sharedfiles/filedetails/?id=2085786712)
|
[![Steam Favorites](https://img.shields.io/steam/favorites/2085786712)](https://steamcommunity.com/sharedfiles/filedetails/?id=2085786712)
|
||||||
[![Steam Update Date](https://img.shields.io/steam/update-date/2085786712)](https://steamcommunity.com/sharedfiles/filedetails/?id=2085786712)
|
[![MegaLinter](https://github.com/GenZmeY/KF2-Server-Extension/actions/workflows/mega-linter.yml/badge.svg?branch=master)](https://github.com/GenZmeY/KF2-Server-Extension/actions/workflows/mega-linter.yml)
|
||||||
[![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/GenZmeY/KF2-Server-Extension)](https://github.com/GenZmeY/KF2-Server-Extension/tags)
|
[![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/GenZmeY/KF2-Server-Extension)](https://github.com/GenZmeY/KF2-Server-Extension/tags)
|
||||||
[![GitHub top language](https://img.shields.io/github/languages/top/GenZmeY/KF2-Server-Extension)](https://docs.unrealengine.com/udk/Three/WebHome.html)
|
[![GitHub top language](https://img.shields.io/github/languages/top/GenZmeY/KF2-Server-Extension)](https://docs.unrealengine.com/udk/Three/WebHome.html)
|
||||||
[![GitHub](https://img.shields.io/github/license/GenZmeY/KF2-Server-Extension)](LICENSE)
|
[![GitHub](https://img.shields.io/github/license/GenZmeY/KF2-Server-Extension)](LICENSE)
|
||||||
|
|
||||||
[![ServerExt Contributors](https://contrib.rocks/image?repo=GenZmeY/KF2-Server-Extension)](https://github.com/GenZmeY/KF2-Server-Extension/graphs/contributors)
|
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
*This mod replaces current perk system in [Killing Floor 2](https://en.wikipedia.org/wiki/Killing_Floor_2) with a serverside perk progression with RPG elements, which let you buy individual stats and traits.*
|
*This mod replaces current perk system in [Killing Floor 2](https://en.wikipedia.org/wiki/Killing_Floor_2) with a serverside perk progression with RPG elements, which let you buy individual stats and traits.*
|
||||||
|
|
||||||
*This is a further development of the ServerExt mutator from [Marco](https://forums.tripwireinteractive.com/index.php?threads/mutator-server-extension-mod.109463) and [Forrest Mark X](https://github.com/ForrestMarkX/KF2-Server-Extension).*
|
*This is a further development of the ServerExt mutator from [Marco](https://forums.tripwireinteractive.com/index.php?threads/mutator-server-extension-mod.109463) and [Forrest Mark X](https://github.com/ForrestMarkX/KF2-Server-Extension).*
|
||||||
|
|
||||||
# Features
|
## Features
|
||||||
- RPG elements (traits and stats);
|
- RPG elements (traits and stats);
|
||||||
- New menu system;
|
- New menu system;
|
||||||
- Scoreboard that supports unlimited playercount on server;
|
- Scoreboard that supports unlimited playercount on server;
|
||||||
@ -33,7 +33,7 @@ The full changelog is available on [steam workshop](https://steamcommunity.com/s
|
|||||||
|
|
||||||
**Note:** If you want to build/test/brew/publish a mutator without git-bash and/or scripts, follow [these instructions](https://tripwireinteractive.atlassian.net/wiki/spaces/KF2SW/pages/26247172/KF2+Code+Modding+How-to) instead of what is described here.
|
**Note:** If you want to build/test/brew/publish a mutator without git-bash and/or scripts, follow [these instructions](https://tripwireinteractive.atlassian.net/wiki/spaces/KF2SW/pages/26247172/KF2+Code+Modding+How-to) instead of what is described here.
|
||||||
|
|
||||||
# Build
|
## Build
|
||||||
1. Install [Killing Floor 2](https://store.steampowered.com/app/232090/Killing_Floor_2/), Killing Floor 2 - SDK and [git for windows](https://git-scm.com/download/win);
|
1. Install [Killing Floor 2](https://store.steampowered.com/app/232090/Killing_Floor_2/), Killing Floor 2 - SDK and [git for windows](https://git-scm.com/download/win);
|
||||||
2. open git-bash and go to any folder where you want to store ServerExt sources:
|
2. open git-bash and go to any folder where you want to store ServerExt sources:
|
||||||
`cd <ANY_FOLDER_YOU_WANT>`
|
`cd <ANY_FOLDER_YOU_WANT>`
|
||||||
@ -46,43 +46,27 @@ The full changelog is available on [steam workshop](https://steamcommunity.com/s
|
|||||||
5. The compiled files will be here:
|
5. The compiled files will be here:
|
||||||
`C:\Users\<USERNAME>\Documents\My Games\KillingFloor2\KFGame\Unpublished\BrewedPC\Script\`
|
`C:\Users\<USERNAME>\Documents\My Games\KillingFloor2\KFGame\Unpublished\BrewedPC\Script\`
|
||||||
|
|
||||||
# Testing
|
## Using and configuring ServerExt
|
||||||
Open git-bash in the ServerExt source folder and run command:
|
|
||||||
`./tools/builder -t`
|
|
||||||
(or `./tools/builder -ct` if you haven't compiled the mutator yet)
|
|
||||||
|
|
||||||
A local single-user test will be launched with parameters from `builder.cfg` (edit this file if you want to test mutator with different parameters).
|
|
||||||
|
|
||||||
# Using and configuring ServerExt
|
|
||||||
A detailed manual is available on the [mod page](https://steamcommunity.com/sharedfiles/filedetails/?id=2085786712) in the steam workshop.
|
A detailed manual is available on the [mod page](https://steamcommunity.com/sharedfiles/filedetails/?id=2085786712) in the steam workshop.
|
||||||
|
|
||||||
# Publication in steam workshop
|
## Contributing
|
||||||
1. Modify the publish files if necessary, they are in the `PublicationContent`:
|
|
||||||
> description.txt
|
|
||||||
> preview.png
|
|
||||||
> tags.txt
|
|
||||||
> title.txt
|
|
||||||
|
|
||||||
2. Run this command in the source folder: `./tools/builder -cbu`
|
|
||||||
|
|
||||||
# Contributing
|
|
||||||
**Participation is welcome!**
|
**Participation is welcome!**
|
||||||
|
|
||||||
## Bug reports
|
### Bug reports
|
||||||
If you find a bug, go to the [issue page](https://github.com/GenZmeY/KF2-Server-Extension/issues) and check if there is a description of your bug. If not, create a new issue.
|
If you find a bug, go to the [issue page](https://github.com/GenZmeY/KF2-Server-Extension/issues) and check if there is a description of your bug. If not, create a new issue.
|
||||||
Describe what the bug looks like and how we can reproduce it.
|
Describe what the bug looks like and how we can reproduce it.
|
||||||
Attach screenshots if you think it might help.
|
Attach screenshots if you think it might help.
|
||||||
|
|
||||||
If it's a crash issue, be sure to include the `Launch.log` and `Launch_2.log` files. You can find them here:
|
If it's a crash issue, be sure to include the `Launch.log` file. You can find them here:
|
||||||
`C:\Users\<USERNAME>\Documents\My Games\KillingFloor2\KFGame\Logs\`
|
`C:\Users\<USERNAME>\Documents\My Games\KillingFloor2\KFGame\Logs\`
|
||||||
Please note that these files are overwritten every time you start the game/server. Therefore, you must take these files immediately after the game crashes in order not to lose information.
|
Please note that these files are overwritten every time you start the game/server. Therefore, you must take these files immediately after the game crashes in order not to lose information.
|
||||||
|
|
||||||
## Localization
|
### Localization
|
||||||
The mutator supports localization and you can help translate it into other languages.
|
The mutator supports localization and you can help translate it into other languages.
|
||||||
It does not require any special knowledge or programming skills, so you just need to know the language into which you will translate.
|
It does not require any special knowledge or programming skills, so you just need to know the language into which you will translate.
|
||||||
Here's a quick guide on how to do it: [localization guide](https://steamcommunity.com/workshop/filedetails/discussion/2085786712/2942494909176752884)
|
Here's a quick guide on how to do it: [localization guide](https://steamcommunity.com/workshop/filedetails/discussion/2085786712/2942494909176752884)
|
||||||
|
|
||||||
## Contribute code
|
### Contribute code
|
||||||
You can help improve ServerExt by fixing bugs and adding new features.
|
You can help improve ServerExt by fixing bugs and adding new features.
|
||||||
Before making a pull request, make sure that:
|
Before making a pull request, make sure that:
|
||||||
1. Your code is working correctly.
|
1. Your code is working correctly.
|
||||||
@ -91,10 +75,27 @@ Before making a pull request, make sure that:
|
|||||||
In the description of the pull request, describe the changes you made.
|
In the description of the pull request, describe the changes you made.
|
||||||
|
|
||||||
|
|
||||||
# License
|
## Contributors
|
||||||
[GNU GPLv3](LICENSE)
|
[![ServerExt Contributors](https://contrib.rocks/image?repo=GenZmeY/KF2-Server-Extension)](https://github.com/GenZmeY/KF2-Server-Extension/graphs/contributors)
|
||||||
|
|
||||||
|
[Marco](https://steamcommunity.com/profiles/76561197975509070)
|
||||||
|
[ForrestMarkX](https://steamcommunity.com/profiles/76561197997881512)
|
||||||
|
[inklesspen](https://steamcommunity.com/profiles/76561198143883210)
|
||||||
|
[GenZmeY](https://steamcommunity.com/profiles/76561198001617867)
|
||||||
|
[secret](https://steamcommunity.com/profiles/76561198042219365)
|
||||||
|
[Scaredkid93](https://steamcommunity.com/profiles/76561198004271210)
|
||||||
|
|
||||||
|
**Translators:**
|
||||||
|
[GenZmeY](https://steamcommunity.com/profiles/76561198001617867) - Russian [RUS];
|
||||||
|
[MilkTeaFox](https://steamcommunity.com/profiles/76561197967822972) - Traditional Chinese [CHT];
|
||||||
|
[あさぴっぴ1020](https://steamcommunity.com/profiles/76561198930643117) - Japanese [JPN];
|
||||||
|
[Jason Voorehes ](https://steamcommunity.com/profiles/76561198080866131) - Spanish [ESN];
|
||||||
|
[小曦曦](https://steamcommunity.com/profiles/76561198200630473) - Simplified Chinese [CHN].
|
||||||
|
|
||||||
|
## License
|
||||||
|
[![license](https://www.gnu.org/graphics/gplv3-with-text-136x68.png)](LICENSE)
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
**Note about the banner:**
|
**Note about the banner:**
|
||||||
The cat in the picture is [meowbin](https://www.deviantart.com/cottonvalent/gallery/48815375/creepy-cat). And [Cotton Valent](https://www.deviantart.com/cottonvalent) is the artist who designed and painted this magnificent cat.
|
The cat in the picture is [meowbin](https://twitter.com/meawbinneko). And [Cotton Valent](https://twitter.com/horrormove) is the artist who designed and painted this magnificent cat.
|
||||||
|
@ -48,7 +48,7 @@ function DoAutoPurchase()
|
|||||||
PotentialDosh = GetPotentialDosh();
|
PotentialDosh = GetPotentialDosh();
|
||||||
bUpgradeSuccess = AttemptUpgrade(PotentialDosh+TotalDosh, OnPerkWeapons);
|
bUpgradeSuccess = AttemptUpgrade(PotentialDosh+TotalDosh, OnPerkWeapons);
|
||||||
}
|
}
|
||||||
|
|
||||||
bAutoFillPurchasedItem = StartAutoFill();
|
bAutoFillPurchasedItem = StartAutoFill();
|
||||||
if (DoIOwnThisWeapon(TopTierWeapon))
|
if (DoIOwnThisWeapon(TopTierWeapon))
|
||||||
{
|
{
|
||||||
@ -56,7 +56,7 @@ function DoAutoPurchase()
|
|||||||
{
|
{
|
||||||
bSecondaryWeaponPurchased = true;
|
bSecondaryWeaponPurchased = true;
|
||||||
AttemptToPurchaseNextLowerTier(TotalDosh, OnPerkWeapons);
|
AttemptToPurchaseNextLowerTier(TotalDosh, OnPerkWeapons);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MyKFIM.ServerCloseTraderMenu();
|
MyKFIM.ServerCloseTraderMenu();
|
||||||
@ -73,11 +73,11 @@ function DoAutoPurchase()
|
|||||||
{
|
{
|
||||||
AutoFillMessageString = class'KFCommon_LocalizedStrings'.default.AutoFillCompleteString;
|
AutoFillMessageString = class'KFCommon_LocalizedStrings'.default.AutoFillCompleteString;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
AutoFillMessageString = class'KFCommon_LocalizedStrings'.default.NoItemsPurchasedString;
|
AutoFillMessageString = class'KFCommon_LocalizedStrings'.default.NoItemsPurchasedString;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (MyGFxHUD != none)
|
if (MyGFxHUD != none)
|
||||||
{
|
{
|
||||||
@ -89,7 +89,7 @@ function SellOnPerkWeapons()
|
|||||||
{
|
{
|
||||||
local int i;
|
local int i;
|
||||||
local class<KFPerk> Perk;
|
local class<KFPerk> Perk;
|
||||||
|
|
||||||
Perk = GetBasePerk();
|
Perk = GetBasePerk();
|
||||||
if (Perk!=None)
|
if (Perk!=None)
|
||||||
{
|
{
|
||||||
@ -108,7 +108,7 @@ function SellOffPerkWeapons()
|
|||||||
{
|
{
|
||||||
local int i;
|
local int i;
|
||||||
local Ext_PerkBase EP;
|
local Ext_PerkBase EP;
|
||||||
|
|
||||||
EP = GetExtPerk();
|
EP = GetExtPerk();
|
||||||
|
|
||||||
for (i = 0; i < OwnedItemList.length; i++)
|
for (i = 0; i < OwnedItemList.length; i++)
|
||||||
@ -126,8 +126,8 @@ function SellOffPerkWeapons()
|
|||||||
|
|
||||||
function InitializeOwnedItemList()
|
function InitializeOwnedItemList()
|
||||||
{
|
{
|
||||||
local Inventory Inv;
|
local Inventory Inv;
|
||||||
local KFWeapon KFW;
|
local KFWeapon KFW;
|
||||||
local KFPawn_Human KFP;
|
local KFPawn_Human KFP;
|
||||||
local Ext_PerkBase EP;
|
local Ext_PerkBase EP;
|
||||||
|
|
||||||
@ -142,14 +142,14 @@ function InitializeOwnedItemList()
|
|||||||
// init armor purchase values
|
// init armor purchase values
|
||||||
ArmorItem.SpareAmmoCount = KFP.Armor;
|
ArmorItem.SpareAmmoCount = KFP.Armor;
|
||||||
ArmorItem.MaxSpareAmmo = KFP.GetMaxArmor();
|
ArmorItem.MaxSpareAmmo = KFP.GetMaxArmor();
|
||||||
ArmorItem.AmmoPricePerMagazine = TraderItems.ArmorPrice * ActivePerkManager.GetArmorDiscountMod();
|
ArmorItem.AmmoPricePerMagazine = TraderItems.ArmorPrice * ActivePerkManager.GetArmorDiscountMod();
|
||||||
ArmorItem.DefaultItem.WeaponDef = TraderItems.ArmorDef;
|
ArmorItem.DefaultItem.WeaponDef = TraderItems.ArmorDef;
|
||||||
|
|
||||||
// init grenade purchase values
|
// init grenade purchase values
|
||||||
GrenadeItem.SpareAmmoCount = MyKFIM.GrenadeCount;
|
GrenadeItem.SpareAmmoCount = MyKFIM.GrenadeCount;
|
||||||
GrenadeItem.MaxSpareAmmo = ActivePerkManager.MaxGrenadeCount;
|
GrenadeItem.MaxSpareAmmo = ActivePerkManager.MaxGrenadeCount;
|
||||||
GrenadeItem.AmmoPricePerMagazine = TraderItems.GrenadePrice;
|
GrenadeItem.AmmoPricePerMagazine = TraderItems.GrenadePrice;
|
||||||
GrenadeItem.DefaultItem.WeaponDef = EP.GrenadeWeaponDef;
|
GrenadeItem.DefaultItem.WeaponDef = EP.GrenadeWeaponDef;
|
||||||
|
|
||||||
// @temp: fill in stuff that is normally serialized in the archetype
|
// @temp: fill in stuff that is normally serialized in the archetype
|
||||||
GrenadeItem.DefaultItem.AssociatedPerkClasses[0] = CurrentPerk.Class;
|
GrenadeItem.DefaultItem.AssociatedPerkClasses[0] = CurrentPerk.Class;
|
||||||
@ -161,12 +161,12 @@ function InitializeOwnedItemList()
|
|||||||
{
|
{
|
||||||
// Set the weapon information and add it to the OwnedItemList
|
// Set the weapon information and add it to the OwnedItemList
|
||||||
SetWeaponInformation(KFW);
|
SetWeaponInformation(KFW);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MyGfxManager != none && MyGfxManager.TraderMenu != none)
|
if (MyGfxManager != none && MyGfxManager.TraderMenu != none)
|
||||||
{
|
{
|
||||||
MyGfxManager.TraderMenu.OwnedItemList = OwnedItemList;
|
MyGfxManager.TraderMenu.OwnedItemList = OwnedItemList;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -177,7 +177,7 @@ function int AddItemByPriority(out SItemInformation WeaponInfo)
|
|||||||
local byte WeaponGroup, WeaponPriority;
|
local byte WeaponGroup, WeaponPriority;
|
||||||
local byte BestIndex;
|
local byte BestIndex;
|
||||||
local class<KFPerk> Perk;
|
local class<KFPerk> Perk;
|
||||||
|
|
||||||
Perk = GetBasePerk();
|
Perk = GetBasePerk();
|
||||||
|
|
||||||
BestIndex = 0;
|
BestIndex = 0;
|
||||||
@ -217,24 +217,24 @@ function int AddItemByPriority(out SItemInformation WeaponInfo)
|
|||||||
|
|
||||||
// Add secondary ammo immediately after the main weapon
|
// Add secondary ammo immediately after the main weapon
|
||||||
if (WeaponInfo.DefaultItem.WeaponDef.static.UsesSecondaryAmmo())
|
if (WeaponInfo.DefaultItem.WeaponDef.static.UsesSecondaryAmmo())
|
||||||
{
|
{
|
||||||
WeaponInfo.bIsSecondaryAmmo = true;
|
WeaponInfo.bIsSecondaryAmmo = true;
|
||||||
WeaponInfo.SellPrice = 0;
|
WeaponInfo.SellPrice = 0;
|
||||||
OwnedItemList.InsertItem(BestIndex + 1, WeaponInfo);
|
OwnedItemList.InsertItem(BestIndex + 1, WeaponInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MyGfxManager != none && MyGfxManager.TraderMenu != none)
|
if (MyGfxManager != none && MyGfxManager.TraderMenu != none)
|
||||||
{
|
{
|
||||||
MyGfxManager.TraderMenu.OwnedItemList = OwnedItemList;
|
MyGfxManager.TraderMenu.OwnedItemList = OwnedItemList;
|
||||||
}
|
}
|
||||||
|
|
||||||
return BestIndex;
|
return BestIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
function bool CanCarry(const out STraderItem Item, optional int OverrideLevelValue = INDEX_NONE)
|
function bool CanCarry(const out STraderItem Item, optional int OverrideLevelValue = INDEX_NONE)
|
||||||
{
|
{
|
||||||
local int Result;
|
local int Result;
|
||||||
|
|
||||||
Result = TotalBlocks + MyKFIM.GetDisplayedBlocksRequiredfor (Item);
|
Result = TotalBlocks + MyKFIM.GetDisplayedBlocksRequiredfor (Item);
|
||||||
if (Result > MaxBlocks)
|
if (Result > MaxBlocks)
|
||||||
{
|
{
|
||||||
|
@ -8,7 +8,7 @@ var config int HeadMeshIndex,HeadSkinIndex,BodyMeshIndex,BodySkinIndex,Attachmen
|
|||||||
final function FMyCustomChar LoadData()
|
final function FMyCustomChar LoadData()
|
||||||
{
|
{
|
||||||
local FMyCustomChar R;
|
local FMyCustomChar R;
|
||||||
|
|
||||||
if (HasInit==0)
|
if (HasInit==0)
|
||||||
{
|
{
|
||||||
AttachmentMesh0 = `CLEARED_ATTACHMENT_INDEX;
|
AttachmentMesh0 = `CLEARED_ATTACHMENT_INDEX;
|
||||||
@ -46,4 +46,5 @@ final function SaveData(FMyCustomChar R)
|
|||||||
|
|
||||||
defaultproperties
|
defaultproperties
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
@ -5,7 +5,7 @@ class ExtCharacterInfo extends Object
|
|||||||
static final function Object SafeLoadObject(string S, Class ObjClass)
|
static final function Object SafeLoadObject(string S, Class ObjClass)
|
||||||
{
|
{
|
||||||
local Object O;
|
local Object O;
|
||||||
|
|
||||||
O = FindObject(S,ObjClass);
|
O = FindObject(S,ObjClass);
|
||||||
return O!=None ? O : DynamicLoadObject(S,ObjClass);
|
return O!=None ? O : DynamicLoadObject(S,ObjClass);
|
||||||
}
|
}
|
||||||
@ -46,7 +46,7 @@ static function InitCharacterMICs(KFCharacterInfo_Human C, KFPawn P, optional bo
|
|||||||
{
|
{
|
||||||
P.CharacterMICs.AddItem(P.ThirdPersonAttachments[i].CreateAndSetMaterialInstanceConstant(0));
|
P.CharacterMICs.AddItem(P.ThirdPersonAttachments[i].CreateAndSetMaterialInstanceConstant(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (P.FirstPersonAttachments[i] != none)
|
if (P.FirstPersonAttachments[i] != none)
|
||||||
{
|
{
|
||||||
P.CharacterMICs.AddItem(P.FirstPersonAttachments[i].CreateAndSetMaterialInstanceConstant(0));
|
P.CharacterMICs.AddItem(P.FirstPersonAttachments[i].CreateAndSetMaterialInstanceConstant(0));
|
||||||
@ -64,7 +64,7 @@ static final function SetCharacterMeshFromArch(KFCharacterInfo_Human C, KFPawn K
|
|||||||
if (KFPRI == none)
|
if (KFPRI == none)
|
||||||
{
|
{
|
||||||
`Warn("Does not have a KFPRI" @ C);
|
`Warn("Does not have a KFPRI" @ C);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
EPRI = ExtPlayerReplicationInfo(KFPRI);
|
EPRI = ExtPlayerReplicationInfo(KFPRI);
|
||||||
bCustom = (EPRI!=None ? EPRI.UsesCustomChar() : false);
|
bCustom = (EPRI!=None ? EPRI.UsesCustomChar() : false);
|
||||||
@ -86,7 +86,7 @@ static final function SetCharacterMeshFromArch(KFCharacterInfo_Human C, KFPawn K
|
|||||||
// skip dedicated for purely cosmetic stuff
|
// skip dedicated for purely cosmetic stuff
|
||||||
if (KFP.WorldInfo.NetMode != NM_DedicatedServer)
|
if (KFP.WorldInfo.NetMode != NM_DedicatedServer)
|
||||||
{
|
{
|
||||||
// Must clear all attachments before trying to attach new ones,
|
// Must clear all attachments before trying to attach new ones,
|
||||||
// otherwise we might accidentally remove things we're not supposed to
|
// otherwise we might accidentally remove things we're not supposed to
|
||||||
for (AttachmentIdx=0; AttachmentIdx < `MAX_COSMETIC_ATTACHMENTS; AttachmentIdx++)
|
for (AttachmentIdx=0; AttachmentIdx < `MAX_COSMETIC_ATTACHMENTS; AttachmentIdx++)
|
||||||
{
|
{
|
||||||
@ -136,7 +136,7 @@ static final function SetBodyMeshAndSkin(KFCharacterInfo_Human C,
|
|||||||
{
|
{
|
||||||
// Assign a skin to the body mesh as a material override
|
// Assign a skin to the body mesh as a material override
|
||||||
CurrentBodyMeshIndex = (CurrentBodyMeshIndex < C.BodyVariants.length) ? CurrentBodyMeshIndex : 0;
|
CurrentBodyMeshIndex = (CurrentBodyMeshIndex < C.BodyVariants.length) ? CurrentBodyMeshIndex : 0;
|
||||||
|
|
||||||
if (KFPRI.StartLoadCosmeticContent(C, ECOSMETICTYPE_Body, CurrentBodyMeshIndex))
|
if (KFPRI.StartLoadCosmeticContent(C, ECOSMETICTYPE_Body, CurrentBodyMeshIndex))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
@ -224,7 +224,7 @@ static final function SetHeadMeshAndSkin(KFCharacterInfo_Human C,
|
|||||||
if (C.HeadVariants.length > 0)
|
if (C.HeadVariants.length > 0)
|
||||||
{
|
{
|
||||||
CurrentHeadMeshIndex = (CurrentHeadMeshIndex < C.HeadVariants.length) ? CurrentHeadMeshIndex : 0;
|
CurrentHeadMeshIndex = (CurrentHeadMeshIndex < C.HeadVariants.length) ? CurrentHeadMeshIndex : 0;
|
||||||
|
|
||||||
if (KFPRI.StartLoadCosmeticContent(C, ECOSMETICTYPE_Head, CurrentHeadMeshIndex))
|
if (KFPRI.StartLoadCosmeticContent(C, ECOSMETICTYPE_Head, CurrentHeadMeshIndex))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
@ -332,7 +332,7 @@ static final function SetAttachmentMeshAndSkin(KFCharacterInfo_Human C,
|
|||||||
//DetachConflictingAttachments(CurrentAttachmentMeshIndex, KFP, KFPRI);
|
//DetachConflictingAttachments(CurrentAttachmentMeshIndex, KFP, KFPRI);
|
||||||
// Get a slot where this attachment could fit
|
// Get a slot where this attachment could fit
|
||||||
AttachmentSlotIndex = GetAttachmentSlotIndex(C, CurrentAttachmentMeshIndex, KFP, KFPRI);
|
AttachmentSlotIndex = GetAttachmentSlotIndex(C, CurrentAttachmentMeshIndex, KFP, KFPRI);
|
||||||
|
|
||||||
if (AttachmentSlotIndex == INDEX_NONE)
|
if (AttachmentSlotIndex == INDEX_NONE)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
@ -341,13 +341,13 @@ static final function SetAttachmentMeshAndSkin(KFCharacterInfo_Human C,
|
|||||||
// Since cosmetic attachments are optional, do not choose index 0 if none is
|
// Since cosmetic attachments are optional, do not choose index 0 if none is
|
||||||
// specified unlike the the head and body meshes
|
// specified unlike the the head and body meshes
|
||||||
if (C.CosmeticVariants.Length > 0 &&
|
if (C.CosmeticVariants.Length > 0 &&
|
||||||
CurrentAttachmentMeshIndex < C.CosmeticVariants.Length)
|
CurrentAttachmentMeshIndex < C.CosmeticVariants.Length)
|
||||||
{
|
{
|
||||||
if (KFPRI.StartLoadCosmeticContent(C, ECOSMETICTYPE_Attachment, CurrentAttachmentMeshIndex))
|
if (KFPRI.StartLoadCosmeticContent(C, ECOSMETICTYPE_Attachment, CurrentAttachmentMeshIndex))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Cache values from character info
|
// Cache values from character info
|
||||||
CharAttachmentMeshName = bIsFirstPerson ? C.Get1pMeshByIndex(CurrentAttachmentMeshIndex) : C.GetMeshByIndex(CurrentAttachmentMeshIndex);
|
CharAttachmentMeshName = bIsFirstPerson ? C.Get1pMeshByIndex(CurrentAttachmentMeshIndex) : C.GetMeshByIndex(CurrentAttachmentMeshIndex);
|
||||||
CharAttachmentSocketName = bIsFirstPerson ? C.CosmeticVariants[CurrentAttachmentMeshIndex].AttachmentItem.SocketName1p : C.CosmeticVariants[CurrentAttachmentMeshIndex].AttachmentItem.SocketName;
|
CharAttachmentSocketName = bIsFirstPerson ? C.CosmeticVariants[CurrentAttachmentMeshIndex].AttachmentItem.SocketName1p : C.CosmeticVariants[CurrentAttachmentMeshIndex].AttachmentItem.SocketName;
|
||||||
@ -517,8 +517,8 @@ static final function SetAttachmentMesh(KFCharacterInfo_Human C, int CurrentAtta
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes any attachments that exist in the same socket or have overriding cases
|
* Removes any attachments that exist in the same socket or have overriding cases
|
||||||
* Network: Local Player
|
* Network: Local Player
|
||||||
*/
|
*/
|
||||||
static final function DetachConflictingAttachments(KFCharacterInfo_Human C, int NewAttachmentMeshIndex, KFPawn KFP, optional KFPlayerReplicationInfo KFPRI, optional out array<int> out_RemovedAttachments)
|
static final function DetachConflictingAttachments(KFCharacterInfo_Human C, int NewAttachmentMeshIndex, KFPawn KFP, optional KFPlayerReplicationInfo KFPRI, optional out array<int> out_RemovedAttachments)
|
||||||
{
|
{
|
||||||
@ -531,7 +531,7 @@ static final function DetachConflictingAttachments(KFCharacterInfo_Human C, int
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
if (C.CosmeticVariants.length > 0 &&
|
if (C.CosmeticVariants.length > 0 &&
|
||||||
NewAttachmentMeshIndex < C.CosmeticVariants.length)
|
NewAttachmentMeshIndex < C.CosmeticVariants.length)
|
||||||
{
|
{
|
||||||
// The socket that this attachment requires
|
// The socket that this attachment requires
|
||||||
NewAttachmentSocketName = C.CosmeticVariants[NewAttachmentMeshIndex].AttachmentItem.SocketName;
|
NewAttachmentSocketName = C.CosmeticVariants[NewAttachmentMeshIndex].AttachmentItem.SocketName;
|
||||||
@ -546,7 +546,7 @@ static final function DetachConflictingAttachments(KFCharacterInfo_Human C, int
|
|||||||
if (KFP.ThirdPersonAttachmentSocketNames[i] != '' &&
|
if (KFP.ThirdPersonAttachmentSocketNames[i] != '' &&
|
||||||
KFP.ThirdPersonAttachmentSocketNames[i] == NewAttachmentSocketName)
|
KFP.ThirdPersonAttachmentSocketNames[i] == NewAttachmentSocketName)
|
||||||
{
|
{
|
||||||
C.RemoveAttachmentMeshAndSkin(i, KFP, KFPRI);
|
C.RemoveAttachmentMeshAndSkin(i, KFP, KFPRI);
|
||||||
out_RemovedAttachments.AddItem(i);
|
out_RemovedAttachments.AddItem(i);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -580,19 +580,19 @@ static final function SetFirstPersonArmsFromArch(KFCharacterInfo_Human C, KFPawn
|
|||||||
if (KFPRI == none)
|
if (KFPRI == none)
|
||||||
{
|
{
|
||||||
`Warn("Does not have a KFPRI" @ C);
|
`Warn("Does not have a KFPRI" @ C);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
EPRI = ExtPlayerReplicationInfo(KFPRI);
|
EPRI = ExtPlayerReplicationInfo(KFPRI);
|
||||||
bCustom = (EPRI!=None ? EPRI.UsesCustomChar() : false);
|
bCustom = (EPRI!=None ? EPRI.UsesCustomChar() : false);
|
||||||
|
|
||||||
// First person arms mesh and skin are based on body mesh & skin.
|
// First person arms mesh and skin are based on body mesh & skin.
|
||||||
// Index of 255 implies use index 0 (default).
|
// Index of 255 implies use index 0 (default).
|
||||||
C.SetArmsMeshAndSkin(
|
C.SetArmsMeshAndSkin(
|
||||||
bCustom ? EPRI.CustomCharacter.BodyMeshIndex : KFPRI.RepCustomizationInfo.BodyMeshIndex,
|
bCustom ? EPRI.CustomCharacter.BodyMeshIndex : KFPRI.RepCustomizationInfo.BodyMeshIndex,
|
||||||
bCustom ? EPRI.CustomCharacter.BodySkinIndex : KFPRI.RepCustomizationInfo.BodySkinIndex,
|
bCustom ? EPRI.CustomCharacter.BodySkinIndex : KFPRI.RepCustomizationInfo.BodySkinIndex,
|
||||||
KFP,
|
KFP,
|
||||||
KFPRI);
|
KFPRI);
|
||||||
|
|
||||||
for (AttachmentIdx = 0; AttachmentIdx < `MAX_COSMETIC_ATTACHMENTS; AttachmentIdx++)
|
for (AttachmentIdx = 0; AttachmentIdx < `MAX_COSMETIC_ATTACHMENTS; AttachmentIdx++)
|
||||||
{
|
{
|
||||||
CosmeticMeshIdx = bCustom ? EPRI.CustomCharacter.AttachmentMeshIndices[AttachmentIdx] : KFPRI.RepCustomizationInfo.AttachmentMeshIndices[AttachmentIdx];
|
CosmeticMeshIdx = bCustom ? EPRI.CustomCharacter.AttachmentMeshIndices[AttachmentIdx] : KFPRI.RepCustomizationInfo.AttachmentMeshIndices[AttachmentIdx];
|
||||||
@ -623,10 +623,10 @@ static function int GetAttachmentSlotIndex(
|
|||||||
`warn("GetAttachmentSlotIndex - NO KFPRI");
|
`warn("GetAttachmentSlotIndex - NO KFPRI");
|
||||||
return INDEX_NONE;
|
return INDEX_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
EPRI = ExtPlayerReplicationInfo(KFPRI);
|
EPRI = ExtPlayerReplicationInfo(KFPRI);
|
||||||
bCustom = (EPRI!=None ? EPRI.UsesCustomChar() : false);
|
bCustom = (EPRI!=None ? EPRI.UsesCustomChar() : false);
|
||||||
|
|
||||||
// Return the next available attachment index or the index that matches this mesh
|
// Return the next available attachment index or the index that matches this mesh
|
||||||
for (AttachmentIdx = 0; AttachmentIdx < `MAX_COSMETIC_ATTACHMENTS; AttachmentIdx++)
|
for (AttachmentIdx = 0; AttachmentIdx < `MAX_COSMETIC_ATTACHMENTS; AttachmentIdx++)
|
||||||
{
|
{
|
||||||
@ -647,4 +647,4 @@ static function bool IsAttachmentAvailable(KFCharacterInfo_Human C, const out At
|
|||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -8,16 +8,16 @@ static final function name GetUnlockedEmote(int ItemId, ExtPlayerController PC)
|
|||||||
local int i;
|
local int i;
|
||||||
local name Anim;
|
local name Anim;
|
||||||
local ExtPlayerReplicationInfo PRI;
|
local ExtPlayerReplicationInfo PRI;
|
||||||
|
|
||||||
i = default.Emotes.Find('Id', ItemId);
|
i = default.Emotes.Find('Id', ItemId);
|
||||||
if (i > -1)
|
if (i > -1)
|
||||||
{
|
{
|
||||||
Anim = default.Emotes[i].AnimName;
|
Anim = default.Emotes[i].AnimName;
|
||||||
PRI = ExtPlayerReplicationInfo(PC.PlayerReplicationInfo);
|
PRI = ExtPlayerReplicationInfo(PC.PlayerReplicationInfo);
|
||||||
|
|
||||||
if (PRI == None)
|
if (PRI == None)
|
||||||
return Anim;
|
return Anim;
|
||||||
|
|
||||||
else return Anim;
|
else return Anim;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -28,7 +28,7 @@ static final function SaveEquippedEmote(int ItemId, ExtPlayerController PC)
|
|||||||
{
|
{
|
||||||
if (PC == None)
|
if (PC == None)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
PC.SelectedEmoteIndex = ItemId;
|
PC.SelectedEmoteIndex = ItemId;
|
||||||
PC.SaveConfig();
|
PC.SaveConfig();
|
||||||
}
|
}
|
||||||
@ -52,7 +52,7 @@ static final function int GetEquippedEmoteId(ExtPlayerController PC)
|
|||||||
{
|
{
|
||||||
if (PC == None)
|
if (PC == None)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
return PC.SelectedEmoteIndex;
|
return PC.SelectedEmoteIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,4 +7,5 @@ protected function SpecialCringeEffectsfor (Actor Victim, float VictimDist)
|
|||||||
|
|
||||||
defaultproperties
|
defaultproperties
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
@ -4,10 +4,10 @@ function InitMenu()
|
|||||||
{
|
{
|
||||||
local byte i;
|
local byte i;
|
||||||
local KFGUI_Button B;
|
local KFGUI_Button B;
|
||||||
|
|
||||||
PageSwitcher = KFGUI_SwitchMenuBar(FindComponentID('Pager'));
|
PageSwitcher = KFGUI_SwitchMenuBar(FindComponentID('Pager'));
|
||||||
Super(KFGUI_Page).InitMenu();
|
Super(KFGUI_Page).InitMenu();
|
||||||
|
|
||||||
for (i=0; i<Pages.Length; ++i)
|
for (i=0; i<Pages.Length; ++i)
|
||||||
{
|
{
|
||||||
PageSwitcher.AddPage(Pages[i],B).InitMenu();
|
PageSwitcher.AddPage(Pages[i],B).InitMenu();
|
||||||
@ -23,9 +23,9 @@ function PreDraw()
|
|||||||
{
|
{
|
||||||
local GameViewportClient Viewport;
|
local GameViewportClient Viewport;
|
||||||
local ExtMoviePlayer_Manager MovieManager;
|
local ExtMoviePlayer_Manager MovieManager;
|
||||||
|
|
||||||
Super.PreDraw();
|
Super.PreDraw();
|
||||||
|
|
||||||
Viewport = LocalPlayer(GetPlayer().Player).ViewportClient;
|
Viewport = LocalPlayer(GetPlayer().Player).ViewportClient;
|
||||||
MovieManager = ExtMoviePlayer_Manager(KFPlayerController(GetPlayer()).MyGFxManager);
|
MovieManager = ExtMoviePlayer_Manager(KFPlayerController(GetPlayer()).MyGFxManager);
|
||||||
if (CaptureMouse())
|
if (CaptureMouse())
|
||||||
@ -39,7 +39,7 @@ function PreDraw()
|
|||||||
{
|
{
|
||||||
Viewport.bDisplayHardwareMouseCursor = false;
|
Viewport.bDisplayHardwareMouseCursor = false;
|
||||||
Viewport.ForceUpdateMouseCursor(true);
|
Viewport.ForceUpdateMouseCursor(true);
|
||||||
|
|
||||||
MovieManager.SetMovieCanReceiveInput(true);
|
MovieManager.SetMovieCanReceiveInput(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -52,7 +52,7 @@ defaultproperties
|
|||||||
XPosition=0.01
|
XPosition=0.01
|
||||||
XSize=0.73
|
XSize=0.73
|
||||||
YSize=0.73
|
YSize=0.73
|
||||||
|
|
||||||
Pages.Empty
|
Pages.Empty
|
||||||
Pages.Add(Class'UIP_PerkSelectionLobby')
|
Pages.Add(Class'UIP_PerkSelectionLobby')
|
||||||
}
|
}
|
28
ServerExt/Classes/ExtHUD_ObjectiveConatiner.uc
Normal file
28
ServerExt/Classes/ExtHUD_ObjectiveConatiner.uc
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
class ExtHUD_ObjectiveConatiner extends KFGFxHUD_ObjectiveConatiner;
|
||||||
|
|
||||||
|
simulated function SetActive(bool bActive)
|
||||||
|
{
|
||||||
|
if (bActive)
|
||||||
|
{
|
||||||
|
Super.SetActive(bActive);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetVisible(bActive);
|
||||||
|
CurrentObjectiveInterface = none;
|
||||||
|
|
||||||
|
// Fix:
|
||||||
|
// ScriptWarning: Accessed None
|
||||||
|
// KFGFxHUD_ObjectiveConatiner Transient.ExtMoviePlayer_HUD_0:KFGFxHUD_ObjectiveConatiner_0
|
||||||
|
// Function KFGame.KFGFxHUD_ObjectiveConatiner:SetActive:01D9
|
||||||
|
if (GetObject("objectiveNumberMC") != None)
|
||||||
|
{
|
||||||
|
GetObject("objectiveNumberMC").SetVisible(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
DefaultProperties
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
@ -14,7 +14,7 @@ function UpdateGrenades()
|
|||||||
if (ExtPlayerController(MyKFPC)!=None)
|
if (ExtPlayerController(MyKFPC)!=None)
|
||||||
{
|
{
|
||||||
PM = ExtPlayerController(MyKFPC).ActivePerkManager;
|
PM = ExtPlayerController(MyKFPC).ActivePerkManager;
|
||||||
|
|
||||||
if (PM!=None && PM.CurrentPerk!=None && EPerkClass!=PM.CurrentPerk.Class)
|
if (PM!=None && PM.CurrentPerk!=None && EPerkClass!=PM.CurrentPerk.Class)
|
||||||
{
|
{
|
||||||
SetString("backpackGrenadeType", "img://"$PM.CurrentPerk.GrenadeWeaponDef.Static.GetImagePath());
|
SetString("backpackGrenadeType", "img://"$PM.CurrentPerk.GrenadeWeaponDef.Static.GetImagePath());
|
||||||
@ -31,4 +31,5 @@ function UpdateGrenades()
|
|||||||
|
|
||||||
defaultproperties
|
defaultproperties
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
@ -22,16 +22,16 @@ function UpdatePerk()
|
|||||||
CurrentPerk = ExPC.ActivePerkManager.CurrentPerk;
|
CurrentPerk = ExPC.ActivePerkManager.CurrentPerk;
|
||||||
CurrentPerkLevel = CurrentPerk.CurrentLevel;
|
CurrentPerkLevel = CurrentPerk.CurrentLevel;
|
||||||
CurrentPerkEXP = CurrentPerk.CurrentEXP;
|
CurrentPerkEXP = CurrentPerk.CurrentEXP;
|
||||||
|
|
||||||
// Update the perk class.
|
// Update the perk class.
|
||||||
if ((ExLastPerkClass != CurrentPerk.Class) || (LastPerkLevel != CurrentPerkLevel))
|
if ((ExLastPerkClass != CurrentPerk.Class) || (LastPerkLevel != CurrentPerkLevel))
|
||||||
{
|
{
|
||||||
CurPerkPath = CurrentPerk.GetPerkIconPath(CurrentPerkLevel);
|
CurPerkPath = CurrentPerk.GetPerkIconPath(CurrentPerkLevel);
|
||||||
|
|
||||||
PerkIconObject = CreateObject("Object");
|
PerkIconObject = CreateObject("Object");
|
||||||
PerkIconObject.SetString("perkIcon", CurPerkPath);
|
PerkIconObject.SetString("perkIcon", CurPerkPath);
|
||||||
SetObject("playerPerkIcon", PerkIconObject);
|
SetObject("playerPerkIcon", PerkIconObject);
|
||||||
|
|
||||||
SetInt("playerPerkXPPercent", CurrentPerk.GetProgressPercent() * 100.f);
|
SetInt("playerPerkXPPercent", CurrentPerk.GetProgressPercent() * 100.f);
|
||||||
if (LastPerkLevel != CurrentPerkLevel && ExLastPerkClass==CurrentPerk.Class)
|
if (LastPerkLevel != CurrentPerkLevel && ExLastPerkClass==CurrentPerk.Class)
|
||||||
{
|
{
|
||||||
|
@ -19,10 +19,10 @@ function UpdatePlayerInfo(optional bool bForceUpdate)
|
|||||||
{
|
{
|
||||||
local GFxObject TempObject;
|
local GFxObject TempObject;
|
||||||
local ExtPlayerReplicationInfo E;
|
local ExtPlayerReplicationInfo E;
|
||||||
|
|
||||||
if (SpectatedKFPRI == None)
|
if (SpectatedKFPRI == None)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
E = ExtPlayerReplicationInfo(SpectatedKFPRI);
|
E = ExtPlayerReplicationInfo(SpectatedKFPRI);
|
||||||
|
|
||||||
if (LastPerkLevel != E.ECurrentPerkLevel || LastPerkLevel != E.ECurrentPerkLevel || bForceUpdate)
|
if (LastPerkLevel != E.ECurrentPerkLevel || LastPerkLevel != E.ECurrentPerkLevel || bForceUpdate)
|
||||||
@ -44,4 +44,5 @@ function UpdatePlayerInfo(optional bool bForceUpdate)
|
|||||||
|
|
||||||
defaultproperties
|
defaultproperties
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -57,7 +57,7 @@ simulated function SetWeaponGroupList(out array<KFWeapon> WeaponList, byte Group
|
|||||||
TempObj.SetString("weaponName", WeaponGroup[i].static.GetItemLocalization("ItemName"));
|
TempObj.SetString("weaponName", WeaponGroup[i].static.GetItemLocalization("ItemName"));
|
||||||
TempObj.SetString("texturePath", "img://"$WeaponGroup[i].static.GetImagePath());
|
TempObj.SetString("texturePath", "img://"$WeaponGroup[i].static.GetImagePath());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
TempObj.SetString("weaponName", WeaponList[i].ItemName);
|
TempObj.SetString("weaponName", WeaponList[i].ItemName);
|
||||||
TempObj.SetString("texturePath", "img://"$PathName(WeaponList[i].WeaponSelectTexture));
|
TempObj.SetString("texturePath", "img://"$PathName(WeaponList[i].WeaponSelectTexture));
|
||||||
@ -88,4 +88,5 @@ simulated function SetWeaponGroupList(out array<KFWeapon> WeaponList, byte Group
|
|||||||
|
|
||||||
defaultproperties
|
defaultproperties
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
@ -79,10 +79,10 @@ simulated function bool Died(Controller Killer, class<DamageType> damageType, ve
|
|||||||
if (Controller != None)
|
if (Controller != None)
|
||||||
WorldInfo.Game.Killed(Killer, Controller, self, damageType);
|
WorldInfo.Game.Killed(Killer, Controller, self, damageType);
|
||||||
else WorldInfo.Game.Killed(Killer, Controller(Owner), self, damageType);
|
else WorldInfo.Game.Killed(Killer, Controller(Owner), self, damageType);
|
||||||
|
|
||||||
if (InvManager != None)
|
if (InvManager != None)
|
||||||
InvManager.OwnerDied();
|
InvManager.OwnerDied();
|
||||||
|
|
||||||
Health = 1;
|
Health = 1;
|
||||||
if (!bFeigningDeath)
|
if (!bFeigningDeath)
|
||||||
PlayFeignDeath(true,,true);
|
PlayFeignDeath(true,,true);
|
||||||
@ -124,10 +124,10 @@ event bool HealDamage(int Amount, Controller Healer, class<DamageType> DamageTyp
|
|||||||
|
|
||||||
InstigatorPC = ExtPlayerController(Healer);
|
InstigatorPC = ExtPlayerController(Healer);
|
||||||
InstigatorPerk = InstigatorPC.GetPerk();
|
InstigatorPerk = InstigatorPC.GetPerk();
|
||||||
|
|
||||||
if (InstigatorPerk != None && bCanRepairArmor)
|
if (InstigatorPerk != None && bCanRepairArmor)
|
||||||
bRepairedArmor = InstigatorPC.GetPerk().RepairArmor(self);
|
bRepairedArmor = InstigatorPC.GetPerk().RepairArmor(self);
|
||||||
|
|
||||||
EPRI = ExtPlayerReplicationInfo(InstigatorPC.PlayerReplicationInfo);
|
EPRI = ExtPlayerReplicationInfo(InstigatorPC.PlayerReplicationInfo);
|
||||||
if (EPRI != none)
|
if (EPRI != none)
|
||||||
{
|
{
|
||||||
@ -432,7 +432,7 @@ simulated function PlayFeignDeath(bool bEnable, optional bool bForce, optional b
|
|||||||
}
|
}
|
||||||
WeaponAttachmentTemplate = None;
|
WeaponAttachmentTemplate = None;
|
||||||
WeaponAttachmentChanged();
|
WeaponAttachmentChanged();
|
||||||
|
|
||||||
bPlayingFeignDeathRecovery = false;
|
bPlayingFeignDeathRecovery = false;
|
||||||
ClearTimer('OnWakeUpFinished');
|
ClearTimer('OnWakeUpFinished');
|
||||||
if (!bTransformMode)
|
if (!bTransformMode)
|
||||||
@ -452,21 +452,21 @@ simulated function PlayFeignDeath(bool bEnable, optional bool bForce, optional b
|
|||||||
|
|
||||||
// Move into post so that we are hitting physics from last frame, rather than animated from this
|
// Move into post so that we are hitting physics from last frame, rather than animated from this
|
||||||
SetTickGroup(TG_PostAsyncWork);
|
SetTickGroup(TG_PostAsyncWork);
|
||||||
|
|
||||||
// Turn collision on for skelmeshcomp and off for cylinder
|
// Turn collision on for skelmeshcomp and off for cylinder
|
||||||
CylinderComponent.SetActorCollision(false, false);
|
CylinderComponent.SetActorCollision(false, false);
|
||||||
Mesh.SetActorCollision(true, true);
|
Mesh.SetActorCollision(true, true);
|
||||||
Mesh.SetTraceBlocking(true, true);
|
Mesh.SetTraceBlocking(true, true);
|
||||||
|
|
||||||
Mesh.SetHasPhysicsAssetInstance(false);
|
Mesh.SetHasPhysicsAssetInstance(false);
|
||||||
|
|
||||||
if (!InitRagdoll()) // Ragdoll error!
|
if (!InitRagdoll()) // Ragdoll error!
|
||||||
{
|
{
|
||||||
if (PlayerController(Controller)!=None)
|
if (PlayerController(Controller)!=None)
|
||||||
PlayerController(Controller).ClientMessage("Error: InitRagdoll() failed!");
|
PlayerController(Controller).ClientMessage("Error: InitRagdoll() failed!");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure we are always updating kinematic
|
// Ensure we are always updating kinematic
|
||||||
Mesh.MinDistFactorForKinematicUpdate = 0.0;
|
Mesh.MinDistFactorForKinematicUpdate = 0.0;
|
||||||
|
|
||||||
@ -516,7 +516,7 @@ simulated function PlayFeignDeath(bool bEnable, optional bool bForce, optional b
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PreRagdollCollisionComponent = None;
|
PreRagdollCollisionComponent = None;
|
||||||
|
|
||||||
// Calculate how far we just moved the actor up.
|
// Calculate how far we just moved the actor up.
|
||||||
@ -530,7 +530,7 @@ simulated function PlayFeignDeath(bool bEnable, optional bool bForce, optional b
|
|||||||
UnfeignFailedCount = 0;
|
UnfeignFailedCount = 0;
|
||||||
|
|
||||||
bPlayingFeignDeathRecovery = true;
|
bPlayingFeignDeathRecovery = true;
|
||||||
|
|
||||||
// Reset collision.
|
// Reset collision.
|
||||||
Mesh.SetActorCollision(true, false);
|
Mesh.SetActorCollision(true, false);
|
||||||
Mesh.SetTraceBlocking(true, false);
|
Mesh.SetTraceBlocking(true, false);
|
||||||
@ -545,7 +545,7 @@ simulated function PlayFeignDeath(bool bEnable, optional bool bForce, optional b
|
|||||||
|
|
||||||
// physics weight interpolated to 0 in C++, then StartFeignDeathRecoveryAnim() is called
|
// physics weight interpolated to 0 in C++, then StartFeignDeathRecoveryAnim() is called
|
||||||
Mesh.PhysicsWeight = 1.0;
|
Mesh.PhysicsWeight = 1.0;
|
||||||
|
|
||||||
// force rotation to match the body's direction so the blend to the getup animation looks more natural
|
// force rotation to match the body's direction so the blend to the getup animation looks more natural
|
||||||
NewRotation = Rotation;
|
NewRotation = Rotation;
|
||||||
NewRotation.Yaw = rotator(Mesh.GetBoneAxis(HeadBoneName, AXIS_X)).Yaw;
|
NewRotation.Yaw = rotator(Mesh.GetBoneAxis(HeadBoneName, AXIS_X)).Yaw;
|
||||||
@ -558,13 +558,13 @@ simulated function PlayFeignDeath(bool bEnable, optional bool bForce, optional b
|
|||||||
FeignRecoverAnim = 'Getup_B_V1';
|
FeignRecoverAnim = 'Getup_B_V1';
|
||||||
}
|
}
|
||||||
else FeignRecoverAnim = 'Getup_F_V1';
|
else FeignRecoverAnim = 'Getup_F_V1';
|
||||||
|
|
||||||
// Init wakeup anim.
|
// Init wakeup anim.
|
||||||
if (Mesh.AnimSets.Find(WakeUpAnimSet)==-1)
|
if (Mesh.AnimSets.Find(WakeUpAnimSet)==-1)
|
||||||
Mesh.AnimSets.AddItem(WakeUpAnimSet);
|
Mesh.AnimSets.AddItem(WakeUpAnimSet);
|
||||||
BodyStanceNodes[EAS_FullBody].bNoNotifies = true;
|
BodyStanceNodes[EAS_FullBody].bNoNotifies = true;
|
||||||
BodyStanceNodes[EAS_FullBody].PlayCustomAnim(FeignRecoverAnim,0.025f,,,,true);
|
BodyStanceNodes[EAS_FullBody].PlayCustomAnim(FeignRecoverAnim,0.025f,,,,true);
|
||||||
|
|
||||||
SetRotation(NewRotation);
|
SetRotation(NewRotation);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -573,7 +573,7 @@ final function vector PickNearestNode()
|
|||||||
{
|
{
|
||||||
local NavigationPoint N,Best;
|
local NavigationPoint N,Best;
|
||||||
local float Dist,BestDist;
|
local float Dist,BestDist;
|
||||||
|
|
||||||
foreach WorldInfo.AllNavigationPoints(class'NavigationPoint',N)
|
foreach WorldInfo.AllNavigationPoints(class'NavigationPoint',N)
|
||||||
{
|
{
|
||||||
Dist = VSizeSq(N.Location-Location);
|
Dist = VSizeSq(N.Location-Location);
|
||||||
@ -674,7 +674,7 @@ simulated function PlayRagdollDeath(class<DamageType> DamageType, vector HitLoc)
|
|||||||
bFPLegsAttached = false;
|
bFPLegsAttached = false;
|
||||||
DetachComponent(FPBodyMesh);
|
DetachComponent(FPBodyMesh);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure we are always updating kinematic
|
// Ensure we are always updating kinematic
|
||||||
Mesh.MinDistFactorForKinematicUpdate = 0.0;
|
Mesh.MinDistFactorForKinematicUpdate = 0.0;
|
||||||
|
|
||||||
@ -935,7 +935,7 @@ ignores FaceRotation, SetMovementPhysics;
|
|||||||
{
|
{
|
||||||
bNoWeaponFiring = default.bNoWeaponFiring;
|
bNoWeaponFiring = default.bNoWeaponFiring;
|
||||||
bCanPickupInventory = default.bCanPickupInventory;
|
bCanPickupInventory = default.bCanPickupInventory;
|
||||||
|
|
||||||
UTWeap = KFWeapon(Weapon);
|
UTWeap = KFWeapon(Weapon);
|
||||||
if (UTWeap != None)
|
if (UTWeap != None)
|
||||||
{
|
{
|
||||||
@ -952,7 +952,7 @@ ignores FaceRotation, SetMovementPhysics;
|
|||||||
else if (Controller!=None)
|
else if (Controller!=None)
|
||||||
Controller.ReplicatedEvent('EndRagdollMove');
|
Controller.ReplicatedEvent('EndRagdollMove');
|
||||||
}
|
}
|
||||||
|
|
||||||
Global.WeaponAttachmentChanged();
|
Global.WeaponAttachmentChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1027,11 +1027,11 @@ simulated final function InitFPLegs()
|
|||||||
local int i;
|
local int i;
|
||||||
|
|
||||||
bFPLegsInit = true;
|
bFPLegsInit = true;
|
||||||
|
|
||||||
FPBodyMesh.AnimSets = CharacterArch.AnimSets;
|
FPBodyMesh.AnimSets = CharacterArch.AnimSets;
|
||||||
FPBodyMesh.SetAnimTreeTemplate(CharacterArch.AnimTreeTemplate);
|
FPBodyMesh.SetAnimTreeTemplate(CharacterArch.AnimTreeTemplate);
|
||||||
FPBodyMesh.SetSkeletalMesh(Mesh.SkeletalMesh);
|
FPBodyMesh.SetSkeletalMesh(Mesh.SkeletalMesh);
|
||||||
|
|
||||||
FPBodyMesh.SetActorCollision(false, false);
|
FPBodyMesh.SetActorCollision(false, false);
|
||||||
FPBodyMesh.SetNotifyRigidBodyCollision(false);
|
FPBodyMesh.SetNotifyRigidBodyCollision(false);
|
||||||
FPBodyMesh.SetTraceBlocking(false, false);
|
FPBodyMesh.SetTraceBlocking(false, false);
|
||||||
@ -1067,7 +1067,7 @@ simulated final function UpdateFPLegs()
|
|||||||
{
|
{
|
||||||
bFPLegsAttached = true;
|
bFPLegsAttached = true;
|
||||||
AttachComponent(FPBodyMesh);
|
AttachComponent(FPBodyMesh);
|
||||||
|
|
||||||
if (!bFPLegsInit && CharacterArch!=None)
|
if (!bFPLegsInit && CharacterArch!=None)
|
||||||
InitFPLegs();
|
InitFPLegs();
|
||||||
}
|
}
|
||||||
@ -1106,12 +1106,12 @@ simulated final function SetBackpackWeapon(class<KFWeapon> WC)
|
|||||||
{
|
{
|
||||||
AttachedBackItem.SetMaterial(i, WC.Default.AttachmentArchetype.SkelMesh.Materials[i]);
|
AttachedBackItem.SetMaterial(i, WC.Default.AttachmentArchetype.SkelMesh.Materials[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
Mesh.DetachComponent(AttachedBackItem);
|
Mesh.DetachComponent(AttachedBackItem);
|
||||||
|
|
||||||
MyCharacter = KFPlayerReplicationInfo(PlayerReplicationInfo).CharacterArchetypes[KFPlayerReplicationInfo(PlayerReplicationInfo).RepCustomizationInfo.CharacterIndex];
|
MyCharacter = KFPlayerReplicationInfo(PlayerReplicationInfo).CharacterArchetypes[KFPlayerReplicationInfo(PlayerReplicationInfo).RepCustomizationInfo.CharacterIndex];
|
||||||
WM = WC.Default.AttachmentArchetype.SkelMesh.Name;
|
WM = WC.Default.AttachmentArchetype.SkelMesh.Name;
|
||||||
|
|
||||||
if (ClassIsChildOf(WC, class'KFWeap_Edged_Knife'))
|
if (ClassIsChildOf(WC, class'KFWeap_Edged_Knife'))
|
||||||
{
|
{
|
||||||
MyPos = vect(0,0,10);
|
MyPos = vect(0,0,10);
|
||||||
@ -1129,10 +1129,10 @@ simulated final function SetBackpackWeapon(class<KFWeapon> WC)
|
|||||||
{
|
{
|
||||||
MyPos = vect(-5,15,0);
|
MyPos = vect(-5,15,0);
|
||||||
MyRot = rot(0,0,0);
|
MyRot = rot(0,0,0);
|
||||||
|
|
||||||
if (class<KFWeap_Edged_Katana>(WC) != none || class<KFWeap_Edged_Zweihander>(WC) != none)
|
if (class<KFWeap_Edged_Katana>(WC) != none || class<KFWeap_Edged_Zweihander>(WC) != none)
|
||||||
MyPos.Z = -20;
|
MyPos.Z = -20;
|
||||||
|
|
||||||
B = 'Spine';
|
B = 'Spine';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1142,7 +1142,7 @@ simulated final function SetBackpackWeapon(class<KFWeapon> WC)
|
|||||||
|
|
||||||
if (MyCharacter == KFCharacterInfo_Human'CHR_Playable_ARCH.chr_DJSkully_archetype')
|
if (MyCharacter == KFCharacterInfo_Human'CHR_Playable_ARCH.chr_DJSkully_archetype')
|
||||||
MyRot.Roll = 8192;
|
MyRot.Roll = 8192;
|
||||||
|
|
||||||
switch (WM)
|
switch (WM)
|
||||||
{
|
{
|
||||||
case 'Wep_3rdP_MB500_Rig':
|
case 'Wep_3rdP_MB500_Rig':
|
||||||
@ -1159,7 +1159,7 @@ simulated final function SetBackpackWeapon(class<KFWeapon> WC)
|
|||||||
MyPos.X = 10;
|
MyPos.X = 10;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
B = 'Spine2';
|
B = 'Spine2';
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1211,14 +1211,14 @@ simulated function PlayWeaponswitch (Weapon OldWeapon, Weapon NewWeapon)
|
|||||||
simulated function UpdateHealingSpeedBoostMod(ExtPlayerController Healer)
|
simulated function UpdateHealingSpeedBoostMod(ExtPlayerController Healer)
|
||||||
{
|
{
|
||||||
local Ext_PerkFieldMedic MedPerk;
|
local Ext_PerkFieldMedic MedPerk;
|
||||||
|
|
||||||
MedPerk = GetMedicPerk(Healer);
|
MedPerk = GetMedicPerk(Healer);
|
||||||
if (MedPerk == None)
|
if (MedPerk == None)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
HealingSpeedBoostMod = Min(HealingSpeedBoostMod + MedPerk.GetHealingSpeedBoost(), MedPerk.GetMaxHealingSpeedBoost());
|
HealingSpeedBoostMod = Min(HealingSpeedBoostMod + MedPerk.GetHealingSpeedBoost(), MedPerk.GetMaxHealingSpeedBoost());
|
||||||
SetTimer(MedPerk.GetHealingSpeedBoostDuration(),, nameOf(ResetHealingSpeedBoost));
|
SetTimer(MedPerk.GetHealingSpeedBoostDuration(),, nameOf(ResetHealingSpeedBoost));
|
||||||
|
|
||||||
UpdateGroundSpeed();
|
UpdateGroundSpeed();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1239,11 +1239,11 @@ simulated function ResetHealingSpeedBoost()
|
|||||||
simulated function UpdateHealingDamageBoostMod(ExtPlayerController Healer)
|
simulated function UpdateHealingDamageBoostMod(ExtPlayerController Healer)
|
||||||
{
|
{
|
||||||
local Ext_PerkFieldMedic MedPerk;
|
local Ext_PerkFieldMedic MedPerk;
|
||||||
|
|
||||||
MedPerk = GetMedicPerk(Healer);
|
MedPerk = GetMedicPerk(Healer);
|
||||||
if (MedPerk == None)
|
if (MedPerk == None)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
HealingDamageBoostMod = Min(HealingDamageBoostMod + MedPerk.GetHealingDamageBoost(), MedPerk.GetMaxHealingDamageBoost());
|
HealingDamageBoostMod = Min(HealingDamageBoostMod + MedPerk.GetHealingDamageBoost(), MedPerk.GetMaxHealingDamageBoost());
|
||||||
SetTimer(MedPerk.GetHealingDamageBoostDuration(),, nameOf(ResetHealingDamageBoost));
|
SetTimer(MedPerk.GetHealingDamageBoostDuration(),, nameOf(ResetHealingDamageBoost));
|
||||||
}
|
}
|
||||||
@ -1263,11 +1263,11 @@ simulated function ResetHealingDamageBoost()
|
|||||||
simulated function UpdateHealingShieldMod(ExtPlayerController Healer)
|
simulated function UpdateHealingShieldMod(ExtPlayerController Healer)
|
||||||
{
|
{
|
||||||
local Ext_PerkFieldMedic MedPerk;
|
local Ext_PerkFieldMedic MedPerk;
|
||||||
|
|
||||||
MedPerk = GetMedicPerk(Healer);
|
MedPerk = GetMedicPerk(Healer);
|
||||||
if (MedPerk == None)
|
if (MedPerk == None)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
HealingShieldMod = Min(HealingShieldMod + MedPerk.GetHealingShield(), MedPerk.GetMaxHealingShield());
|
HealingShieldMod = Min(HealingShieldMod + MedPerk.GetHealingShield(), MedPerk.GetMaxHealingShield());
|
||||||
SetTimer(MedPerk.GetHealingShieldDuration(),, nameOf(ResetHealingShield));
|
SetTimer(MedPerk.GetHealingShieldDuration(),, nameOf(ResetHealingShield));
|
||||||
}
|
}
|
||||||
@ -1287,9 +1287,9 @@ simulated function ResetHealingShield()
|
|||||||
function SacrificeExplode()
|
function SacrificeExplode()
|
||||||
{
|
{
|
||||||
local Ext_PerkDemolition DemoPerk;
|
local Ext_PerkDemolition DemoPerk;
|
||||||
|
|
||||||
Super.SacrificeExplode();
|
Super.SacrificeExplode();
|
||||||
|
|
||||||
DemoPerk = Ext_PerkDemolition(ExtPlayerController(Controller).ActivePerkManager.CurrentPerk);
|
DemoPerk = Ext_PerkDemolition(ExtPlayerController(Controller).ActivePerkManager.CurrentPerk);
|
||||||
if (DemoPerk != none)
|
if (DemoPerk != none)
|
||||||
DemoPerk.bUsedSacrifice = true;
|
DemoPerk.bUsedSacrifice = true;
|
||||||
@ -1298,23 +1298,23 @@ function SacrificeExplode()
|
|||||||
simulated function Ext_PerkFieldMedic GetMedicPerk(ExtPlayerController Healer)
|
simulated function Ext_PerkFieldMedic GetMedicPerk(ExtPlayerController Healer)
|
||||||
{
|
{
|
||||||
local Ext_PerkFieldMedic MedPerk;
|
local Ext_PerkFieldMedic MedPerk;
|
||||||
|
|
||||||
MedPerk = Ext_PerkFieldMedic(ExtPlayerController(Controller).ActivePerkManager.CurrentPerk);
|
MedPerk = Ext_PerkFieldMedic(ExtPlayerController(Controller).ActivePerkManager.CurrentPerk);
|
||||||
if (MedPerk != None)
|
if (MedPerk != None)
|
||||||
return MedPerk;
|
return MedPerk;
|
||||||
|
|
||||||
return None;
|
return None;
|
||||||
}
|
}
|
||||||
|
|
||||||
function ThrowActiveWeapon(optional bool bDestroyWeap)
|
function ThrowActiveWeapon(optional bool bDestroyWeap)
|
||||||
{
|
{
|
||||||
local KFWeapon TempWeapon;
|
local KFWeapon TempWeapon;
|
||||||
|
|
||||||
if( Role < ROLE_Authority )
|
if( Role < ROLE_Authority )
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Health <= 0 && bThrowAllWeaponsOnDeath)
|
if (Health <= 0 && bThrowAllWeaponsOnDeath)
|
||||||
{
|
{
|
||||||
if (InvManager != none)
|
if (InvManager != none)
|
||||||
@ -1337,11 +1337,11 @@ defaultproperties
|
|||||||
bCanBecomeRagdoll=true
|
bCanBecomeRagdoll=true
|
||||||
InventoryManagerClass=class'ExtInventoryManager'
|
InventoryManagerClass=class'ExtInventoryManager'
|
||||||
WakeUpAnimSet=AnimSet'ZED_Clot_Anim.Alpha_Clot_Master'
|
WakeUpAnimSet=AnimSet'ZED_Clot_Anim.Alpha_Clot_Master'
|
||||||
|
|
||||||
Begin Object Name=SpecialMoveHandler_0
|
Begin Object Name=SpecialMoveHandler_0
|
||||||
SpecialMoveClasses(SM_Emote)=class'ServerExt.ExtSM_Player_Emote'
|
SpecialMoveClasses(SM_Emote)=class'ServerExt.ExtSM_Player_Emote'
|
||||||
End Object
|
End Object
|
||||||
|
|
||||||
DefaultInventory.Empty()
|
DefaultInventory.Empty()
|
||||||
DefaultInventory.Add(class'ExtWeap_Pistol_9mm')
|
DefaultInventory.Add(class'ExtWeap_Pistol_9mm')
|
||||||
// DefaultInventory.Add(class'KFWeap_Pistol_9mm')
|
// DefaultInventory.Add(class'KFWeap_Pistol_9mm')
|
||||||
|
@ -25,10 +25,10 @@ simulated function Inventory CreateInventory(class<Inventory> NewInventoryItemCl
|
|||||||
{
|
{
|
||||||
local KFWeapon Wep;
|
local KFWeapon Wep;
|
||||||
local Inventory SupClass;
|
local Inventory SupClass;
|
||||||
|
|
||||||
SupClass = Super.CreateInventory(NewInventoryItemClass, bDoNotActivate);
|
SupClass = Super.CreateInventory(NewInventoryItemClass, bDoNotActivate);
|
||||||
Wep = KFWeapon(SupClass);
|
Wep = KFWeapon(SupClass);
|
||||||
|
|
||||||
if (Wep != none)
|
if (Wep != none)
|
||||||
{
|
{
|
||||||
if (KFWeap_Pistol_Dual9mm(Wep) != None && ExtWeap_Pistol_Dual9mm(Wep) == None)
|
if (KFWeap_Pistol_Dual9mm(Wep) != None && ExtWeap_Pistol_Dual9mm(Wep) == None)
|
||||||
@ -36,17 +36,17 @@ simulated function Inventory CreateInventory(class<Inventory> NewInventoryItemCl
|
|||||||
Wep.Destroy();
|
Wep.Destroy();
|
||||||
return Super.CreateInventory(class'ExtWeap_Pistol_Dual9mm', bDoNotActivate);
|
return Super.CreateInventory(class'ExtWeap_Pistol_Dual9mm', bDoNotActivate);
|
||||||
}
|
}
|
||||||
|
|
||||||
return Wep;
|
return Wep;
|
||||||
}
|
}
|
||||||
|
|
||||||
return SupClass;
|
return SupClass;
|
||||||
}
|
}
|
||||||
|
|
||||||
simulated function CheckForExcessRemoval(KFWeapon NewWeap)
|
simulated function CheckForExcessRemoval(KFWeapon NewWeap)
|
||||||
{
|
{
|
||||||
local Inventory RemoveInv, Inv;
|
local Inventory RemoveInv, Inv;
|
||||||
|
|
||||||
if (KFWeap_Pistol_Dual9mm(NewWeap) != None)
|
if (KFWeap_Pistol_Dual9mm(NewWeap) != None)
|
||||||
{
|
{
|
||||||
for (Inv = InventoryChain; Inv != None; Inv = Inv.Inventory)
|
for (Inv = InventoryChain; Inv != None; Inv = Inv.Inventory)
|
||||||
@ -59,6 +59,6 @@ simulated function CheckForExcessRemoval(KFWeapon NewWeap)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Super.CheckForExcessRemoval(NewWeap);
|
Super.CheckForExcessRemoval(NewWeap);
|
||||||
}
|
}
|
@ -23,7 +23,7 @@ function InitializeMenu(KFGFxMoviePlayer_Manager InManager)
|
|||||||
function InitCharacterMenu()
|
function InitCharacterMenu()
|
||||||
{
|
{
|
||||||
ExtPRI = ExtPlayerReplicationInfo(GetPC().PlayerReplicationInfo);
|
ExtPRI = ExtPlayerReplicationInfo(GetPC().PlayerReplicationInfo);
|
||||||
|
|
||||||
if (ExtPRI!=None && ExtPRI.bClientInitChars)
|
if (ExtPRI!=None && ExtPRI.bClientInitChars)
|
||||||
CharListRecieved();
|
CharListRecieved();
|
||||||
else if (ExtPRI==None)
|
else if (ExtPRI==None)
|
||||||
@ -43,7 +43,7 @@ function InitCharacterMenu()
|
|||||||
}
|
}
|
||||||
|
|
||||||
event bool WidgetInitialized(name WidgetName, name WidgetPath, GFxObject Widget)
|
event bool WidgetInitialized(name WidgetName, name WidgetPath, GFxObject Widget)
|
||||||
{
|
{
|
||||||
switch (WidgetName)
|
switch (WidgetName)
|
||||||
{
|
{
|
||||||
case 'perkSelectionContainer':
|
case 'perkSelectionContainer':
|
||||||
@ -65,9 +65,9 @@ function OnOpen()
|
|||||||
PC = GetPC();
|
PC = GetPC();
|
||||||
if (PC == none)
|
if (PC == none)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
CheckForCustomizationPawn(PC);
|
CheckForCustomizationPawn(PC);
|
||||||
|
|
||||||
if (PC.PlayerReplicationInfo.bReadyToPlay && PC.WorldInfo.GRI.bMatchHasBegun)
|
if (PC.PlayerReplicationInfo.bReadyToPlay && PC.WorldInfo.GRI.bMatchHasBegun)
|
||||||
{
|
{
|
||||||
// Players cannot change characters if they are in a game
|
// Players cannot change characters if they are in a game
|
||||||
@ -87,7 +87,7 @@ function CheckForCustomizationPawn(PlayerController PC)
|
|||||||
{
|
{
|
||||||
KFPC.SpawnMidGameCustomizationPawn();
|
KFPC.SpawnMidGameCustomizationPawn();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function LocalizeText()
|
function LocalizeText()
|
||||||
@ -114,7 +114,7 @@ function LocalizeText()
|
|||||||
|
|
||||||
simulated function CharListRecieved()
|
simulated function CharListRecieved()
|
||||||
{
|
{
|
||||||
UpdateCharacterList();
|
UpdateCharacterList();
|
||||||
UpdateGear();
|
UpdateGear();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -145,7 +145,7 @@ function UpdateEmoteList()
|
|||||||
//`log(MyKFPRI.EmoteList[i] @ "is not purchased.");
|
//`log(MyKFPRI.EmoteList[i] @ "is not purchased.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SetObject("emoteArray", DataProvider);
|
SetObject("emoteArray", DataProvider);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -183,7 +183,7 @@ function UpdateCharacterList()
|
|||||||
ItemIndex++;
|
ItemIndex++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SetObject("characterArray", DataProvider);
|
SetObject("characterArray", DataProvider);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -202,7 +202,7 @@ function UpdateGear()
|
|||||||
UpdateMeshList(class'KFGFxMenu_Gear'.Default.HeadMeshKey, class'KFGFxMenu_Gear'.Default.HeadSkinKey, CurrentCharInfo.HeadVariants, "headsArray");
|
UpdateMeshList(class'KFGFxMenu_Gear'.Default.HeadMeshKey, class'KFGFxMenu_Gear'.Default.HeadSkinKey, CurrentCharInfo.HeadVariants, "headsArray");
|
||||||
// Set the list of usable attachments for this character
|
// Set the list of usable attachments for this character
|
||||||
UpdateAttachmentsList(CurrentCharInfo.CosmeticVariants);
|
UpdateAttachmentsList(CurrentCharInfo.CosmeticVariants);
|
||||||
|
|
||||||
UpdateEmoteList();
|
UpdateEmoteList();
|
||||||
|
|
||||||
SetCurrentCharacterButtons();
|
SetCurrentCharacterButtons();
|
||||||
@ -216,7 +216,7 @@ final function string GetMenuName(Object Obj)
|
|||||||
final function string GetMenuNameStr(string ObjName)
|
final function string GetMenuNameStr(string ObjName)
|
||||||
{
|
{
|
||||||
local int i;
|
local int i;
|
||||||
|
|
||||||
i = InStr(ObjName,".",true);
|
i = InStr(ObjName,".",true);
|
||||||
if (i!=-1)
|
if (i!=-1)
|
||||||
ObjName = Mid(ObjName,i+1);
|
ObjName = Mid(ObjName,i+1);
|
||||||
@ -230,20 +230,20 @@ function UpdateMeshList(string OutfitKey, string SkinKey, array<OutfitVariants>
|
|||||||
local string TexturePath, OutfitName;
|
local string TexturePath, OutfitName;
|
||||||
local OutfitVariants Outfit;
|
local OutfitVariants Outfit;
|
||||||
local SkinVariant FirstSkin;
|
local SkinVariant FirstSkin;
|
||||||
|
|
||||||
ItemIndex = 0;
|
ItemIndex = 0;
|
||||||
DataProvider = CreateArray();
|
DataProvider = CreateArray();
|
||||||
for (i = 0; i < Outfits.Length; i++)
|
for (i = 0; i < Outfits.Length; i++)
|
||||||
{
|
{
|
||||||
Outfit = Outfits[i];
|
Outfit = Outfits[i];
|
||||||
|
|
||||||
OutfitName = Localize(CharInfoPath, OutfitKey$i, class'KFGFxMenu_Gear'.Default.KFCharacterInfoString);
|
OutfitName = Localize(CharInfoPath, OutfitKey$i, class'KFGFxMenu_Gear'.Default.KFCharacterInfoString);
|
||||||
if (bIsCustomChar)
|
if (bIsCustomChar)
|
||||||
OutfitName = GetMenuNameStr(Outfit.MeshName);
|
OutfitName = GetMenuNameStr(Outfit.MeshName);
|
||||||
|
|
||||||
if (InStr(OutfitName, "?INT?") != -1)
|
if (InStr(OutfitName, "?INT?") != -1)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
SlotObject = CreateObject("Object");
|
SlotObject = CreateObject("Object");
|
||||||
SlotObject.SetInt("ItemIndex", i);
|
SlotObject.SetInt("ItemIndex", i);
|
||||||
SlotObject.SetString("label", OutfitName);
|
SlotObject.SetString("label", OutfitName);
|
||||||
@ -251,14 +251,14 @@ function UpdateMeshList(string OutfitKey, string SkinKey, array<OutfitVariants>
|
|||||||
FirstSkin = UpdateOutfitVariants(OutfitKey, SkinKey, Outfit.SkinVariations, i, SlotObject);
|
FirstSkin = UpdateOutfitVariants(OutfitKey, SkinKey, Outfit.SkinVariations, i, SlotObject);
|
||||||
if (string(FirstSkin.UITexture) == "Bad")
|
if (string(FirstSkin.UITexture) == "Bad")
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
TexturePath = "img://"$PathName(FirstSkin.UITexture);
|
TexturePath = "img://"$PathName(FirstSkin.UITexture);
|
||||||
SlotObject.SetString("source", TexturePath);
|
SlotObject.SetString("source", TexturePath);
|
||||||
|
|
||||||
DataProvider.SetElementObject(ItemIndex, SlotObject);
|
DataProvider.SetElementObject(ItemIndex, SlotObject);
|
||||||
ItemIndex++;
|
ItemIndex++;
|
||||||
}
|
}
|
||||||
|
|
||||||
SetObject(DataArrayString, DataProvider);
|
SetObject(DataArrayString, DataProvider);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -274,7 +274,7 @@ function SkinVariant UpdateOutfitVariants(string OutfitKey, string KeyName, out
|
|||||||
|
|
||||||
ItemIndex = 0;
|
ItemIndex = 0;
|
||||||
DataProvider = CreateArray();
|
DataProvider = CreateArray();
|
||||||
SectionPath = CharInfoPath$"."$OutfitKey$OutfitIndex;
|
SectionPath = CharInfoPath$"."$OutfitKey$OutfitIndex;
|
||||||
|
|
||||||
for (i = 0; i < SkinVariations.length; i++)
|
for (i = 0; i < SkinVariations.length; i++)
|
||||||
{
|
{
|
||||||
@ -308,7 +308,7 @@ function UpdateAttachmentsList(array<AttachmentVariants> Attachments)
|
|||||||
local Pawn MyPawn;
|
local Pawn MyPawn;
|
||||||
local SkinVariant FirstSkin;
|
local SkinVariant FirstSkin;
|
||||||
local string AttachmentName;
|
local string AttachmentName;
|
||||||
|
|
||||||
ItemIndex = 0;
|
ItemIndex = 0;
|
||||||
DataProvider = CreateArray();
|
DataProvider = CreateArray();
|
||||||
MyPawn = GetPC().Pawn;
|
MyPawn = GetPC().Pawn;
|
||||||
@ -335,12 +335,12 @@ function UpdateAttachmentsList(array<AttachmentVariants> Attachments)
|
|||||||
SlotObject.SetBool("enabled", true);
|
SlotObject.SetBool("enabled", true);
|
||||||
TexturePath = "img://"$PathName(FirstSkin.UITexture);
|
TexturePath = "img://"$PathName(FirstSkin.UITexture);
|
||||||
SlotObject.SetString("source", TexturePath);
|
SlotObject.SetString("source", TexturePath);
|
||||||
|
|
||||||
DataProvider.SetElementObject(ItemIndex, SlotObject);
|
DataProvider.SetElementObject(ItemIndex, SlotObject);
|
||||||
ItemIndex++;
|
ItemIndex++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SetObject("attachmentsArray", DataProvider);
|
SetObject("attachmentsArray", DataProvider);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -389,7 +389,7 @@ function SetCurrentCharacterButtons()
|
|||||||
|
|
||||||
bCustom = ExtPRI.UsesCustomChar();
|
bCustom = ExtPRI.UsesCustomChar();
|
||||||
DataObject = CreateObject("Object");
|
DataObject = CreateObject("Object");
|
||||||
|
|
||||||
CharacterIndex = ExtPRI.RepCustomizationInfo.CharacterIndex;
|
CharacterIndex = ExtPRI.RepCustomizationInfo.CharacterIndex;
|
||||||
HeadMeshIndex = ExtPRI.RepCustomizationInfo.HeadMeshIndex;
|
HeadMeshIndex = ExtPRI.RepCustomizationInfo.HeadMeshIndex;
|
||||||
HeadSkinIndex = ExtPRI.RepCustomizationInfo.HeadSkinIndex;
|
HeadSkinIndex = ExtPRI.RepCustomizationInfo.HeadSkinIndex;
|
||||||
@ -416,7 +416,7 @@ function SetCurrentCharacterButtons()
|
|||||||
SetGearButtons(BodyMeshIndex, BodySkinIndex, class'KFGFxMenu_Gear'.Default.BodyMeshKey, class'KFGFxMenu_Gear'.Default.BodySkinKey, class'KFGFxMenu_Gear'.Default.BodyFunctionKey);
|
SetGearButtons(BodyMeshIndex, BodySkinIndex, class'KFGFxMenu_Gear'.Default.BodyMeshKey, class'KFGFxMenu_Gear'.Default.BodySkinKey, class'KFGFxMenu_Gear'.Default.BodyFunctionKey);
|
||||||
//set attachments
|
//set attachments
|
||||||
SetAttachmentButtons(class'KFGFxMenu_Gear'.Default.AttachmentKey, class'KFGFxMenu_Gear'.Default.AttachmentFunctionKey);
|
SetAttachmentButtons(class'KFGFxMenu_Gear'.Default.AttachmentKey, class'KFGFxMenu_Gear'.Default.AttachmentFunctionKey);
|
||||||
|
|
||||||
SetEmoteButton();
|
SetEmoteButton();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -438,7 +438,7 @@ function SetEmoteButton()
|
|||||||
DataObject.SetString("selectedEmote", Localize(EmoteList[EmoteIndex].ItemName, "EmoteName", class'KFGFxMenu_Gear'.Default.KFCharacterInfoString));
|
DataObject.SetString("selectedEmote", Localize(EmoteList[EmoteIndex].ItemName, "EmoteName", class'KFGFxMenu_Gear'.Default.KFCharacterInfoString));
|
||||||
DataObject.SetInt("selectedEmoteIndex", 0);
|
DataObject.SetInt("selectedEmoteIndex", 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
SetObject("selectedEmote", DataObject);
|
SetObject("selectedEmote", DataObject);
|
||||||
}
|
}
|
||||||
@ -472,7 +472,7 @@ function SetGearButtons(int MeshIndex, int SkinIndex, string MeshKey, string Ski
|
|||||||
SkinName = GetMenuName(CurrentCharInfo.BodyVariants[MeshIndex].SkinVariations[SkinIndex].Skin);
|
SkinName = GetMenuName(CurrentCharInfo.BodyVariants[MeshIndex].SkinVariations[SkinIndex].Skin);
|
||||||
MeshName = GetMenuNameStr(CurrentCharInfo.BodyVariants[MeshIndex].MeshName);
|
MeshName = GetMenuNameStr(CurrentCharInfo.BodyVariants[MeshIndex].MeshName);
|
||||||
}
|
}
|
||||||
|
|
||||||
DataObject.SetString(sectionFunctionName, MeshName @"\n" @SkinName);
|
DataObject.SetString(sectionFunctionName, MeshName @"\n" @SkinName);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -497,16 +497,16 @@ function SetAttachmentButtons(string AttachmentMeshKey, string sectionFunctionNa
|
|||||||
local GFxObject DataObject;
|
local GFxObject DataObject;
|
||||||
local int i, AttachmentIndex;
|
local int i, AttachmentIndex;
|
||||||
local bool bCustom;
|
local bool bCustom;
|
||||||
|
|
||||||
if (bWaitingCharList)
|
if (bWaitingCharList)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
bCustom = ExtPRI.UsesCustomChar();
|
bCustom = ExtPRI.UsesCustomChar();
|
||||||
DataObject = CreateObject("Object");
|
DataObject = CreateObject("Object");
|
||||||
|
|
||||||
for (i = 0; i < `MAX_COSMETIC_ATTACHMENTS; i++)
|
for (i = 0; i < `MAX_COSMETIC_ATTACHMENTS; i++)
|
||||||
{
|
{
|
||||||
AttachmentIndex = bCustom ? ExtPRI.CustomCharacter.AttachmentMeshIndices[i] : ExtPRI.RepCustomizationInfo.AttachmentMeshIndices[i];
|
AttachmentIndex = bCustom ? ExtPRI.CustomCharacter.AttachmentMeshIndices[i] : ExtPRI.RepCustomizationInfo.AttachmentMeshIndices[i];
|
||||||
if (AttachmentIndex == `CLEARED_ATTACHMENT_INDEX)
|
if (AttachmentIndex == `CLEARED_ATTACHMENT_INDEX)
|
||||||
{
|
{
|
||||||
DataObject.SetString("selectedAttachment_"$i, "----");
|
DataObject.SetString("selectedAttachment_"$i, "----");
|
||||||
@ -515,7 +515,7 @@ function SetAttachmentButtons(string AttachmentMeshKey, string sectionFunctionNa
|
|||||||
{
|
{
|
||||||
DataObject.SetString("selectedAttachment_"$i, bIsCustomChar ? GetMenuNameStr(CurrentCharInfo.CosmeticVariants[AttachmentIndex].MeshName) : Localize(string(CurrentCharInfo.CosmeticVariants[AttachmentIndex].AttachmentItem.Name), AttachmentMeshKey, class'KFGFxMenu_Gear'.default.KFCharacterInfoString));
|
DataObject.SetString("selectedAttachment_"$i, bIsCustomChar ? GetMenuNameStr(CurrentCharInfo.CosmeticVariants[AttachmentIndex].MeshName) : Localize(string(CurrentCharInfo.CosmeticVariants[AttachmentIndex].AttachmentItem.Name), AttachmentMeshKey, class'KFGFxMenu_Gear'.default.KFCharacterInfoString));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SetObject(sectionFunctionName, DataObject);
|
SetObject(sectionFunctionName, DataObject);
|
||||||
}
|
}
|
||||||
@ -578,7 +578,7 @@ function Callback_Emote(int Index)
|
|||||||
function Callback_RotateCamera(int RotationDirection)
|
function Callback_RotateCamera(int RotationDirection)
|
||||||
{
|
{
|
||||||
local KFPlayerCamera PlayerCamera;
|
local KFPlayerCamera PlayerCamera;
|
||||||
|
|
||||||
PlayerCamera = KFPlayerCamera(GetPC().PlayerCamera);
|
PlayerCamera = KFPlayerCamera(GetPC().PlayerCamera);
|
||||||
if (PlayerCamera != none)
|
if (PlayerCamera != none)
|
||||||
PlayerCamera.CustomizationCam.RotatedCamera(RotationDirection);
|
PlayerCamera.CustomizationCam.RotatedCamera(RotationDirection);
|
||||||
@ -632,9 +632,9 @@ function Callback_Body(int MeshIndex, int SkinIndex)
|
|||||||
{
|
{
|
||||||
if (!ExtPRI.UsesCustomChar()) // Force client to setup custom character now for this server.
|
if (!ExtPRI.UsesCustomChar()) // Force client to setup custom character now for this server.
|
||||||
ExtPRI.ChangeCharacter(ExtPRI.RepCustomizationInfo.CharacterIndex,true);
|
ExtPRI.ChangeCharacter(ExtPRI.RepCustomizationInfo.CharacterIndex,true);
|
||||||
|
|
||||||
ExtPRI.UpdateCustomization(CO_Body, MeshIndex, SkinIndex);
|
ExtPRI.UpdateCustomization(CO_Body, MeshIndex, SkinIndex);
|
||||||
|
|
||||||
// When assigning a new body mesh we may need to remove certain attachments
|
// When assigning a new body mesh we may need to remove certain attachments
|
||||||
// refresh filters, and update the equipped accessories list
|
// refresh filters, and update the equipped accessories list
|
||||||
UpdateAttachmentsList(CurrentCharInfo.CosmeticVariants);
|
UpdateAttachmentsList(CurrentCharInfo.CosmeticVariants);
|
||||||
@ -698,7 +698,7 @@ function Callback_Attachment(int MeshIndex, int SkinIndex)
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ExtPRI.UpdateCustomization(CO_Attachment, MeshIndex, SkinIndex, SlotIndex);
|
ExtPRI.UpdateCustomization(CO_Attachment, MeshIndex, SkinIndex, SlotIndex);
|
||||||
}
|
}
|
||||||
SetAttachmentButtons(class'KFGFxMenu_Gear'.Default.AttachmentKey, class'KFGFxMenu_Gear'.Default.AttachmentFunctionKey);
|
SetAttachmentButtons(class'KFGFxMenu_Gear'.Default.AttachmentKey, class'KFGFxMenu_Gear'.Default.AttachmentFunctionKey);
|
||||||
|
@ -62,4 +62,5 @@ function Callback_Equip(int ItemDefinition)
|
|||||||
|
|
||||||
defaultproperties
|
defaultproperties
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
@ -19,7 +19,7 @@ function OnOpen()
|
|||||||
if (ExtPrevPerk==None)
|
if (ExtPrevPerk==None)
|
||||||
ExtPrevPerk = ExtKFPC.ActivePerkManager.CurrentPerk;
|
ExtPrevPerk = ExtKFPC.ActivePerkManager.CurrentPerk;
|
||||||
|
|
||||||
ExUpdateContainers(ExtPrevPerk);
|
ExUpdateContainers(ExtPrevPerk);
|
||||||
SetBool("locked", true);
|
SetBool("locked", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -65,7 +65,7 @@ function Callback_PerkSelected(byte NewPerkIndex, bool bClickedIndex)
|
|||||||
{
|
{
|
||||||
ExtPrevPerk = ExtKFPC.ActivePerkManager.UserPerks[NewPerkIndex];
|
ExtPrevPerk = ExtKFPC.ActivePerkManager.UserPerks[NewPerkIndex];
|
||||||
ExUpdateContainers(ExtPrevPerk);
|
ExUpdateContainers(ExtPrevPerk);
|
||||||
|
|
||||||
ExtKFPC.PendingPerkClass = ExtPrevPerk.Class;
|
ExtKFPC.PendingPerkClass = ExtPrevPerk.Class;
|
||||||
ExtKFPC.SwitchToPerk(ExtPrevPerk.Class);
|
ExtKFPC.SwitchToPerk(ExtPrevPerk.Class);
|
||||||
}
|
}
|
||||||
|
@ -34,7 +34,7 @@ function Callback_PerkChanged(int PerkIndex)
|
|||||||
{
|
{
|
||||||
ExtKFPC.PendingPerkClass = ExtKFPC.ActivePerkManager.UserPerks[PerkIndex].Class;
|
ExtKFPC.PendingPerkClass = ExtKFPC.ActivePerkManager.UserPerks[PerkIndex].Class;
|
||||||
ExtKFPC.SwitchToPerk(ExtKFPC.PendingPerkClass);
|
ExtKFPC.SwitchToPerk(ExtKFPC.PendingPerkClass);
|
||||||
|
|
||||||
if (PlayerInventoryContainer != none)
|
if (PlayerInventoryContainer != none)
|
||||||
{
|
{
|
||||||
PlayerInventoryContainer.UpdateLock();
|
PlayerInventoryContainer.UpdateLock();
|
||||||
|
@ -13,9 +13,9 @@ final function ShowKillMessageX(PlayerReplicationInfo PRI1, PlayerReplicationInf
|
|||||||
{
|
{
|
||||||
local GFxObject DataObject;
|
local GFxObject DataObject;
|
||||||
local bool bHumanDeath;
|
local bool bHumanDeath;
|
||||||
local string KilledName, KillerName, KilledIconpath, KillerIconPath;
|
local string KilledName, KillerName, KilledIconpath, KillerIconPath;
|
||||||
local string KillerTextColor, KilledTextColor;
|
local string KillerTextColor, KilledTextColor;
|
||||||
|
|
||||||
if (KFPC == none)
|
if (KFPC == none)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -47,14 +47,14 @@ final function ShowKillMessageX(PlayerReplicationInfo PRI1, PlayerReplicationInf
|
|||||||
if (ExtPlayerReplicationInfo(PRI1)!=None && ExtPlayerReplicationInfo(PRI1).ECurrentPerk!=None)
|
if (ExtPlayerReplicationInfo(PRI1)!=None && ExtPlayerReplicationInfo(PRI1).ECurrentPerk!=None)
|
||||||
KillerIconpath = ExtPlayerReplicationInfo(PRI1).ECurrentPerk.static.GetPerkIconPath(0);
|
KillerIconpath = ExtPlayerReplicationInfo(PRI1).ECurrentPerk.static.GetPerkIconPath(0);
|
||||||
}
|
}
|
||||||
KillerName = PRI1.PlayerName;
|
KillerName = PRI1.PlayerName;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (PRI2 != none)
|
if (PRI2 != none)
|
||||||
{
|
{
|
||||||
if (PRI2.GetTeamNum() == class'KFTeamInfo_Human'.default.TeamIndex)
|
if (PRI2.GetTeamNum() == class'KFTeamInfo_Human'.default.TeamIndex)
|
||||||
{
|
{
|
||||||
bHumanDeath = true;
|
bHumanDeath = true;
|
||||||
KilledTextColor = HumanTeamTextColor;
|
KilledTextColor = HumanTeamTextColor;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -93,6 +93,20 @@ final function ShowKillMessageX(PlayerReplicationInfo PRI1, PlayerReplicationInf
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function UpdateObjectiveActive()
|
||||||
|
{
|
||||||
|
// Fix:
|
||||||
|
// ScriptWarning: Accessed None 'KFGRI'
|
||||||
|
// ExtMoviePlayer_HUD Transient.ExtMoviePlayer_HUD_0
|
||||||
|
// Function KFGame.KFGFxMoviePlayer_HUD:UpdateObjectiveActive:00B7
|
||||||
|
if (GetPC() == None || KFGameReplicationInfo(GetPC().WorldInfo.GRI) == None)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Super.UpdateObjectiveActive();
|
||||||
|
}
|
||||||
|
|
||||||
defaultproperties
|
defaultproperties
|
||||||
{
|
{
|
||||||
WidgetBindings.Remove((WidgetName="SpectatorInfoWidget",WidgetClass=class'KFGFxHUD_SpectatorInfo'))
|
WidgetBindings.Remove((WidgetName="SpectatorInfoWidget",WidgetClass=class'KFGFxHUD_SpectatorInfo'))
|
||||||
@ -103,4 +117,6 @@ defaultproperties
|
|||||||
WidgetBindings.Add((WidgetName="PlayerBackpackWidget",WidgetClass=class'ExtHUD_PlayerBackpack'))
|
WidgetBindings.Add((WidgetName="PlayerBackpackWidget",WidgetClass=class'ExtHUD_PlayerBackpack'))
|
||||||
WidgetBindings.Remove((WidgetName="WeaponSelectContainer",WidgetClass=class'KFGFxHUD_WeaponSelectWidget'))
|
WidgetBindings.Remove((WidgetName="WeaponSelectContainer",WidgetClass=class'KFGFxHUD_WeaponSelectWidget'))
|
||||||
WidgetBindings.Add((WidgetName="WeaponSelectContainer",WidgetClass=class'ExtHUD_WeaponSelectWidget'))
|
WidgetBindings.Add((WidgetName="WeaponSelectContainer",WidgetClass=class'ExtHUD_WeaponSelectWidget'))
|
||||||
|
WidgetBindings.Remove((WidgetName="ObjectiveContainer",WidgetClass=class'KFGFxHUD_ObjectiveConatiner'))
|
||||||
|
WidgetBindings.Add((WidgetName="ObjectiveContainer",WidgetClass=class'ExtHUD_ObjectiveConatiner'))
|
||||||
}
|
}
|
@ -73,14 +73,14 @@ function LaunchMenus(optional bool bForceSkipLobby)
|
|||||||
function OpenMenu(byte NewMenuIndex, optional bool bShowWidgets = true)
|
function OpenMenu(byte NewMenuIndex, optional bool bShowWidgets = true)
|
||||||
{
|
{
|
||||||
local KF2GUIController GUIController;
|
local KF2GUIController GUIController;
|
||||||
|
|
||||||
GUIController = class'KF2GUIController'.Static.GetGUIController(GetPC());
|
GUIController = class'KF2GUIController'.Static.GetGUIController(GetPC());
|
||||||
|
|
||||||
Super.OpenMenu(NewMenuIndex, bShowWidgets);
|
Super.OpenMenu(NewMenuIndex, bShowWidgets);
|
||||||
|
|
||||||
if (bAfterLobby)
|
if (bAfterLobby)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (NewMenuIndex == UI_Perks)
|
if (NewMenuIndex == UI_Perks)
|
||||||
{
|
{
|
||||||
PerksPage = GUIController.OpenMenu(class'ExtGUI_PerkSelectionPage');
|
PerksPage = GUIController.OpenMenu(class'ExtGUI_PerkSelectionPage');
|
||||||
@ -93,31 +93,47 @@ function OpenMenu(byte NewMenuIndex, optional bool bShowWidgets = true)
|
|||||||
function CloseMenus(optional bool bForceClose=false)
|
function CloseMenus(optional bool bForceClose=false)
|
||||||
{
|
{
|
||||||
local KF2GUIController GUIController;
|
local KF2GUIController GUIController;
|
||||||
|
|
||||||
if (PerksPage != None)
|
if (PerksPage != None)
|
||||||
{
|
{
|
||||||
GUIController = class'KF2GUIController'.Static.GetGUIController(GetPC());
|
GUIController = class'KF2GUIController'.Static.GetGUIController(GetPC());
|
||||||
GUIController.CloseMenu(class'ExtGUI_PerkSelectionPage');
|
GUIController.CloseMenu(class'ExtGUI_PerkSelectionPage');
|
||||||
}
|
}
|
||||||
|
|
||||||
Super.CloseMenus(bForceClose);
|
Super.CloseMenus(bForceClose);
|
||||||
}
|
}
|
||||||
|
|
||||||
function OnMenuOpen(name WidgetPath, KFGFxObject_Menu Widget)
|
function OnMenuOpen(name WidgetPath, KFGFxObject_Menu Widget)
|
||||||
{
|
{
|
||||||
Super.OnMenuOpen(WidgetPath, Widget);
|
Super.OnMenuOpen(WidgetPath, Widget);
|
||||||
|
|
||||||
if (!bAfterLobby && Widget == PerksMenu)
|
if (!bAfterLobby && Widget == PerksMenu)
|
||||||
PerksMenu.ActionScriptVoid("closeContainer");
|
PerksMenu.ActionScriptVoid("closeContainer");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
event OnClose()
|
||||||
|
{
|
||||||
|
// Fix:
|
||||||
|
// ScriptWarning: Accessed None 'CurrentBackgroundMovie'
|
||||||
|
// ExtMoviePlayer_Manager KF-BIOTICSLAB.TheWorld:PersistentLevel.ExtPlayerController_0.ExtMoviePlayer_Manager_0
|
||||||
|
// Function KFGame.KFGFxMoviePlayer_Manager:OnClose:0039
|
||||||
|
if (CurrentBackgroundMovie != None)
|
||||||
|
{
|
||||||
|
Super.OnClose();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
CloseMenus();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
defaultproperties
|
defaultproperties
|
||||||
{
|
{
|
||||||
InGamePartyWidgetClass=class'ExtWidget_PartyInGame'
|
InGamePartyWidgetClass=class'ExtWidget_PartyInGame'
|
||||||
|
|
||||||
WidgetPaths.Remove("../UI_Widgets/PartyWidget_SWF.swf")
|
WidgetPaths.Remove("../UI_Widgets/PartyWidget_SWF.swf")
|
||||||
WidgetPaths.Add("../UI_Widgets/VersusLobbyWidget_SWF.swf")
|
WidgetPaths.Add("../UI_Widgets/VersusLobbyWidget_SWF.swf")
|
||||||
|
|
||||||
WidgetBindings.Remove((WidgetName="PerksMenu",WidgetClass=class'KFGFxMenu_Perks'))
|
WidgetBindings.Remove((WidgetName="PerksMenu",WidgetClass=class'KFGFxMenu_Perks'))
|
||||||
WidgetBindings.Add((WidgetName="PerksMenu",WidgetClass=class'ExtMenu_Perks'))
|
WidgetBindings.Add((WidgetName="PerksMenu",WidgetClass=class'ExtMenu_Perks'))
|
||||||
WidgetBindings.Remove((WidgetName="gearMenu",WidgetClass=class'KFGFxMenu_Gear'))
|
WidgetBindings.Remove((WidgetName="gearMenu",WidgetClass=class'KFGFxMenu_Gear'))
|
||||||
|
@ -54,7 +54,7 @@ simulated function PlayEmoteAnimation(optional bool bNewCharacter)
|
|||||||
local name AnimName;
|
local name AnimName;
|
||||||
local float BlendInTime;
|
local float BlendInTime;
|
||||||
|
|
||||||
AnimName = class'ExtEmoteList'.static.GetUnlockedEmote(class'ExtEmoteList'.static.GetEquippedEmoteId(ExtPlayerController(Controller)), ExtPlayerController(Controller));
|
AnimName = class'ExtEmoteList'.static.GetUnlockedEmote(class'ExtEmoteList'.static.GetEquippedEmoteId(ExtPlayerController(Controller)), ExtPlayerController(Controller));
|
||||||
|
|
||||||
BlendInTime = (bNewCharacter) ? 0.f : 0.4;
|
BlendInTime = (bNewCharacter) ? 0.f : 0.4;
|
||||||
|
|
||||||
@ -88,17 +88,16 @@ function AttachWeaponByItemDefinition(int ItemDefinition)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
//load in and add object .
|
//load in and add object .
|
||||||
WeaponPreview = KFWeaponAttachment (DynamicLoadObject(WeaponDef.default.AttachmentArchtypePath, class'KFWeaponAttachment'));
|
WeaponPreview = KFWeaponAttachment (DynamicLoadObject(WeaponDef.default.AttachmentArchtypePath, class'KFWeaponAttachment'));
|
||||||
|
|
||||||
//attatch it to player
|
//attatch it to player
|
||||||
WeaponAttachmentTemplate = WeaponPreview;
|
WeaponAttachmentTemplate = WeaponPreview;
|
||||||
|
|
||||||
WeaponAttachmentChanged();
|
WeaponAttachmentChanged();
|
||||||
|
|
||||||
//setweapon skin
|
//setweapon skin
|
||||||
WeaponAttachment.SetWeaponSkin(ItemDefinition);
|
WeaponAttachment.SetWeaponSkin(ItemDefinition);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
defaultproperties
|
defaultproperties
|
||||||
|
@ -7,4 +7,5 @@ static simulated event bool IsABoss()
|
|||||||
|
|
||||||
defaultproperties
|
defaultproperties
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -62,7 +62,7 @@ simulated reliable client function ClientSetGrenadeCap(byte NewCap)
|
|||||||
function bool ApplyPerkClass(class<Ext_PerkBase> P)
|
function bool ApplyPerkClass(class<Ext_PerkBase> P)
|
||||||
{
|
{
|
||||||
local int i;
|
local int i;
|
||||||
|
|
||||||
for (i=0; i<UserPerks.Length; ++i)
|
for (i=0; i<UserPerks.Length; ++i)
|
||||||
if (UserPerks[i].Class==P)
|
if (UserPerks[i].Class==P)
|
||||||
{
|
{
|
||||||
@ -75,7 +75,7 @@ function bool ApplyPerkClass(class<Ext_PerkBase> P)
|
|||||||
function bool ApplyPerkName(string S)
|
function bool ApplyPerkName(string S)
|
||||||
{
|
{
|
||||||
local int i;
|
local int i;
|
||||||
|
|
||||||
for (i=0; i<UserPerks.Length; ++i)
|
for (i=0; i<UserPerks.Length; ++i)
|
||||||
if (string(UserPerks[i].Class.Name)~=S)
|
if (string(UserPerks[i].Class.Name)~=S)
|
||||||
{
|
{
|
||||||
@ -91,39 +91,39 @@ function ApplyPerk(Ext_PerkBase P)
|
|||||||
local KFInventoryManager InvMan;
|
local KFInventoryManager InvMan;
|
||||||
local Ext_T_ZEDHelper H;
|
local Ext_T_ZEDHelper H;
|
||||||
local int i;
|
local int i;
|
||||||
|
|
||||||
if (P==None)
|
if (P==None)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (PlayerOwner.Pawn != None)
|
if (PlayerOwner.Pawn != None)
|
||||||
{
|
{
|
||||||
InvMan = KFInventoryManager(PlayerOwner.Pawn.InvManager);
|
InvMan = KFInventoryManager(PlayerOwner.Pawn.InvManager);
|
||||||
if (InvMan != None)
|
if (InvMan != None)
|
||||||
InvMan.MaxCarryBlocks = InvMan.Default.MaxCarryBlocks;
|
InvMan.MaxCarryBlocks = InvMan.Default.MaxCarryBlocks;
|
||||||
|
|
||||||
foreach PlayerOwner.Pawn.ChildActors(class'Ext_T_ZEDHelper',H)
|
foreach PlayerOwner.Pawn.ChildActors(class'Ext_T_ZEDHelper',H)
|
||||||
{
|
{
|
||||||
H.Destroy();
|
H.Destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
HP = KFPawn_Human(PlayerOwner.Pawn);
|
HP = KFPawn_Human(PlayerOwner.Pawn);
|
||||||
if (HP != None)
|
if (HP != None)
|
||||||
HP.DefaultInventory = HP.Default.DefaultInventory;
|
HP.DefaultInventory = HP.Default.DefaultInventory;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CurrentPerk != None)
|
if (CurrentPerk != None)
|
||||||
{
|
{
|
||||||
CurrentPerk.DeactivateTraits();
|
CurrentPerk.DeactivateTraits();
|
||||||
|
|
||||||
for (i=0; i<CurrentPerk.PerkTraits.Length; ++i)
|
for (i=0; i<CurrentPerk.PerkTraits.Length; ++i)
|
||||||
{
|
{
|
||||||
CurrentPerk.PerkTraits[i].TraitType.Static.CancelEffectOn(KFPawn_Human(PlayerOwner.Pawn),CurrentPerk,CurrentPerk.PerkTraits[i].CurrentLevel,CurrentPerk.PerkTraits[i].Data);
|
CurrentPerk.PerkTraits[i].TraitType.Static.CancelEffectOn(KFPawn_Human(PlayerOwner.Pawn),CurrentPerk,CurrentPerk.PerkTraits[i].CurrentLevel,CurrentPerk.PerkTraits[i].Data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bStatsDirty = true;
|
bStatsDirty = true;
|
||||||
CurrentPerk = P;
|
CurrentPerk = P;
|
||||||
|
|
||||||
if (PRIOwner!=None)
|
if (PRIOwner!=None)
|
||||||
{
|
{
|
||||||
PRIOwner.ECurrentPerk = P.Class;
|
PRIOwner.ECurrentPerk = P.Class;
|
||||||
@ -131,11 +131,11 @@ function ApplyPerk(Ext_PerkBase P)
|
|||||||
PRIOwner.CurrentPerkClass = P.BasePerk;
|
PRIOwner.CurrentPerkClass = P.BasePerk;
|
||||||
P.UpdatePRILevel();
|
P.UpdatePRILevel();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CurrentPerk!=None)
|
if (CurrentPerk!=None)
|
||||||
{
|
{
|
||||||
CurrentPerk.ActivateTraits();
|
CurrentPerk.ActivateTraits();
|
||||||
|
|
||||||
if (PlayerOwner.Pawn != None)
|
if (PlayerOwner.Pawn != None)
|
||||||
{
|
{
|
||||||
HP = KFPawn_Human(PlayerOwner.Pawn);
|
HP = KFPawn_Human(PlayerOwner.Pawn);
|
||||||
@ -143,11 +143,11 @@ function ApplyPerk(Ext_PerkBase P)
|
|||||||
{
|
{
|
||||||
HP.HealthMax = HP.default.Health;
|
HP.HealthMax = HP.default.Health;
|
||||||
HP.MaxArmor = HP.default.MaxArmor;
|
HP.MaxArmor = HP.default.MaxArmor;
|
||||||
|
|
||||||
ModifyHealth(HP.HealthMax);
|
ModifyHealth(HP.HealthMax);
|
||||||
ModifyArmor(HP.MaxArmor);
|
ModifyArmor(HP.MaxArmor);
|
||||||
CurrentPerk.UpdateAmmoStatus(HP.InvManager);
|
CurrentPerk.UpdateAmmoStatus(HP.InvManager);
|
||||||
|
|
||||||
if (HP.Health > HP.HealthMax) HP.Health = HP.HealthMax;
|
if (HP.Health > HP.HealthMax) HP.Health = HP.HealthMax;
|
||||||
if (HP.Armor > HP.MaxArmor) HP.Armor = HP.MaxArmor;
|
if (HP.Armor > HP.MaxArmor) HP.Armor = HP.MaxArmor;
|
||||||
}
|
}
|
||||||
@ -158,7 +158,7 @@ function ApplyPerk(Ext_PerkBase P)
|
|||||||
simulated final function Ext_PerkBase FindPerk(class<Ext_PerkBase> P)
|
simulated final function Ext_PerkBase FindPerk(class<Ext_PerkBase> P)
|
||||||
{
|
{
|
||||||
local int i;
|
local int i;
|
||||||
|
|
||||||
for (i=0; i<UserPerks.Length; ++i)
|
for (i=0; i<UserPerks.Length; ++i)
|
||||||
if (UserPerks[i].Class==P)
|
if (UserPerks[i].Class==P)
|
||||||
return UserPerks[i];
|
return UserPerks[i];
|
||||||
@ -175,7 +175,7 @@ simulated function PostBeginPlay()
|
|||||||
simulated function InitPerks()
|
simulated function InitPerks()
|
||||||
{
|
{
|
||||||
local Ext_PerkBase P;
|
local Ext_PerkBase P;
|
||||||
|
|
||||||
if (WorldInfo.NetMode==NM_Client)
|
if (WorldInfo.NetMode==NM_Client)
|
||||||
{
|
{
|
||||||
foreach DynamicActors(class'Ext_PerkBase',P)
|
foreach DynamicActors(class'Ext_PerkBase',P)
|
||||||
@ -209,7 +209,7 @@ function CheckPlayTime()
|
|||||||
function ServerInitPerks()
|
function ServerInitPerks()
|
||||||
{
|
{
|
||||||
local int i;
|
local int i;
|
||||||
|
|
||||||
for (i=0; i<UserPerks.Length; ++i)
|
for (i=0; i<UserPerks.Length; ++i)
|
||||||
UserPerks[i].SetInitialLevel();
|
UserPerks[i].SetInitialLevel();
|
||||||
bServerReady = true;
|
bServerReady = true;
|
||||||
@ -235,7 +235,7 @@ simulated function UnregisterPerk(Ext_PerkBase P)
|
|||||||
function Destroyed()
|
function Destroyed()
|
||||||
{
|
{
|
||||||
local int i;
|
local int i;
|
||||||
|
|
||||||
for (i=(UserPerks.Length-1); i>=0; --i)
|
for (i=(UserPerks.Length-1); i>=0; --i)
|
||||||
{
|
{
|
||||||
UserPerks[i].PerkManager = None;
|
UserPerks[i].PerkManager = None;
|
||||||
@ -310,7 +310,7 @@ function SaveData(ExtSaveDataBase Data)
|
|||||||
Data.SaveInt(TotalEXP,3);
|
Data.SaveInt(TotalEXP,3);
|
||||||
Data.SaveInt(TotalKills,3);
|
Data.SaveInt(TotalKills,3);
|
||||||
Data.SaveInt(TotalPlayTime,3);
|
Data.SaveInt(TotalPlayTime,3);
|
||||||
|
|
||||||
// Write character.
|
// Write character.
|
||||||
if (PRIOwner!=None)
|
if (PRIOwner!=None)
|
||||||
PRIOwner.SaveCustomCharacter(Data);
|
PRIOwner.SaveCustomCharacter(Data);
|
||||||
@ -326,10 +326,10 @@ function SaveData(ExtSaveDataBase Data)
|
|||||||
for (i=0; i<UserPerks.Length; ++i)
|
for (i=0; i<UserPerks.Length; ++i)
|
||||||
if (UserPerks[i].HasAnyProgress())
|
if (UserPerks[i].HasAnyProgress())
|
||||||
++o;
|
++o;
|
||||||
|
|
||||||
// Then write count we have.
|
// Then write count we have.
|
||||||
Data.SaveInt(o);
|
Data.SaveInt(o);
|
||||||
|
|
||||||
// Then perk stats.
|
// Then perk stats.
|
||||||
for (i=0; i<UserPerks.Length; ++i)
|
for (i=0; i<UserPerks.Length; ++i)
|
||||||
{
|
{
|
||||||
@ -508,7 +508,7 @@ simulated function ModifyRecoil(out float CurrentRecoilModifier, KFWeapon KFW)
|
|||||||
}
|
}
|
||||||
|
|
||||||
simulated function float GetCameraViewShakeModifier(KFWeapon KFW)
|
simulated function float GetCameraViewShakeModifier(KFWeapon KFW)
|
||||||
{
|
{
|
||||||
return (CurrentPerk!=None ? CurrentPerk.GetCameraViewShakeModifier(KFW) : 1.f);
|
return (CurrentPerk!=None ? CurrentPerk.GetCameraViewShakeModifier(KFW) : 1.f);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -855,7 +855,7 @@ simulated function bool GetHealingShieldActive()
|
|||||||
}
|
}
|
||||||
|
|
||||||
simulated function float GetSelfHealingSurgePct()
|
simulated function float GetSelfHealingSurgePct()
|
||||||
{
|
{
|
||||||
return (Ext_PerkFieldMedic(CurrentPerk)!=None ? Ext_PerkFieldMedic(CurrentPerk).GetSelfHealingSurgePct() : 0.f);
|
return (Ext_PerkFieldMedic(CurrentPerk)!=None ? Ext_PerkFieldMedic(CurrentPerk).GetSelfHealingSurgePct() : 0.f);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -889,10 +889,10 @@ simulated function float GetPenetrationModifier(byte Level, class<KFDamageType>
|
|||||||
{
|
{
|
||||||
return (Ext_PerkSupport(CurrentPerk)!=None ? Ext_PerkSupport(CurrentPerk).GetPenetrationModifier(Level, DamageType, bForce) : 0.f);
|
return (Ext_PerkSupport(CurrentPerk)!=None ? Ext_PerkSupport(CurrentPerk).GetPenetrationModifier(Level, DamageType, bForce) : 0.f);
|
||||||
}
|
}
|
||||||
|
|
||||||
simulated function float GetTightChokeModifier()
|
simulated function float GetTightChokeModifier()
|
||||||
{
|
{
|
||||||
return (CurrentPerk!=None ? CurrentPerk.GetTightChokeModifier() : 1.f);
|
return (CurrentPerk!=None ? CurrentPerk.GetTightChokeModifier() : 1.f);
|
||||||
}
|
}
|
||||||
|
|
||||||
// SwitchSpeed
|
// SwitchSpeed
|
||||||
@ -921,7 +921,7 @@ defaultproperties
|
|||||||
{
|
{
|
||||||
bTickIsDisabled=false
|
bTickIsDisabled=false
|
||||||
NetPriority=3.5
|
NetPriority=3.5
|
||||||
|
|
||||||
// SWAT bumping
|
// SWAT bumping
|
||||||
BumpCooldown = 0.1f
|
BumpCooldown = 0.1f
|
||||||
BumpMomentum=1.f
|
BumpMomentum=1.f
|
||||||
|
@ -13,12 +13,12 @@ final function ExUpdateDetails(Ext_PerkBase PerkClass)
|
|||||||
|
|
||||||
DetailsProvider = CreateObject("Object");
|
DetailsProvider = CreateObject("Object");
|
||||||
|
|
||||||
KFPC = KFPlayerController(GetPC());
|
KFPC = KFPlayerController(GetPC());
|
||||||
|
|
||||||
if (KFPC != none)
|
if (KFPC != none)
|
||||||
{
|
{
|
||||||
KFGRI = KFGameReplicationInfo(KFPC.WorldInfo.GRI);
|
KFGRI = KFGameReplicationInfo(KFPC.WorldInfo.GRI);
|
||||||
|
|
||||||
DetailsProvider.SetString("ExperienceMessage", ExperienceString @ PerkClass.CurrentEXP);
|
DetailsProvider.SetString("ExperienceMessage", ExperienceString @ PerkClass.CurrentEXP);
|
||||||
|
|
||||||
if (KFGRI != none)
|
if (KFGRI != none)
|
||||||
@ -31,12 +31,12 @@ final function ExUpdateDetails(Ext_PerkBase PerkClass)
|
|||||||
|
|
||||||
for (i = 0; i < WeaponNames.length; i++)
|
for (i = 0; i < WeaponNames.length; i++)
|
||||||
{
|
{
|
||||||
DetailsProvider.SetString("WeaponName" $ i, WeaponNames[i]);
|
DetailsProvider.SetString("WeaponName" $ i, WeaponNames[i]);
|
||||||
DetailsProvider.SetString("WeaponImage" $ i, "img://"$WeaponSources[i]);
|
DetailsProvider.SetString("WeaponImage" $ i, "img://"$WeaponSources[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
DetailsProvider.SetString("EXPAction1", "Kill zombies");
|
DetailsProvider.SetString("EXPAction1", "Kill zombies");
|
||||||
//DetailsProvider.SetString("EXPAction2", PerkClass.default.EXPAction2);
|
//DetailsProvider.SetString("EXPAction2", PerkClass.default.EXPAction2);
|
||||||
|
|
||||||
SetObject("detailsData", DetailsProvider);
|
SetObject("detailsData", DetailsProvider);
|
||||||
}
|
}
|
||||||
@ -53,7 +53,7 @@ final function ExUpdatePassives(Ext_PerkBase PerkClass)
|
|||||||
{
|
{
|
||||||
PassiveObject = CreateObject("Object");
|
PassiveObject = CreateObject("Object");
|
||||||
PassiveObject.SetString("PassiveTitle", PerkClass.GetStatUIStr(i));
|
PassiveObject.SetString("PassiveTitle", PerkClass.GetStatUIStr(i));
|
||||||
PassiveObject.SetString("PerkBonusModifier", "");
|
PassiveObject.SetString("PerkBonusModifier", "");
|
||||||
PassiveObject.SetString("PerkBonusAmount", "");
|
PassiveObject.SetString("PerkBonusAmount", "");
|
||||||
PassivesProvider.SetElementObject(i, PassiveObject);
|
PassivesProvider.SetElementObject(i, PassiveObject);
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
class ExtPerksContainer_Header extends KFGFxPerksContainer_Header;
|
class ExtPerksContainer_Header extends KFGFxPerksContainer_Header;
|
||||||
|
|
||||||
final function ExUpdatePerkHeader(Ext_PerkBase PerkClass)
|
final function ExUpdatePerkHeader(Ext_PerkBase PerkClass)
|
||||||
{
|
{
|
||||||
local GFxObject PerkDataProvider;
|
local GFxObject PerkDataProvider;
|
||||||
|
|
||||||
PerkDataProvider = CreateObject("Object");
|
PerkDataProvider = CreateObject("Object");
|
||||||
|
@ -4,29 +4,29 @@ var localized string PerkChangeWarning;
|
|||||||
|
|
||||||
function UpdatePerkSelection(byte SelectedPerkIndex)
|
function UpdatePerkSelection(byte SelectedPerkIndex)
|
||||||
{
|
{
|
||||||
local int i;
|
local int i;
|
||||||
local GFxObject DataProvider;
|
local GFxObject DataProvider;
|
||||||
local GFxObject TempObj;
|
local GFxObject TempObj;
|
||||||
local ExtPlayerController KFPC;
|
local ExtPlayerController KFPC;
|
||||||
local Ext_PerkBase PerkClass;
|
local Ext_PerkBase PerkClass;
|
||||||
|
|
||||||
KFPC = ExtPlayerController(GetPC());
|
KFPC = ExtPlayerController(GetPC());
|
||||||
|
|
||||||
if (KFPC!=none && KFPC.ActivePerkManager!=None)
|
if (KFPC!=none && KFPC.ActivePerkManager!=None)
|
||||||
{
|
{
|
||||||
DataProvider = CreateArray();
|
DataProvider = CreateArray();
|
||||||
|
|
||||||
for (i = 0; i < KFPC.ActivePerkManager.UserPerks.Length; i++)
|
for (i = 0; i < KFPC.ActivePerkManager.UserPerks.Length; i++)
|
||||||
{
|
{
|
||||||
PerkClass = KFPC.ActivePerkManager.UserPerks[i];
|
PerkClass = KFPC.ActivePerkManager.UserPerks[i];
|
||||||
TempObj = CreateObject("Object");
|
TempObj = CreateObject("Object");
|
||||||
TempObj.SetInt("PerkLevel", PerkClass.CurrentLevel);
|
TempObj.SetInt("PerkLevel", PerkClass.CurrentLevel);
|
||||||
TempObj.SetString("Title", PerkClass.PerkName);
|
TempObj.SetString("Title", PerkClass.PerkName);
|
||||||
TempObj.SetString("iconSource", PerkClass.GetPerkIconPath(PerkClass.CurrentLevel));
|
TempObj.SetString("iconSource", PerkClass.GetPerkIconPath(PerkClass.CurrentLevel));
|
||||||
TempObj.SetBool("bTierUnlocked", true);
|
TempObj.SetBool("bTierUnlocked", true);
|
||||||
|
|
||||||
DataProvider.SetElementObject(i, TempObj);
|
DataProvider.SetElementObject(i, TempObj);
|
||||||
}
|
}
|
||||||
SetObject("perkData", DataProvider);
|
SetObject("perkData", DataProvider);
|
||||||
SetInt("SelectedIndex", SelectedPerkIndex);
|
SetInt("SelectedIndex", SelectedPerkIndex);
|
||||||
|
|
||||||
|
@ -108,7 +108,7 @@ function CheckPerk()
|
|||||||
reliable client function AddAdminCmd(string S)
|
reliable client function AddAdminCmd(string S)
|
||||||
{
|
{
|
||||||
local int i,j;
|
local int i,j;
|
||||||
|
|
||||||
j = InStr(S,":");
|
j = InStr(S,":");
|
||||||
i = AdminCommands.Length;
|
i = AdminCommands.Length;
|
||||||
AdminCommands.Length = i+1;
|
AdminCommands.Length = i+1;
|
||||||
@ -344,7 +344,7 @@ reliable client event TeamMessage(PlayerReplicationInfo PRI, coerce string S, na
|
|||||||
S = PRI.GetHumanReadableName()$": "$S;
|
S = PRI.GetHumanReadableName()$": "$S;
|
||||||
LocalPlayer(Player).ViewportClient.ViewportConsole.OutputText("("$Type$") "$S);
|
LocalPlayer(Player).ViewportClient.ViewportConsole.OutputText("("$Type$") "$S);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MyGFxManager != none && MyGFxManager.PartyWidget != none)
|
if (MyGFxManager != none && MyGFxManager.PartyWidget != none)
|
||||||
{
|
{
|
||||||
if (!MyGFxManager.PartyWidget.ReceiveMessage(S)) //Fails if message is for updating perks in a steam lobby
|
if (!MyGFxManager.PartyWidget.ReceiveMessage(S)) //Fails if message is for updating perks in a steam lobby
|
||||||
@ -392,16 +392,16 @@ final function PopScreenMsg(string S)
|
|||||||
local int i;
|
local int i;
|
||||||
local string L;
|
local string L;
|
||||||
local float T;
|
local float T;
|
||||||
|
|
||||||
T = 4.f;
|
T = 4.f;
|
||||||
|
|
||||||
// Get lower part.
|
// Get lower part.
|
||||||
i = InStr(S,"|");
|
i = InStr(S,"|");
|
||||||
if (i!=-1)
|
if (i!=-1)
|
||||||
{
|
{
|
||||||
L = Mid(S,i+1);
|
L = Mid(S,i+1);
|
||||||
S = Left(S,i);
|
S = Left(S,i);
|
||||||
|
|
||||||
// Get time.
|
// Get time.
|
||||||
i = InStr(L,"|");
|
i = InStr(L,"|");
|
||||||
if (i!=-1)
|
if (i!=-1)
|
||||||
@ -420,7 +420,7 @@ reliable client function ClientKillMessage(class<DamageType> DamType, PlayerRepl
|
|||||||
|
|
||||||
if (Player==None || Victim==None)
|
if (Player==None || Victim==None)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (bUseKF2DeathMessages && MyGFxHUD!=None)
|
if (bUseKF2DeathMessages && MyGFxHUD!=None)
|
||||||
{
|
{
|
||||||
if (Victim==KillerPRI || (KillerPRI==None && KillerPawn==None)) // Suicide
|
if (Victim==KillerPRI || (KillerPRI==None && KillerPawn==None)) // Suicide
|
||||||
@ -559,7 +559,7 @@ simulated final function ToggleFPBody(bool bEnable)
|
|||||||
{
|
{
|
||||||
bShowFPLegs = bEnable;
|
bShowFPLegs = bEnable;
|
||||||
Class'ExtPlayerController'.Default.bShowFPLegs = bEnable;
|
Class'ExtPlayerController'.Default.bShowFPLegs = bEnable;
|
||||||
|
|
||||||
if (ExtHumanPawn(Pawn)!=None)
|
if (ExtHumanPawn(Pawn)!=None)
|
||||||
ExtHumanPawn(Pawn).UpdateFPLegs();
|
ExtHumanPawn(Pawn).UpdateFPLegs();
|
||||||
}
|
}
|
||||||
@ -654,7 +654,7 @@ function ShowBossNameplate(KFInterface_MonsterBoss KFBoss, optional string Playe
|
|||||||
}
|
}
|
||||||
|
|
||||||
function HideBossNameplate()
|
function HideBossNameplate()
|
||||||
{
|
{
|
||||||
if (!bNamePlateHidden)
|
if (!bNamePlateHidden)
|
||||||
{
|
{
|
||||||
bNamePlateHidden = false;
|
bNamePlateHidden = false;
|
||||||
@ -759,7 +759,7 @@ reliable server function ServerViewPlayerID(int ID)
|
|||||||
}
|
}
|
||||||
if (PRI==None || PRI.PlayerID!=ID || Controller(PRI.Owner)==None || Controller(PRI.Owner).Pawn==None || !WorldInfo.Game.CanSpectate(self, PRI))
|
if (PRI==None || PRI.PlayerID!=ID || Controller(PRI.Owner)==None || Controller(PRI.Owner).Pawn==None || !WorldInfo.Game.CanSpectate(self, PRI))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
SetViewTarget(PRI);
|
SetViewTarget(PRI);
|
||||||
ClientMessage(NowViewingFrom@PRI.GetHumanReadableName());
|
ClientMessage(NowViewingFrom@PRI.GetHumanReadableName());
|
||||||
if (CurrentSpectateMode==SMODE_Roaming)
|
if (CurrentSpectateMode==SMODE_Roaming)
|
||||||
@ -769,7 +769,7 @@ reliable server function ServerViewPlayerID(int ID)
|
|||||||
reliable server function SpectateRoaming()
|
reliable server function SpectateRoaming()
|
||||||
{
|
{
|
||||||
local Pawn P;
|
local Pawn P;
|
||||||
|
|
||||||
P = Pawn(ViewTarget);
|
P = Pawn(ViewTarget);
|
||||||
ClientMessage(ViewingFromOwnCamera);
|
ClientMessage(ViewingFromOwnCamera);
|
||||||
Super.SpectateRoaming();
|
Super.SpectateRoaming();
|
||||||
@ -851,7 +851,7 @@ state Spectating
|
|||||||
if (Role < ROLE_Authority) // then save this move and replicate it
|
if (Role < ROLE_Authority) // then save this move and replicate it
|
||||||
{
|
{
|
||||||
ReplicateMove(DeltaTime, Acceleration, DCLICK_None, rot(0,0,0));
|
ReplicateMove(DeltaTime, Acceleration, DCLICK_None, rot(0,0,0));
|
||||||
|
|
||||||
// only done for clients, as LastActiveTime only affects idle kicking
|
// only done for clients, as LastActiveTime only affects idle kicking
|
||||||
if ((!IsZero(Acceleration) || OldRotation != Rotation) && LastUpdateSpectatorActiveTime<WorldInfo.TimeSeconds)
|
if ((!IsZero(Acceleration) || OldRotation != Rotation) && LastUpdateSpectatorActiveTime<WorldInfo.TimeSeconds)
|
||||||
{
|
{
|
||||||
@ -917,7 +917,7 @@ simulated function EndGameCamFocus(vector Pos)
|
|||||||
EndGameCamFocusPos[1] = CamPos;
|
EndGameCamFocusPos[1] = CamPos;
|
||||||
EndGameCamRot = CamRot;
|
EndGameCamRot = CamRot;
|
||||||
EndGameCamTimer = WorldInfo.RealTimeSeconds;
|
EndGameCamTimer = WorldInfo.RealTimeSeconds;
|
||||||
|
|
||||||
if (LocalPlayer(Player)==None)
|
if (LocalPlayer(Player)==None)
|
||||||
ClientFocusView(Pos);
|
ClientFocusView(Pos);
|
||||||
else if (KFPawn(ViewTarget)!=None)
|
else if (KFPawn(ViewTarget)!=None)
|
||||||
@ -939,7 +939,7 @@ final function bool CalcEndGameCam()
|
|||||||
return true;
|
return true;
|
||||||
|
|
||||||
T = WorldInfo.RealTimeSeconds-EndGameCamTimer;
|
T = WorldInfo.RealTimeSeconds-EndGameCamTimer;
|
||||||
|
|
||||||
if (T>=20.f) // Finished view.
|
if (T>=20.f) // Finished view.
|
||||||
{
|
{
|
||||||
bEndGameCamFocus = false;
|
bEndGameCamFocus = false;
|
||||||
@ -1090,7 +1090,7 @@ Ignores NotifyPhysicsVolumeChange,ServerCamera,ResetCameraMode;
|
|||||||
TheViewTarget = Self;
|
TheViewTarget = Self;
|
||||||
out_Location = TheViewTarget.Location;
|
out_Location = TheViewTarget.Location;
|
||||||
EndOffset = out_Location-vector(Rotation)*250.f;
|
EndOffset = out_Location-vector(Rotation)*250.f;
|
||||||
|
|
||||||
if (TheViewTarget.Trace(HL,HN,EndOffset,out_Location,false,vect(16,16,16))!=None)
|
if (TheViewTarget.Trace(HL,HN,EndOffset,out_Location,false,vect(16,16,16))!=None)
|
||||||
out_Location = HL;
|
out_Location = HL;
|
||||||
else out_Location = EndOffset;
|
else out_Location = EndOffset;
|
||||||
@ -1174,7 +1174,7 @@ state Dead
|
|||||||
bPressedJump = false;
|
bPressedJump = false;
|
||||||
FindGoodView();
|
FindGoodView();
|
||||||
CleanOutSavedMoves();
|
CleanOutSavedMoves();
|
||||||
|
|
||||||
if (KFPawn(ViewTarget)!=none)
|
if (KFPawn(ViewTarget)!=none)
|
||||||
{
|
{
|
||||||
KFPawn(ViewTarget).SetMeshVisibility(true);
|
KFPawn(ViewTarget).SetMeshVisibility(true);
|
||||||
@ -1213,7 +1213,7 @@ state Dead
|
|||||||
TheViewTarget = Self;
|
TheViewTarget = Self;
|
||||||
out_Location = TheViewTarget.Location;
|
out_Location = TheViewTarget.Location;
|
||||||
EndOffset = out_Location-vector(Rotation)*400.f;
|
EndOffset = out_Location-vector(Rotation)*400.f;
|
||||||
|
|
||||||
if (TheViewTarget.Trace(HL,HN,EndOffset,out_Location,false,vect(16,16,16))!=None)
|
if (TheViewTarget.Trace(HL,HN,EndOffset,out_Location,false,vect(16,16,16))!=None)
|
||||||
out_Location = HL;
|
out_Location = HL;
|
||||||
else out_Location = EndOffset;
|
else out_Location = EndOffset;
|
||||||
@ -1239,7 +1239,7 @@ defaultproperties
|
|||||||
MidGameMenuClass=class'UI_MidGameMenu'
|
MidGameMenuClass=class'UI_MidGameMenu'
|
||||||
PerkList.Empty()
|
PerkList.Empty()
|
||||||
PerkList.Add((PerkClass=Class'ExtPerkManager'))
|
PerkList.Add((PerkClass=Class'ExtPerkManager'))
|
||||||
|
|
||||||
NVG_DOF_FocalDistance=3800.0
|
NVG_DOF_FocalDistance=3800.0
|
||||||
NVG_DOF_SharpRadius=2500.0
|
NVG_DOF_SharpRadius=2500.0
|
||||||
NVG_DOF_FocalRadius=3500.0
|
NVG_DOF_FocalRadius=3500.0
|
||||||
|
@ -9,7 +9,7 @@ struct FCustomCharEntry
|
|||||||
struct FMyCustomChar // Now without constant.
|
struct FMyCustomChar // Now without constant.
|
||||||
{
|
{
|
||||||
var int CharacterIndex,HeadMeshIndex,HeadSkinIndex,BodyMeshIndex,BodySkinIndex,AttachmentMeshIndices[`MAX_COSMETIC_ATTACHMENTS],AttachmentSkinIndices[`MAX_COSMETIC_ATTACHMENTS];
|
var int CharacterIndex,HeadMeshIndex,HeadSkinIndex,BodyMeshIndex,BodySkinIndex,AttachmentMeshIndices[`MAX_COSMETIC_ATTACHMENTS],AttachmentSkinIndices[`MAX_COSMETIC_ATTACHMENTS];
|
||||||
|
|
||||||
structdefaultproperties
|
structdefaultproperties
|
||||||
{
|
{
|
||||||
AttachmentMeshIndices[0]=`CLEARED_ATTACHMENT_INDEX
|
AttachmentMeshIndices[0]=`CLEARED_ATTACHMENT_INDEX
|
||||||
@ -101,7 +101,7 @@ simulated function ClientInitialize(Controller C)
|
|||||||
local ExtPlayerReplicationInfo PRI;
|
local ExtPlayerReplicationInfo PRI;
|
||||||
|
|
||||||
Super.ClientInitialize(C);
|
Super.ClientInitialize(C);
|
||||||
|
|
||||||
if (WorldInfo.NetMode!=NM_DedicatedServer)
|
if (WorldInfo.NetMode!=NM_DedicatedServer)
|
||||||
{
|
{
|
||||||
LocalOwnerPRI = Self;
|
LocalOwnerPRI = Self;
|
||||||
@ -189,7 +189,7 @@ simulated final function color PickPerkColor()
|
|||||||
{
|
{
|
||||||
local float P;
|
local float P;
|
||||||
local byte i;
|
local byte i;
|
||||||
|
|
||||||
if (RepLevelProgress==0)
|
if (RepLevelProgress==0)
|
||||||
return MakeColor(255,255,255,255);
|
return MakeColor(255,255,255,255);
|
||||||
P = float(RepLevelProgress) / 255.f;
|
P = float(RepLevelProgress) / 255.f;
|
||||||
@ -331,7 +331,7 @@ function ClearFixed()
|
|||||||
simulated final function string GetDesc()
|
simulated final function string GetDesc()
|
||||||
{
|
{
|
||||||
local string S;
|
local string S;
|
||||||
|
|
||||||
if ((FixedData & 1)!=0)
|
if ((FixedData & 1)!=0)
|
||||||
S = "A.";
|
S = "A.";
|
||||||
if ((FixedData & 2)!=0)
|
if ((FixedData & 2)!=0)
|
||||||
@ -595,13 +595,13 @@ final function SaveCustomCharacter(ExtSaveDataBase Data)
|
|||||||
Data.SaveStr(S);
|
Data.SaveStr(S);
|
||||||
if (S=="")
|
if (S=="")
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Write selected accessories.
|
// Write selected accessories.
|
||||||
Data.SaveInt(CustomCharacter.HeadMeshIndex);
|
Data.SaveInt(CustomCharacter.HeadMeshIndex);
|
||||||
Data.SaveInt(CustomCharacter.HeadSkinIndex);
|
Data.SaveInt(CustomCharacter.HeadSkinIndex);
|
||||||
Data.SaveInt(CustomCharacter.BodyMeshIndex);
|
Data.SaveInt(CustomCharacter.BodyMeshIndex);
|
||||||
Data.SaveInt(CustomCharacter.BodySkinIndex);
|
Data.SaveInt(CustomCharacter.BodySkinIndex);
|
||||||
|
|
||||||
c = 0;
|
c = 0;
|
||||||
for (i=0; i<`MAX_COSMETIC_ATTACHMENTS; ++i)
|
for (i=0; i<`MAX_COSMETIC_ATTACHMENTS; ++i)
|
||||||
{
|
{
|
||||||
@ -611,7 +611,7 @@ final function SaveCustomCharacter(ExtSaveDataBase Data)
|
|||||||
|
|
||||||
// Write attachments count.
|
// Write attachments count.
|
||||||
Data.SaveInt(c);
|
Data.SaveInt(c);
|
||||||
|
|
||||||
// Write attachments.
|
// Write attachments.
|
||||||
for (i=0; i<`MAX_COSMETIC_ATTACHMENTS; ++i)
|
for (i=0; i<`MAX_COSMETIC_ATTACHMENTS; ++i)
|
||||||
{
|
{
|
||||||
@ -639,7 +639,7 @@ final function LoadCustomCharacter(ExtSaveDataBase Data)
|
|||||||
if (string(CharacterArchetypes[i].Name)~=S)
|
if (string(CharacterArchetypes[i].Name)~=S)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i==CharacterArchetypes.Length)
|
if (i==CharacterArchetypes.Length)
|
||||||
{
|
{
|
||||||
for (i=0; i<CustomCharList.Length; ++i)
|
for (i=0; i<CustomCharList.Length; ++i)
|
||||||
@ -741,4 +741,4 @@ defaultproperties
|
|||||||
RespawnCounter=-1
|
RespawnCounter=-1
|
||||||
AdminType=AT_Player
|
AdminType=AT_Player
|
||||||
TaggedPlayerName="Player"
|
TaggedPlayerName="Player"
|
||||||
}
|
}
|
||||||
|
@ -96,4 +96,4 @@ defaultproperties
|
|||||||
FuseTime=0.35
|
FuseTime=0.35
|
||||||
NumCrackers=6
|
NumCrackers=6
|
||||||
bNetTemporary=true
|
bNetTemporary=true
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@ simulated function PostBeginPlay()
|
|||||||
{
|
{
|
||||||
InstigatorPerk = InstigatorPawn.GetPerk();
|
InstigatorPerk = InstigatorPawn.GetPerk();
|
||||||
if (InstigatorPerk != none)
|
if (InstigatorPerk != none)
|
||||||
bExplodeOnContact = InstigatorPerk.IsOnContactActive();
|
bExplodeOnContact = InstigatorPerk.IsOnContactActive();
|
||||||
}
|
}
|
||||||
|
|
||||||
Super.PostBeginPlay();
|
Super.PostBeginPlay();
|
||||||
|
@ -58,4 +58,4 @@ defaultproperties
|
|||||||
Damage=170
|
Damage=170
|
||||||
DamageRadius=800
|
DamageRadius=800
|
||||||
End Object
|
End Object
|
||||||
}
|
}
|
||||||
|
@ -9,13 +9,13 @@ defaultproperties
|
|||||||
|
|
||||||
bCanDisintegrate=false
|
bCanDisintegrate=false
|
||||||
DrawScale=2.5
|
DrawScale=2.5
|
||||||
|
|
||||||
NumResidualFlames=10
|
NumResidualFlames=10
|
||||||
ResidualFlameProjClass=class'ExtProj_SUPERMolotovS'
|
ResidualFlameProjClass=class'ExtProj_SUPERMolotovS'
|
||||||
|
|
||||||
// explosion
|
// explosion
|
||||||
Begin Object Name=ExploTemplate0
|
Begin Object Name=ExploTemplate0
|
||||||
Damage=750
|
Damage=750
|
||||||
DamageRadius=500
|
DamageRadius=500
|
||||||
End Object
|
End Object
|
||||||
}
|
}
|
||||||
|
@ -9,4 +9,4 @@ defaultproperties
|
|||||||
Damage=40
|
Damage=40
|
||||||
DamageRadius=200
|
DamageRadius=200
|
||||||
End Object
|
End Object
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@ function PlayAnimation()
|
|||||||
PlaySpecialMoveAnim(AnimName, AnimStance, BlendInTime, BlendOutTime, 1.f);
|
PlaySpecialMoveAnim(AnimName, AnimStance, BlendInTime, BlendOutTime, 1.f);
|
||||||
|
|
||||||
if (KFPOwner.Role == ROLE_Authority)
|
if (KFPOwner.Role == ROLE_Authority)
|
||||||
{
|
{
|
||||||
KFGameInfo(KFPOwner.WorldInfo.Game).DialogManager.PlayDialogEvent(KFPOwner, 31);
|
KFGameInfo(KFPOwner.WorldInfo.Game).DialogManager.PlayDialogEvent(KFPOwner, 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -47,4 +47,5 @@ function PlayAnimation()
|
|||||||
|
|
||||||
defaultproperties
|
defaultproperties
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
@ -8,9 +8,9 @@ function SpawnProjectileShield()
|
|||||||
defaultproperties
|
defaultproperties
|
||||||
{
|
{
|
||||||
ExplosionActorClass=class'ExtExplosion_SirenScream'
|
ExplosionActorClass=class'ExtExplosion_SirenScream'
|
||||||
|
|
||||||
// explosion
|
// explosion
|
||||||
Begin Object Name=ExploTemplate0
|
Begin Object Name=ExploTemplate0
|
||||||
ActorClassToIgnoreForDamage=class'KFPawn_ZedSirenX'
|
ActorClassToIgnoreForDamage=class'KFPawn_ZedSirenX'
|
||||||
End Object
|
End Object
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@ var array<Actor> ValidSpawnSpots;
|
|||||||
static final function ExtSpawnPointHelper FindHelper(WorldInfo Level)
|
static final function ExtSpawnPointHelper FindHelper(WorldInfo Level)
|
||||||
{
|
{
|
||||||
local ExtSpawnPointHelper H;
|
local ExtSpawnPointHelper H;
|
||||||
|
|
||||||
foreach Level.DynamicActors(class'ExtSpawnPointHelper',H)
|
foreach Level.DynamicActors(class'ExtSpawnPointHelper',H)
|
||||||
return H;
|
return H;
|
||||||
return Level.Spawn(class'ExtSpawnPointHelper');
|
return Level.Spawn(class'ExtSpawnPointHelper');
|
||||||
@ -20,7 +20,7 @@ final function Actor PickBestSpawn()
|
|||||||
local KFPawn P;
|
local KFPawn P;
|
||||||
local float Score,BestScore,Dist;
|
local float Score,BestScore,Dist;
|
||||||
local KFPawn_Human H;
|
local KFPawn_Human H;
|
||||||
|
|
||||||
BestN = None;
|
BestN = None;
|
||||||
BestScore = 0;
|
BestScore = 0;
|
||||||
foreach ValidSpawnSpots(N)
|
foreach ValidSpawnSpots(N)
|
||||||
@ -132,7 +132,7 @@ final function CheckSpawn(NavigationPoint N)
|
|||||||
ValidSpawnSpots.AddItem(N);
|
ValidSpawnSpots.AddItem(N);
|
||||||
}
|
}
|
||||||
CheckedList.AddItem(N);
|
CheckedList.AddItem(N);
|
||||||
|
|
||||||
foreach N.PathList(R)
|
foreach N.PathList(R)
|
||||||
{
|
{
|
||||||
E = R.GetEnd();
|
E = R.GetEnd();
|
||||||
|
@ -2,7 +2,7 @@ class ExtTraderContainer_Filter extends KFGFxTraderContainer_Filter;
|
|||||||
|
|
||||||
function SetPerkFilterData(byte FilterIndex)
|
function SetPerkFilterData(byte FilterIndex)
|
||||||
{
|
{
|
||||||
local int i;
|
local int i;
|
||||||
local GFxObject DataProvider;
|
local GFxObject DataProvider;
|
||||||
local GFxObject FilterObject;
|
local GFxObject FilterObject;
|
||||||
local ExtPlayerController KFPC;
|
local ExtPlayerController KFPC;
|
||||||
@ -31,7 +31,7 @@ function SetPerkFilterData(byte FilterIndex)
|
|||||||
SetString("filterText", OffPerkString);
|
SetString("filterText", OffPerkString);
|
||||||
}
|
}
|
||||||
|
|
||||||
DataProvider = CreateArray();
|
DataProvider = CreateArray();
|
||||||
for (i = 0; i < PrM.UserPerks.Length; i++)
|
for (i = 0; i < PrM.UserPerks.Length; i++)
|
||||||
{
|
{
|
||||||
FilterObject = CreateObject("Object");
|
FilterObject = CreateObject("Object");
|
||||||
|
@ -10,11 +10,11 @@ function SetPerkInfo()
|
|||||||
if (KFPC!=none && KFPC.ActivePerkManager!=None && KFPC.ActivePerkManager.CurrentPerk!=None)
|
if (KFPC!=none && KFPC.ActivePerkManager!=None && KFPC.ActivePerkManager.CurrentPerk!=None)
|
||||||
{
|
{
|
||||||
CurrentPerk = KFPC.ActivePerkManager.CurrentPerk;
|
CurrentPerk = KFPC.ActivePerkManager.CurrentPerk;
|
||||||
SetString("perkName", CurrentPerk.PerkName);
|
SetString("perkName", CurrentPerk.PerkName);
|
||||||
SetString("perkIconPath", CurrentPerk.GetPerkIconPath(CurrentPerk.CurrentLevel));
|
SetString("perkIconPath", CurrentPerk.GetPerkIconPath(CurrentPerk.CurrentLevel));
|
||||||
SetInt("perkLevel", CurrentPerk.CurrentLevel);
|
SetInt("perkLevel", CurrentPerk.CurrentLevel);
|
||||||
V = CurrentPerk.GetProgressPercent()*100.f;
|
V = CurrentPerk.GetProgressPercent()*100.f;
|
||||||
SetInt("xpBarValue", int(V));
|
SetInt("xpBarValue", int(V));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -52,4 +52,5 @@ function SetPerkList()
|
|||||||
|
|
||||||
defaultproperties
|
defaultproperties
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
@ -12,7 +12,7 @@ function bool IsItemFiltered(STraderItem Item, optional bool bDebug)
|
|||||||
if ( Item.WeaponDef.default.PlatformRestriction != PR_All && class'KFUnlockManager'.static.IsPlatformRestricted( Item.WeaponDef.default.PlatformRestriction ) )
|
if ( Item.WeaponDef.default.PlatformRestriction != PR_All && class'KFUnlockManager'.static.IsPlatformRestricted( Item.WeaponDef.default.PlatformRestriction ) )
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
function RefreshWeaponListByPerk(byte FilterIndex, const out array<STraderItem> ItemList)
|
function RefreshWeaponListByPerk(byte FilterIndex, const out array<STraderItem> ItemList)
|
||||||
@ -52,11 +52,11 @@ function RefreshWeaponListByPerk(byte FilterIndex, const out array<STraderItem>
|
|||||||
case 0: //primary perk
|
case 0: //primary perk
|
||||||
OnPerkWeapons.AddItem(ItemList[i]);
|
OnPerkWeapons.AddItem(ItemList[i]);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1: //secondary perk
|
case 1: //secondary perk
|
||||||
SecondaryWeapons.AddItem(ItemList[i]);
|
SecondaryWeapons.AddItem(ItemList[i]);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default: //off perk
|
default: //off perk
|
||||||
OffPerkWeapons.AddItem(ItemList[i]);
|
OffPerkWeapons.AddItem(ItemList[i]);
|
||||||
break;
|
break;
|
||||||
@ -68,7 +68,7 @@ function RefreshWeaponListByPerk(byte FilterIndex, const out array<STraderItem>
|
|||||||
for (i = 0; i < OnPerkWeapons.length; i++)
|
for (i = 0; i < OnPerkWeapons.length; i++)
|
||||||
{
|
{
|
||||||
SetItemInfo(ItemDataArray, OnPerkWeapons[i], SlotIndex);
|
SetItemInfo(ItemDataArray, OnPerkWeapons[i], SlotIndex);
|
||||||
SlotIndex++;
|
SlotIndex++;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < SecondaryWeapons.length; i++)
|
for (i = 0; i < SecondaryWeapons.length; i++)
|
||||||
@ -81,7 +81,7 @@ function RefreshWeaponListByPerk(byte FilterIndex, const out array<STraderItem>
|
|||||||
{
|
{
|
||||||
SetItemInfo(ItemDataArray, OffPerkWeapons[i], SlotIndex);
|
SetItemInfo(ItemDataArray, OffPerkWeapons[i], SlotIndex);
|
||||||
SlotIndex++;
|
SlotIndex++;
|
||||||
}
|
}
|
||||||
|
|
||||||
SetObject("shopData", ItemDataArray);
|
SetObject("shopData", ItemDataArray);
|
||||||
}
|
}
|
||||||
|
@ -7,4 +7,4 @@ defaultproperties
|
|||||||
AmmoPricePerMag=0
|
AmmoPricePerMag=0
|
||||||
|
|
||||||
WeaponClassPath="ServerExt.ExtWeap_Pistol_9mm"
|
WeaponClassPath="ServerExt.ExtWeap_Pistol_9mm"
|
||||||
}
|
}
|
||||||
|
@ -16,4 +16,4 @@ defaultproperties
|
|||||||
UpgradeSellPrice[1] = 0
|
UpgradeSellPrice[1] = 0
|
||||||
UpgradeSellPrice[2] = 0
|
UpgradeSellPrice[2] = 0
|
||||||
UpgradeSellPrice[3] = 0
|
UpgradeSellPrice[3] = 0
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ defaultproperties
|
|||||||
{
|
{
|
||||||
SpareAmmoCapacity[0]=-1
|
SpareAmmoCapacity[0]=-1
|
||||||
InitialSpareMags[0]=0
|
InitialSpareMags[0]=0
|
||||||
|
|
||||||
bInfiniteSpareAmmo=True
|
bInfiniteSpareAmmo=True
|
||||||
|
|
||||||
// DualClass=class'ServerExt.ExtWeap_Pistol_MedicS'
|
// DualClass=class'ServerExt.ExtWeap_Pistol_MedicS'
|
||||||
@ -35,4 +35,4 @@ simulated function KFPerk GetPerk()
|
|||||||
if (KFPlayer != None)
|
if (KFPlayer != None)
|
||||||
return KFPlayer.GetPerk();
|
return KFPlayer.GetPerk();
|
||||||
return super.GetPerk();
|
return super.GetPerk();
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ defaultproperties
|
|||||||
{
|
{
|
||||||
SpareAmmoCapacity[0]=-1
|
SpareAmmoCapacity[0]=-1
|
||||||
InitialSpareMags[0]=0
|
InitialSpareMags[0]=0
|
||||||
|
|
||||||
bInfiniteSpareAmmo=True
|
bInfiniteSpareAmmo=True
|
||||||
|
|
||||||
SingleClass=class'ExtWeap_Pistol_9mm'
|
SingleClass=class'ExtWeap_Pistol_9mm'
|
||||||
@ -19,7 +19,7 @@ simulated static function bool AllowedForAllPerks()
|
|||||||
|
|
||||||
simulated function ConsumeAmmo(byte FireModeNum)
|
simulated function ConsumeAmmo(byte FireModeNum)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
simulated static event class<KFPerk> GetWeaponPerkClass(class<KFPerk> InstigatorPerkClass)
|
simulated static event class<KFPerk> GetWeaponPerkClass(class<KFPerk> InstigatorPerkClass)
|
||||||
@ -28,4 +28,4 @@ simulated static event class<KFPerk> GetWeaponPerkClass(class<KFPerk> Instigator
|
|||||||
return InstigatorPerkClass;
|
return InstigatorPerkClass;
|
||||||
|
|
||||||
return default.AssociatedPerkClasses[0];
|
return default.AssociatedPerkClasses[0];
|
||||||
}
|
}
|
||||||
|
@ -3,14 +3,14 @@ class ExtWeap_Pistol_MedicS extends KFWeap_Pistol_Medic;
|
|||||||
defaultproperties
|
defaultproperties
|
||||||
{
|
{
|
||||||
bCanThrow=false
|
bCanThrow=false
|
||||||
|
|
||||||
SpareAmmoCapacity[0]=-1
|
SpareAmmoCapacity[0]=-1
|
||||||
InitialSpareMags[0]=0
|
InitialSpareMags[0]=0
|
||||||
bInfiniteSpareAmmo=True
|
bInfiniteSpareAmmo=True
|
||||||
|
|
||||||
// Remove weight bcs of replacing 9mm
|
// Remove weight bcs of replacing 9mm
|
||||||
InventorySize=0
|
InventorySize=0
|
||||||
|
|
||||||
InstantHitDamageTypes(DEFAULT_FIREMODE)=class'ExtDT_Ballistic_Pistol_Medic'
|
InstantHitDamageTypes(DEFAULT_FIREMODE)=class'ExtDT_Ballistic_Pistol_Medic'
|
||||||
|
|
||||||
WeaponUpgrades[1]=(Stats=((Stat=EWUS_Damage0, Scale=1.7f), (Stat=EWUS_HealFullRecharge, Scale=0.9f)))
|
WeaponUpgrades[1]=(Stats=((Stat=EWUS_Damage0, Scale=1.7f), (Stat=EWUS_HealFullRecharge, Scale=0.9f)))
|
||||||
@ -43,4 +43,4 @@ simulated function KFPerk GetPerk()
|
|||||||
if (KFPlayer != None)
|
if (KFPlayer != None)
|
||||||
return KFPlayer.GetPerk();
|
return KFPlayer.GetPerk();
|
||||||
return super.GetPerk();
|
return super.GetPerk();
|
||||||
}
|
}
|
||||||
|
@ -2,11 +2,11 @@ class ExtWeaponSkinList extends Object;
|
|||||||
|
|
||||||
struct WeaponSkin
|
struct WeaponSkin
|
||||||
{
|
{
|
||||||
var int Id;
|
var int Id;
|
||||||
|
|
||||||
var array<string> MIC_1P;
|
var array<string> MIC_1P;
|
||||||
var string MIC_3P;
|
var string MIC_3P;
|
||||||
var string MIC_Pickup;
|
var string MIC_Pickup;
|
||||||
|
|
||||||
var class<KFWeaponDefinition> WeaponDef;
|
var class<KFWeaponDefinition> WeaponDef;
|
||||||
};
|
};
|
||||||
@ -25,7 +25,7 @@ static function array<MaterialInterface> GetWeaponSkin(int ItemId, EWeaponSkinTy
|
|||||||
local array<MaterialInterface> Mats;
|
local array<MaterialInterface> Mats;
|
||||||
local MaterialInterface LoadedMat;
|
local MaterialInterface LoadedMat;
|
||||||
local string FirstPMat;
|
local string FirstPMat;
|
||||||
|
|
||||||
i = default.Skins.Find('Id', ItemId);
|
i = default.Skins.Find('Id', ItemId);
|
||||||
if (i > -1)
|
if (i > -1)
|
||||||
{
|
{
|
||||||
@ -38,38 +38,38 @@ static function array<MaterialInterface> GetWeaponSkin(int ItemId, EWeaponSkinTy
|
|||||||
if (LoadedMat != None)
|
if (LoadedMat != None)
|
||||||
Mats.AddItem(LoadedMat);
|
Mats.AddItem(LoadedMat);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case WST_ThirdPerson:
|
case WST_ThirdPerson:
|
||||||
LoadedMat = MaterialInterface(DynamicLoadObject(default.Skins[i].MIC_3P, class'MaterialInterface'));
|
LoadedMat = MaterialInterface(DynamicLoadObject(default.Skins[i].MIC_3P, class'MaterialInterface'));
|
||||||
if (LoadedMat != None)
|
if (LoadedMat != None)
|
||||||
Mats.AddItem(LoadedMat);
|
Mats.AddItem(LoadedMat);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case WST_Pickup:
|
case WST_Pickup:
|
||||||
LoadedMat = MaterialInterface(DynamicLoadObject(default.Skins[i].MIC_Pickup, class'MaterialInterface'));
|
LoadedMat = MaterialInterface(DynamicLoadObject(default.Skins[i].MIC_Pickup, class'MaterialInterface'));
|
||||||
if (LoadedMat != None)
|
if (LoadedMat != None)
|
||||||
Mats.AddItem(LoadedMat);
|
Mats.AddItem(LoadedMat);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return Mats;
|
return Mats;
|
||||||
}
|
}
|
||||||
|
|
||||||
static function SaveWeaponSkin(class<KFWeaponDefinition> WeaponDef, int ID, ExtPlayerController PC)
|
static function SaveWeaponSkin(class<KFWeaponDefinition> WeaponDef, int ID, ExtPlayerController PC)
|
||||||
{
|
{
|
||||||
local int ALen, i;
|
local int ALen, i;
|
||||||
|
|
||||||
i = PC.SavedWeaponSkins.Find('WepDef', WeaponDef);
|
i = PC.SavedWeaponSkins.Find('WepDef', WeaponDef);
|
||||||
if (i > -1)
|
if (i > -1)
|
||||||
PC.SavedWeaponSkins.Remove(i, 1);
|
PC.SavedWeaponSkins.Remove(i, 1);
|
||||||
|
|
||||||
ALen = PC.SavedWeaponSkins.Length;
|
ALen = PC.SavedWeaponSkins.Length;
|
||||||
PC.SavedWeaponSkins[ALen].ID = ID;
|
PC.SavedWeaponSkins[ALen].ID = ID;
|
||||||
PC.SavedWeaponSkins[ALen].WepDef = WeaponDef;
|
PC.SavedWeaponSkins[ALen].WepDef = WeaponDef;
|
||||||
|
|
||||||
PC.SaveConfig();
|
PC.SaveConfig();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -87,12 +87,12 @@ defaultproperties
|
|||||||
{
|
{
|
||||||
//Anodized Hazard AR15
|
//Anodized Hazard AR15
|
||||||
Skins.Add((Id=3001, Weapondef=class'KFWeapDef_AR15', MIC_1P=("WEP_SkinSet01_MAT.anodizedhazard_ar15.AnodizedHazard_AR15_1P_Mint_MIC"), MIC_3P="WEP_SkinSet01_MAT.anodizedhazard_ar15.AnodizedHazard_AR15_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet01_MAT.anodizedhazard_ar15.AnodizedHazard_AR15_3P_Pickup_MIC"))
|
Skins.Add((Id=3001, Weapondef=class'KFWeapDef_AR15', MIC_1P=("WEP_SkinSet01_MAT.anodizedhazard_ar15.AnodizedHazard_AR15_1P_Mint_MIC"), MIC_3P="WEP_SkinSet01_MAT.anodizedhazard_ar15.AnodizedHazard_AR15_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet01_MAT.anodizedhazard_ar15.AnodizedHazard_AR15_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=3002, Weapondef=class'KFWeapDef_AR15', MIC_1P=("WEP_SkinSet01_MAT.anodizedhazard_ar15.AnodizedHazard_AR15_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet01_MAT.anodizedhazard_ar15.AnodizedHazard_AR15_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet01_MAT.anodizedhazard_ar15.AnodizedHazard_AR15_3P_Pickup_MIC"))
|
Skins.Add((Id=3002, Weapondef=class'KFWeapDef_AR15', MIC_1P=("WEP_SkinSet01_MAT.anodizedhazard_ar15.AnodizedHazard_AR15_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet01_MAT.anodizedhazard_ar15.AnodizedHazard_AR15_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet01_MAT.anodizedhazard_ar15.AnodizedHazard_AR15_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=3003, Weapondef=class'KFWeapDef_AR15', MIC_1P=("WEP_SkinSet01_MAT.anodizedhazard_ar15.AnodizedHazard_AR15_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet01_MAT.anodizedhazard_ar15.AnodizedHazard_AR15_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet01_MAT.anodizedhazard_ar15.AnodizedHazard_AR15_3P_Pickup_MIC"))
|
Skins.Add((Id=3003, Weapondef=class'KFWeapDef_AR15', MIC_1P=("WEP_SkinSet01_MAT.anodizedhazard_ar15.AnodizedHazard_AR15_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet01_MAT.anodizedhazard_ar15.AnodizedHazard_AR15_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet01_MAT.anodizedhazard_ar15.AnodizedHazard_AR15_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Airlock 9mm
|
//Airlock 9mm
|
||||||
Skins.Add((Id=3004, Weapondef=class'KFWeapDef_9mm', MIC_1P=("WEP_SkinSet01_MAT.airlock_9mm.Airlock_9MM_1P_Mint_MIC"), MIC_3P="WEP_SkinSet01_MAT.airlock_9mm.Airlock_9MM_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet01_MAT.airlock_9mm.Airlock_9MM_3P_Pickup_MIC"))
|
Skins.Add((Id=3004, Weapondef=class'KFWeapDef_9mm', MIC_1P=("WEP_SkinSet01_MAT.airlock_9mm.Airlock_9MM_1P_Mint_MIC"), MIC_3P="WEP_SkinSet01_MAT.airlock_9mm.Airlock_9MM_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet01_MAT.airlock_9mm.Airlock_9MM_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=3005, Weapondef=class'KFWeapDef_9mm', MIC_1P=("WEP_SkinSet01_MAT.airlock_9mm.Airlock_9MM_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet01_MAT.airlock_9mm.Airlock_9MM_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet01_MAT.airlock_9mm.Airlock_9MM_3P_Pickup_MIC"))
|
Skins.Add((Id=3005, Weapondef=class'KFWeapDef_9mm', MIC_1P=("WEP_SkinSet01_MAT.airlock_9mm.Airlock_9MM_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet01_MAT.airlock_9mm.Airlock_9MM_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet01_MAT.airlock_9mm.Airlock_9MM_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=3006, Weapondef=class'KFWeapDef_9mm', MIC_1P=("WEP_SkinSet01_MAT.airlock_9mm.Airlock_9MM_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet01_MAT.airlock_9mm.Airlock_9MM_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet01_MAT.airlock_9mm.Airlock_9MM_3P_Pickup_MIC"))
|
Skins.Add((Id=3006, Weapondef=class'KFWeapDef_9mm', MIC_1P=("WEP_SkinSet01_MAT.airlock_9mm.Airlock_9MM_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet01_MAT.airlock_9mm.Airlock_9MM_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet01_MAT.airlock_9mm.Airlock_9MM_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Aeronaut Bullpup
|
//Aeronaut Bullpup
|
||||||
@ -102,17 +102,17 @@ defaultproperties
|
|||||||
|
|
||||||
//Woodland AA12
|
//Woodland AA12
|
||||||
Skins.Add((Id=3010, Weapondef=class'KFWeapDef_AA12', MIC_1P=("WEP_SkinSetPSN03_MAT.woodland_aa12.Woodland_AA12_1P_Mint_MIC"), MIC_3P="WEP_SkinSetPSN03_MAT.woodland_aa12.Woodland_AA12_3P_Mint_MIC", MIC_Pickup="WEP_SkinSetPSN03_MAT.woodland_aa12.Woodland_AA12_3P_Pickup_MIC"))
|
Skins.Add((Id=3010, Weapondef=class'KFWeapDef_AA12', MIC_1P=("WEP_SkinSetPSN03_MAT.woodland_aa12.Woodland_AA12_1P_Mint_MIC"), MIC_3P="WEP_SkinSetPSN03_MAT.woodland_aa12.Woodland_AA12_3P_Mint_MIC", MIC_Pickup="WEP_SkinSetPSN03_MAT.woodland_aa12.Woodland_AA12_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=3011, Weapondef=class'KFWeapDef_AA12', MIC_1P=("WEP_SkinSetPSN03_MAT.woodland_aa12.Woodland_AA12_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSetPSN03_MAT.woodland_aa12.Woodland_AA12_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSetPSN03_MAT.woodland_aa12.Woodland_AA12_3P_Pickup_MIC"))
|
Skins.Add((Id=3011, Weapondef=class'KFWeapDef_AA12', MIC_1P=("WEP_SkinSetPSN03_MAT.woodland_aa12.Woodland_AA12_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSetPSN03_MAT.woodland_aa12.Woodland_AA12_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSetPSN03_MAT.woodland_aa12.Woodland_AA12_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=3012, Weapondef=class'KFWeapDef_AA12', MIC_1P=("WEP_SkinSetPSN03_MAT.woodland_aa12.Woodland_AA12_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSetPSN03_MAT.woodland_aa12.Woodland_AA12_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSetPSN03_MAT.woodland_aa12.Woodland_AA12_3P_Pickup_MIC"))
|
Skins.Add((Id=3012, Weapondef=class'KFWeapDef_AA12', MIC_1P=("WEP_SkinSetPSN03_MAT.woodland_aa12.Woodland_AA12_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSetPSN03_MAT.woodland_aa12.Woodland_AA12_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSetPSN03_MAT.woodland_aa12.Woodland_AA12_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Woodland Boomstick
|
//Woodland Boomstick
|
||||||
Skins.Add((Id=3013, Weapondef=class'KFWeapDef_DoubleBarrel', MIC_1P=("WEP_SkinSetPSN03_MAT.woodland_doublebarrel.Woodland_DoubleBarrel_1P_Mint_MIC"), MIC_3P="WEP_SkinSetPSN03_MAT.woodland_doublebarrel.Woodland_DoubleBarrel_3P_Mint_MIC", MIC_Pickup="WEP_SkinSetPSN03_MAT.woodland_doublebarrel.Woodland_DoubleBarrel_3P_Pickup_MIC"))
|
Skins.Add((Id=3013, Weapondef=class'KFWeapDef_DoubleBarrel', MIC_1P=("WEP_SkinSetPSN03_MAT.woodland_doublebarrel.Woodland_DoubleBarrel_1P_Mint_MIC"), MIC_3P="WEP_SkinSetPSN03_MAT.woodland_doublebarrel.Woodland_DoubleBarrel_3P_Mint_MIC", MIC_Pickup="WEP_SkinSetPSN03_MAT.woodland_doublebarrel.Woodland_DoubleBarrel_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=3014, Weapondef=class'KFWeapDef_DoubleBarrel', MIC_1P=("WEP_SkinSetPSN03_MAT.woodland_doublebarrel.Woodland_DoubleBarrel_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSetPSN03_MAT.woodland_doublebarrel.Woodland_DoubleBarrel_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSetPSN03_MAT.woodland_doublebarrel.Woodland_DoubleBarrel_3P_Pickup_MIC"))
|
Skins.Add((Id=3014, Weapondef=class'KFWeapDef_DoubleBarrel', MIC_1P=("WEP_SkinSetPSN03_MAT.woodland_doublebarrel.Woodland_DoubleBarrel_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSetPSN03_MAT.woodland_doublebarrel.Woodland_DoubleBarrel_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSetPSN03_MAT.woodland_doublebarrel.Woodland_DoubleBarrel_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=3015, Weapondef=class'KFWeapDef_DoubleBarrel', MIC_1P=("WEP_SkinSetPSN03_MAT.woodland_doublebarrel.Woodland_DoubleBarrel_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSetPSN03_MAT.woodland_doublebarrel.Woodland_DoubleBarrel_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSetPSN03_MAT.woodland_doublebarrel.Woodland_DoubleBarrel_3P_Pickup_MIC"))
|
Skins.Add((Id=3015, Weapondef=class'KFWeapDef_DoubleBarrel', MIC_1P=("WEP_SkinSetPSN03_MAT.woodland_doublebarrel.Woodland_DoubleBarrel_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSetPSN03_MAT.woodland_doublebarrel.Woodland_DoubleBarrel_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSetPSN03_MAT.woodland_doublebarrel.Woodland_DoubleBarrel_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Woodland L85A2
|
//Woodland L85A2
|
||||||
Skins.Add((Id=3016, Weapondef=class'KFWeapDef_Bullpup', MIC_1P=("WEP_SkinSetPSN03_MAT.woodland_bullpup.Woodland_Bullpup_1P_Mint_MIC"), MIC_3P="WEP_SkinSetPSN03_MAT.woodland_bullpup.Woodland_Bullpup_3P_Mint_MIC", MIC_Pickup="WEP_SkinSetPSN03_MAT.woodland_bullpup.Woodland_Bullpup_3P_Pickup_MIC"))
|
Skins.Add((Id=3016, Weapondef=class'KFWeapDef_Bullpup', MIC_1P=("WEP_SkinSetPSN03_MAT.woodland_bullpup.Woodland_Bullpup_1P_Mint_MIC"), MIC_3P="WEP_SkinSetPSN03_MAT.woodland_bullpup.Woodland_Bullpup_3P_Mint_MIC", MIC_Pickup="WEP_SkinSetPSN03_MAT.woodland_bullpup.Woodland_Bullpup_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=3017, Weapondef=class'KFWeapDef_Bullpup', MIC_1P=("WEP_SkinSetPSN03_MAT.woodland_bullpup.Woodland_Bullpup_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSetPSN03_MAT.woodland_bullpup.Woodland_Bullpup_3P_Mint_MIC", MIC_Pickup="WEP_SkinSetPSN03_MAT.woodland_bullpup.Woodland_Bullpup_3P_Pickup_MIC"))
|
Skins.Add((Id=3017, Weapondef=class'KFWeapDef_Bullpup', MIC_1P=("WEP_SkinSetPSN03_MAT.woodland_bullpup.Woodland_Bullpup_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSetPSN03_MAT.woodland_bullpup.Woodland_Bullpup_3P_Mint_MIC", MIC_Pickup="WEP_SkinSetPSN03_MAT.woodland_bullpup.Woodland_Bullpup_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=3018, Weapondef=class'KFWeapDef_Bullpup', MIC_1P=("WEP_SkinSetPSN03_MAT.woodland_bullpup.Woodland_Bullpup_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSetPSN03_MAT.woodland_bullpup.Woodland_Bullpup_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSetPSN03_MAT.woodland_bullpup.Woodland_Bullpup_3P_Pickup_MIC"))
|
Skins.Add((Id=3018, Weapondef=class'KFWeapDef_Bullpup', MIC_1P=("WEP_SkinSetPSN03_MAT.woodland_bullpup.Woodland_Bullpup_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSetPSN03_MAT.woodland_bullpup.Woodland_Bullpup_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSetPSN03_MAT.woodland_bullpup.Woodland_Bullpup_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Woodland Scar
|
//Woodland Scar
|
||||||
@ -863,7 +863,7 @@ defaultproperties
|
|||||||
|
|
||||||
//Victorian Double Barrel
|
//Victorian Double Barrel
|
||||||
Skins.Add((Id=4047, Weapondef=class'KFWeapDef_DoubleBarrel', MIC_1P=("WEP_SkinSet06_MAT.victorian_doublebarrel.Victorian_DoubleBarrel_1P_Mint_MIC"), MIC_3P="WEP_SkinSet06_MAT.victorian_doublebarrel.Victorian_DoubleBarrel_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet06_MAT.victorian_doublebarrel.Victorian_DoubleBarrel_3P_Pickup_MIC"))
|
Skins.Add((Id=4047, Weapondef=class'KFWeapDef_DoubleBarrel', MIC_1P=("WEP_SkinSet06_MAT.victorian_doublebarrel.Victorian_DoubleBarrel_1P_Mint_MIC"), MIC_3P="WEP_SkinSet06_MAT.victorian_doublebarrel.Victorian_DoubleBarrel_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet06_MAT.victorian_doublebarrel.Victorian_DoubleBarrel_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4046, Weapondef=class'KFWeapDef_DoubleBarrel', MIC_1P=("WEP_SkinSet06_MAT.victorian_doublebarrel.Victorian_DoubleBarrel_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet06_MAT.victorian_doublebarrel.Victorian_DoubleBarrel_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet06_MAT.victorian_doublebarrel.Victorian_DoubleBarrel_3P_Pickup_MIC"))
|
Skins.Add((Id=4046, Weapondef=class'KFWeapDef_DoubleBarrel', MIC_1P=("WEP_SkinSet06_MAT.victorian_doublebarrel.Victorian_DoubleBarrel_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet06_MAT.victorian_doublebarrel.Victorian_DoubleBarrel_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet06_MAT.victorian_doublebarrel.Victorian_DoubleBarrel_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4045, Weapondef=class'KFWeapDef_DoubleBarrel', MIC_1P=("WEP_SkinSet06_MAT.victorian_doublebarrel.Victorian_DoubleBarrel_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet06_MAT.victorian_doublebarrel.Victorian_DoubleBarrel_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet06_MAT.victorian_doublebarrel.Victorian_DoubleBarrel_3P_Pickup_MIC"))
|
Skins.Add((Id=4045, Weapondef=class'KFWeapDef_DoubleBarrel', MIC_1P=("WEP_SkinSet06_MAT.victorian_doublebarrel.Victorian_DoubleBarrel_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet06_MAT.victorian_doublebarrel.Victorian_DoubleBarrel_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet06_MAT.victorian_doublebarrel.Victorian_DoubleBarrel_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Victorian M4
|
//Victorian M4
|
||||||
@ -920,7 +920,7 @@ defaultproperties
|
|||||||
|
|
||||||
//Tactical AA12
|
//Tactical AA12
|
||||||
Skins.Add((Id=4460, Weapondef=class'KFWeapDef_AA12', MIC_1P=("WEP_SkinSet07_MAT.tactical_aa12.Tactical_AA12_1P_Mint_MIC"), MIC_3P="WEP_SkinSet07_MAT.tactical_aa12.Tactical_AA12_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet07_MAT.tactical_aa12.Tactical_AA12_3P_Pickup_MIC"))
|
Skins.Add((Id=4460, Weapondef=class'KFWeapDef_AA12', MIC_1P=("WEP_SkinSet07_MAT.tactical_aa12.Tactical_AA12_1P_Mint_MIC"), MIC_3P="WEP_SkinSet07_MAT.tactical_aa12.Tactical_AA12_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet07_MAT.tactical_aa12.Tactical_AA12_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4459, Weapondef=class'KFWeapDef_AA12', MIC_1P=("WEP_SkinSet07_MAT.tactical_aa12.Tactical_AA12_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet07_MAT.tactical_aa12.Tactical_AA12_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet07_MAT.tactical_aa12.Tactical_AA12_3P_Pickup_MIC"))
|
Skins.Add((Id=4459, Weapondef=class'KFWeapDef_AA12', MIC_1P=("WEP_SkinSet07_MAT.tactical_aa12.Tactical_AA12_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet07_MAT.tactical_aa12.Tactical_AA12_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet07_MAT.tactical_aa12.Tactical_AA12_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4458, Weapondef=class'KFWeapDef_AA12', MIC_1P=("WEP_SkinSet07_MAT.tactical_aa12.Tactical_AA12_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet07_MAT.tactical_aa12.Tactical_AA12_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet07_MAT.tactical_aa12.Tactical_AA12_3P_Pickup_MIC"))
|
Skins.Add((Id=4458, Weapondef=class'KFWeapDef_AA12', MIC_1P=("WEP_SkinSet07_MAT.tactical_aa12.Tactical_AA12_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet07_MAT.tactical_aa12.Tactical_AA12_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet07_MAT.tactical_aa12.Tactical_AA12_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Tactical AK12
|
//Tactical AK12
|
||||||
@ -980,92 +980,92 @@ defaultproperties
|
|||||||
|
|
||||||
//Deepstrike 9mm
|
//Deepstrike 9mm
|
||||||
Skins.Add((Id=4359, Weapondef=class'KFWeapDef_9mm', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_9mm.Deepstrike_9mm_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_9mm.Deepstrike_9mm_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_9mm.Deepstrike_9mm_3P_Pickup_MIC"))
|
Skins.Add((Id=4359, Weapondef=class'KFWeapDef_9mm', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_9mm.Deepstrike_9mm_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_9mm.Deepstrike_9mm_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_9mm.Deepstrike_9mm_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4358, Weapondef=class'KFWeapDef_9mm', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_9mm.Deepstrike_9mm_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_9mm.Deepstrike_9mm_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_9mm.Deepstrike_9mm_3P_Pickup_MIC"))
|
Skins.Add((Id=4358, Weapondef=class'KFWeapDef_9mm', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_9mm.Deepstrike_9mm_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_9mm.Deepstrike_9mm_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_9mm.Deepstrike_9mm_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4357, Weapondef=class'KFWeapDef_9mm', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_9mm.Deepstrike_9mm_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_9mm.Deepstrike_9mm_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_9mm.Deepstrike_9mm_3P_Pickup_MIC"))
|
Skins.Add((Id=4357, Weapondef=class'KFWeapDef_9mm', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_9mm.Deepstrike_9mm_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_9mm.Deepstrike_9mm_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_9mm.Deepstrike_9mm_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Deepstrike Crossbow
|
//Deepstrike Crossbow
|
||||||
Skins.Add((Id=4362, Weapondef=class'KFWeapDef_Crossbow', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_crossbow.Deepstrike_Crossbow_1P_Mint_MIC", "WEP_SkinSet09_MAT.deepstrike_crossbow.Deepstrike_Crossbow_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_crossbow.Deepstrike_Crossbow_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_crossbow.Deepstrike_Crossbow_3P_Pickup_MIC"))
|
Skins.Add((Id=4362, Weapondef=class'KFWeapDef_Crossbow', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_crossbow.Deepstrike_Crossbow_1P_Mint_MIC", "WEP_SkinSet09_MAT.deepstrike_crossbow.Deepstrike_Crossbow_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_crossbow.Deepstrike_Crossbow_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_crossbow.Deepstrike_Crossbow_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4361, Weapondef=class'KFWeapDef_Crossbow', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_crossbow.Deepstrike_Crossbow_1P_FieldTested_MIC", "WEP_SkinSet09_MAT.deepstrike_crossbow.Deepstrike_Crossbow_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_crossbow.Deepstrike_Crossbow_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_crossbow.Deepstrike_Crossbow_3P_Pickup_MIC"))
|
Skins.Add((Id=4361, Weapondef=class'KFWeapDef_Crossbow', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_crossbow.Deepstrike_Crossbow_1P_FieldTested_MIC", "WEP_SkinSet09_MAT.deepstrike_crossbow.Deepstrike_Crossbow_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_crossbow.Deepstrike_Crossbow_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_crossbow.Deepstrike_Crossbow_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4360, Weapondef=class'KFWeapDef_Crossbow', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_crossbow.Deepstrike_Crossbow_1P_BattleScarred_MIC", "WEP_SkinSet09_MAT.deepstrike_crossbow.Deepstrike_Crossbow_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_crossbow.Deepstrike_Crossbow_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_crossbow.Deepstrike_Crossbow_3P_Pickup_MIC"))
|
Skins.Add((Id=4360, Weapondef=class'KFWeapDef_Crossbow', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_crossbow.Deepstrike_Crossbow_1P_BattleScarred_MIC", "WEP_SkinSet09_MAT.deepstrike_crossbow.Deepstrike_Crossbow_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_crossbow.Deepstrike_Crossbow_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_crossbow.Deepstrike_Crossbow_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Deepstrike Desert Eagle
|
//Deepstrike Desert Eagle
|
||||||
Skins.Add((Id=4365, Weapondef=class'KFWeapDef_Deagle', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_deagle.Deepstrike_Deagle_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_deagle.Deepstrike_Deagle_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_deagle.Deepstrike_Deagle_3P_Pickup_MIC"))
|
Skins.Add((Id=4365, Weapondef=class'KFWeapDef_Deagle', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_deagle.Deepstrike_Deagle_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_deagle.Deepstrike_Deagle_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_deagle.Deepstrike_Deagle_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4364, Weapondef=class'KFWeapDef_Deagle', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_deagle.Deepstrike_Deagle_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_deagle.Deepstrike_Deagle_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_deagle.Deepstrike_Deagle_3P_Pickup_MIC"))
|
Skins.Add((Id=4364, Weapondef=class'KFWeapDef_Deagle', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_deagle.Deepstrike_Deagle_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_deagle.Deepstrike_Deagle_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_deagle.Deepstrike_Deagle_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4363, Weapondef=class'KFWeapDef_Deagle', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_deagle.Deepstrike_Deagle_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_deagle.Deepstrike_Deagle_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_deagle.Deepstrike_Deagle_3P_Pickup_MIC"))
|
Skins.Add((Id=4363, Weapondef=class'KFWeapDef_Deagle', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_deagle.Deepstrike_Deagle_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_deagle.Deepstrike_Deagle_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_deagle.Deepstrike_Deagle_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Deepstrike Winchester 1894
|
//Deepstrike Winchester 1894
|
||||||
Skins.Add((Id=4368, Weapondef=class'KFWeapDef_Winchester1894', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_lar.Deepstrike_LAR_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_lar.Deepstrike_LAR_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_lar.Deepstrike_LAR_3P_Pickup_MIC"))
|
Skins.Add((Id=4368, Weapondef=class'KFWeapDef_Winchester1894', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_lar.Deepstrike_LAR_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_lar.Deepstrike_LAR_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_lar.Deepstrike_LAR_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4367, Weapondef=class'KFWeapDef_Winchester1894', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_lar.Deepstrike_LAR_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_lar.Deepstrike_LAR_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_lar.Deepstrike_LAR_3P_Pickup_MIC"))
|
Skins.Add((Id=4367, Weapondef=class'KFWeapDef_Winchester1894', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_lar.Deepstrike_LAR_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_lar.Deepstrike_LAR_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_lar.Deepstrike_LAR_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4366, Weapondef=class'KFWeapDef_Winchester1894', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_lar.Deepstrike_LAR_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_lar.Deepstrike_LAR_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_lar.Deepstrike_LAR_3P_Pickup_MIC"))
|
Skins.Add((Id=4366, Weapondef=class'KFWeapDef_Winchester1894', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_lar.Deepstrike_LAR_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_lar.Deepstrike_LAR_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_lar.Deepstrike_LAR_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Deepstrike M79
|
//Deepstrike M79
|
||||||
Skins.Add((Id=4371, Weapondef=class'KFWeapDef_M79', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_m79.Deepstrike_M79_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_m79.Deepstrike_M79_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_m79.Deepstrike_M79_3P_Pickup_MIC"))
|
Skins.Add((Id=4371, Weapondef=class'KFWeapDef_M79', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_m79.Deepstrike_M79_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_m79.Deepstrike_M79_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_m79.Deepstrike_M79_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4370, Weapondef=class'KFWeapDef_M79', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_m79.Deepstrike_M79_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_m79.Deepstrike_M79_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_m79.Deepstrike_M79_3P_Pickup_MIC"))
|
Skins.Add((Id=4370, Weapondef=class'KFWeapDef_M79', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_m79.Deepstrike_M79_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_m79.Deepstrike_M79_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_m79.Deepstrike_M79_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4369, Weapondef=class'KFWeapDef_M79', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_m79.Deepstrike_M79_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_m79.Deepstrike_M79_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_m79.Deepstrike_M79_3P_Pickup_MIC"))
|
Skins.Add((Id=4369, Weapondef=class'KFWeapDef_M79', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_m79.Deepstrike_M79_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_m79.Deepstrike_M79_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_m79.Deepstrike_M79_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Deepstrike RPG7
|
//Deepstrike RPG7
|
||||||
Skins.Add((Id=4374, Weapondef=class'KFWeapDef_RPG7', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_rpg7.Deepstrike_RPG7_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_rpg7.Deepstrike_RPG7_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_rpg7.Deepstrike_RPG7_3P_Pickup_MIC"))
|
Skins.Add((Id=4374, Weapondef=class'KFWeapDef_RPG7', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_rpg7.Deepstrike_RPG7_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_rpg7.Deepstrike_RPG7_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_rpg7.Deepstrike_RPG7_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4373, Weapondef=class'KFWeapDef_RPG7', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_rpg7.Deepstrike_RPG7_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_rpg7.Deepstrike_RPG7_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_rpg7.Deepstrike_RPG7_3P_Pickup_MIC"))
|
Skins.Add((Id=4373, Weapondef=class'KFWeapDef_RPG7', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_rpg7.Deepstrike_RPG7_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_rpg7.Deepstrike_RPG7_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_rpg7.Deepstrike_RPG7_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4372, Weapondef=class'KFWeapDef_RPG7', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_rpg7.Deepstrike_RPG7_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_rpg7.Deepstrike_RPG7_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_rpg7.Deepstrike_RPG7_3P_Pickup_MIC"))
|
Skins.Add((Id=4372, Weapondef=class'KFWeapDef_RPG7', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_rpg7.Deepstrike_RPG7_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_rpg7.Deepstrike_RPG7_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_rpg7.Deepstrike_RPG7_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Deepstrike SCAR
|
//Deepstrike SCAR
|
||||||
Skins.Add((Id=4377, Weapondef=class'KFWeapDef_SCAR', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_scar.Deepstrike_SCAR_1P_Mint_MIC", "WEP_SkinSet09_MAT.deepstrike_scar.Deepstrike_SCAR_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_scar.Deepstrike_SCAR_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_scar.Deepstrike_SCAR_3P_Pickup_MIC"))
|
Skins.Add((Id=4377, Weapondef=class'KFWeapDef_SCAR', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_scar.Deepstrike_SCAR_1P_Mint_MIC", "WEP_SkinSet09_MAT.deepstrike_scar.Deepstrike_SCAR_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_scar.Deepstrike_SCAR_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_scar.Deepstrike_SCAR_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4376, Weapondef=class'KFWeapDef_SCAR', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_scar.Deepstrike_SCAR_1P_FieldTested_MIC", "WEP_SkinSet09_MAT.deepstrike_scar.Deepstrike_SCAR_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_scar.Deepstrike_SCAR_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_scar.Deepstrike_SCAR_3P_Pickup_MIC"))
|
Skins.Add((Id=4376, Weapondef=class'KFWeapDef_SCAR', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_scar.Deepstrike_SCAR_1P_FieldTested_MIC", "WEP_SkinSet09_MAT.deepstrike_scar.Deepstrike_SCAR_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_scar.Deepstrike_SCAR_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_scar.Deepstrike_SCAR_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4375, Weapondef=class'KFWeapDef_SCAR', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_scar.Deepstrike_SCAR_1P_BattleScarred_MIC", "WEP_SkinSet09_MAT.deepstrike_scar.Deepstrike_SCAR_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_scar.Deepstrike_SCAR_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_scar.Deepstrike_SCAR_3P_Pickup_MIC"))
|
Skins.Add((Id=4375, Weapondef=class'KFWeapDef_SCAR', MIC_1P=("WEP_SkinSet09_MAT.deepstrike_scar.Deepstrike_SCAR_1P_BattleScarred_MIC", "WEP_SkinSet09_MAT.deepstrike_scar.Deepstrike_SCAR_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.deepstrike_scar.Deepstrike_SCAR_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet09_MAT.deepstrike_scar.Deepstrike_SCAR_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Horzine Elite Blue Kriss
|
//Horzine Elite Blue Kriss
|
||||||
Skins.Add((Id=4572, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet09_MAT.horzineeliteblue_kriss.HorzineEliteBlue_Kriss_1P_Mint_MIC", "WEP_SkinSet09_MAT.horzineeliteblue_kriss.HorzineEliteBlue_Kriss_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.horzineeliteblue_kriss.HorzineEliteBlue_Kriss_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet09_MAT.horzineeliteblue_kriss.HorzineEliteBlue_Kriss_3P_Pickup_MIC"))
|
Skins.Add((Id=4572, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet09_MAT.horzineeliteblue_kriss.HorzineEliteBlue_Kriss_1P_Mint_MIC", "WEP_SkinSet09_MAT.horzineeliteblue_kriss.HorzineEliteBlue_Kriss_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.horzineeliteblue_kriss.HorzineEliteBlue_Kriss_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet09_MAT.horzineeliteblue_kriss.HorzineEliteBlue_Kriss_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4571, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet09_MAT.horzineeliteblue_kriss.HorzineEliteBlue_Kriss_1P_FieldTested_MIC", "WEP_SkinSet09_MAT.horzineeliteblue_kriss.HorzineEliteBlue_Kriss_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.horzineeliteblue_kriss.HorzineEliteBlue_Kriss_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet09_MAT.horzineeliteblue_kriss.HorzineEliteBlue_Kriss_3P_Pickup_MIC"))
|
Skins.Add((Id=4571, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet09_MAT.horzineeliteblue_kriss.HorzineEliteBlue_Kriss_1P_FieldTested_MIC", "WEP_SkinSet09_MAT.horzineeliteblue_kriss.HorzineEliteBlue_Kriss_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.horzineeliteblue_kriss.HorzineEliteBlue_Kriss_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet09_MAT.horzineeliteblue_kriss.HorzineEliteBlue_Kriss_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4570, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet09_MAT.horzineeliteblue_kriss.HorzineEliteBlue_Kriss_1P_BattleScarred_MIC", "WEP_SkinSet09_MAT.horzineeliteblue_kriss.HorzineEliteBlue_Kriss_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.horzineeliteblue_kriss.HorzineEliteBlue_Kriss_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet09_MAT.horzineeliteblue_kriss.HorzineEliteBlue_Kriss_3P_Pickup_MIC"))
|
Skins.Add((Id=4570, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet09_MAT.horzineeliteblue_kriss.HorzineEliteBlue_Kriss_1P_BattleScarred_MIC", "WEP_SkinSet09_MAT.horzineeliteblue_kriss.HorzineEliteBlue_Kriss_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.horzineeliteblue_kriss.HorzineEliteBlue_Kriss_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet09_MAT.horzineeliteblue_kriss.HorzineEliteBlue_Kriss_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Horzine Elite Green Kriss
|
//Horzine Elite Green Kriss
|
||||||
Skins.Add((Id=4575, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet09_MAT.horzineelitegreen_kriss.HorzineEliteGreen_Kriss_1P_Mint_MIC", "WEP_SkinSet09_MAT.horzineelitegreen_kriss.HorzineEliteGreen_Kriss_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.horzineelitegreen_kriss.HorzineEliteGreen_Kriss_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet09_MAT.horzineelitegreen_kriss.HorzineEliteGreen_Kriss_3P_Pickup_MIC"))
|
Skins.Add((Id=4575, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet09_MAT.horzineelitegreen_kriss.HorzineEliteGreen_Kriss_1P_Mint_MIC", "WEP_SkinSet09_MAT.horzineelitegreen_kriss.HorzineEliteGreen_Kriss_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.horzineelitegreen_kriss.HorzineEliteGreen_Kriss_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet09_MAT.horzineelitegreen_kriss.HorzineEliteGreen_Kriss_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4574, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet09_MAT.horzineelitegreen_kriss.HorzineEliteGreen_Kriss_1P_FieldTested_MIC", "WEP_SkinSet09_MAT.horzineelitegreen_kriss.HorzineEliteGreen_Kriss_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.horzineelitegreen_kriss.HorzineEliteGreen_Kriss_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet09_MAT.horzineelitegreen_kriss.HorzineEliteGreen_Kriss_3P_Pickup_MIC"))
|
Skins.Add((Id=4574, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet09_MAT.horzineelitegreen_kriss.HorzineEliteGreen_Kriss_1P_FieldTested_MIC", "WEP_SkinSet09_MAT.horzineelitegreen_kriss.HorzineEliteGreen_Kriss_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.horzineelitegreen_kriss.HorzineEliteGreen_Kriss_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet09_MAT.horzineelitegreen_kriss.HorzineEliteGreen_Kriss_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4573, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet09_MAT.horzineelitegreen_kriss.HorzineEliteGreen_Kriss_1P_BattleScarred_MIC", "WEP_SkinSet09_MAT.horzineelitegreen_kriss.HorzineEliteGreen_Kriss_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.horzineelitegreen_kriss.HorzineEliteGreen_Kriss_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet09_MAT.horzineelitegreen_kriss.HorzineEliteGreen_Kriss_3P_Pickup_MIC"))
|
Skins.Add((Id=4573, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet09_MAT.horzineelitegreen_kriss.HorzineEliteGreen_Kriss_1P_BattleScarred_MIC", "WEP_SkinSet09_MAT.horzineelitegreen_kriss.HorzineEliteGreen_Kriss_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.horzineelitegreen_kriss.HorzineEliteGreen_Kriss_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet09_MAT.horzineelitegreen_kriss.HorzineEliteGreen_Kriss_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Horzine Elite Red Kriss
|
//Horzine Elite Red Kriss
|
||||||
Skins.Add((Id=4578, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet09_MAT.horzineelitered_kriss.HorzineEliteRed_Kriss_1P_Mint_MIC", "WEP_SkinSet09_MAT.horzineelitered_kriss.HorzineEliteRed_Kriss_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.horzineelitered_kriss.HorzineEliteRed_Kriss_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet09_MAT.horzineelitered_kriss.HorzineEliteRed_Kriss_3P_Pickup_MIC"))
|
Skins.Add((Id=4578, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet09_MAT.horzineelitered_kriss.HorzineEliteRed_Kriss_1P_Mint_MIC", "WEP_SkinSet09_MAT.horzineelitered_kriss.HorzineEliteRed_Kriss_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.horzineelitered_kriss.HorzineEliteRed_Kriss_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet09_MAT.horzineelitered_kriss.HorzineEliteRed_Kriss_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4577, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet09_MAT.horzineelitered_kriss.HorzineEliteRed_Kriss_1P_FieldTested_MIC", "WEP_SkinSet09_MAT.horzineelitered_kriss.HorzineEliteRed_Kriss_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.horzineelitered_kriss.HorzineEliteRed_Kriss_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet09_MAT.horzineelitered_kriss.HorzineEliteRed_Kriss_3P_Pickup_MIC"))
|
Skins.Add((Id=4577, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet09_MAT.horzineelitered_kriss.HorzineEliteRed_Kriss_1P_FieldTested_MIC", "WEP_SkinSet09_MAT.horzineelitered_kriss.HorzineEliteRed_Kriss_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.horzineelitered_kriss.HorzineEliteRed_Kriss_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet09_MAT.horzineelitered_kriss.HorzineEliteRed_Kriss_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4576, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet09_MAT.horzineelitered_kriss.HorzineEliteRed_Kriss_1P_BattleScarred_MIC", "WEP_SkinSet09_MAT.horzineelitered_kriss.HorzineEliteRed_Kriss_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.horzineelitered_kriss.HorzineEliteRed_Kriss_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet09_MAT.horzineelitered_kriss.HorzineEliteRed_Kriss_3P_Pickup_MIC"))
|
Skins.Add((Id=4576, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet09_MAT.horzineelitered_kriss.HorzineEliteRed_Kriss_1P_BattleScarred_MIC", "WEP_SkinSet09_MAT.horzineelitered_kriss.HorzineEliteRed_Kriss_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.horzineelitered_kriss.HorzineEliteRed_Kriss_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet09_MAT.horzineelitered_kriss.HorzineEliteRed_Kriss_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Horzine Elite White Kriss
|
//Horzine Elite White Kriss
|
||||||
Skins.Add((Id=4581, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet09_MAT.horzineelitewhite_kriss.HorzineEliteWhite_Kriss_1P_Mint_MIC", "WEP_SkinSet09_MAT.horzineelitewhite_kriss.HorzineEliteWhite_Kriss_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.horzineelitewhite_kriss.HorzineEliteWhite_Kriss_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet09_MAT.horzineelitewhite_kriss.HorzineEliteWhite_Kriss_3P_Pickup_MIC"))
|
Skins.Add((Id=4581, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet09_MAT.horzineelitewhite_kriss.HorzineEliteWhite_Kriss_1P_Mint_MIC", "WEP_SkinSet09_MAT.horzineelitewhite_kriss.HorzineEliteWhite_Kriss_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.horzineelitewhite_kriss.HorzineEliteWhite_Kriss_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet09_MAT.horzineelitewhite_kriss.HorzineEliteWhite_Kriss_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4580, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet09_MAT.horzineelitewhite_kriss.HorzineEliteWhite_Kriss_1P_FieldTested_MIC", "WEP_SkinSet09_MAT.horzineelitewhite_kriss.HorzineEliteWhite_Kriss_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.horzineelitewhite_kriss.HorzineEliteWhite_Kriss_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet09_MAT.horzineelitewhite_kriss.HorzineEliteWhite_Kriss_3P_Pickup_MIC"))
|
Skins.Add((Id=4580, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet09_MAT.horzineelitewhite_kriss.HorzineEliteWhite_Kriss_1P_FieldTested_MIC", "WEP_SkinSet09_MAT.horzineelitewhite_kriss.HorzineEliteWhite_Kriss_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.horzineelitewhite_kriss.HorzineEliteWhite_Kriss_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet09_MAT.horzineelitewhite_kriss.HorzineEliteWhite_Kriss_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4579, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet09_MAT.horzineelitewhite_kriss.HorzineEliteWhite_Kriss_1P_BattleScarred_MIC", "WEP_SkinSet09_MAT.horzineelitewhite_kriss.HorzineEliteWhite_Kriss_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.horzineelitewhite_kriss.HorzineEliteWhite_Kriss_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet09_MAT.horzineelitewhite_kriss.HorzineEliteWhite_Kriss_3P_Pickup_MIC"))
|
Skins.Add((Id=4579, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet09_MAT.horzineelitewhite_kriss.HorzineEliteWhite_Kriss_1P_BattleScarred_MIC", "WEP_SkinSet09_MAT.horzineelitewhite_kriss.HorzineEliteWhite_Kriss_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet09_MAT.horzineelitewhite_kriss.HorzineEliteWhite_Kriss_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet09_MAT.horzineelitewhite_kriss.HorzineEliteWhite_Kriss_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Industrial Crossbow
|
//Industrial Crossbow
|
||||||
Skins.Add((Id=4720, Weapondef=class'KFWeapDef_Crossbow', MIC_1P=("WEP_SkinSet10_MAT.industrial_crossbow.Industrial_Crossbow_1P_Mint_MIC", "WEP_SkinSet10_MAT.industrial_crossbow.Industrial_Crossbow_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_crossbow.Industrial_Crossbow_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_crossbow.Industrial_Crossbow_3P_Pickup_MIC"))
|
Skins.Add((Id=4720, Weapondef=class'KFWeapDef_Crossbow', MIC_1P=("WEP_SkinSet10_MAT.industrial_crossbow.Industrial_Crossbow_1P_Mint_MIC", "WEP_SkinSet10_MAT.industrial_crossbow.Industrial_Crossbow_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_crossbow.Industrial_Crossbow_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_crossbow.Industrial_Crossbow_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4719, Weapondef=class'KFWeapDef_Crossbow', MIC_1P=("WEP_SkinSet10_MAT.industrial_crossbow.Industrial_Crossbow_1P_FieldTested_MIC", "WEP_SkinSet10_MAT.industrial_crossbow.Industrial_Crossbow_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_crossbow.Industrial_Crossbow_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_crossbow.Industrial_Crossbow_3P_Pickup_MIC"))
|
Skins.Add((Id=4719, Weapondef=class'KFWeapDef_Crossbow', MIC_1P=("WEP_SkinSet10_MAT.industrial_crossbow.Industrial_Crossbow_1P_FieldTested_MIC", "WEP_SkinSet10_MAT.industrial_crossbow.Industrial_Crossbow_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_crossbow.Industrial_Crossbow_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_crossbow.Industrial_Crossbow_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4718, Weapondef=class'KFWeapDef_Crossbow', MIC_1P=("WEP_SkinSet10_MAT.industrial_crossbow.Industrial_Crossbow_1P_BattleScarred_MIC", "WEP_SkinSet10_MAT.industrial_crossbow.Industrial_Crossbow_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_crossbow.Industrial_Crossbow_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_crossbow.Industrial_Crossbow_3P_Pickup_MIC"))
|
Skins.Add((Id=4718, Weapondef=class'KFWeapDef_Crossbow', MIC_1P=("WEP_SkinSet10_MAT.industrial_crossbow.Industrial_Crossbow_1P_BattleScarred_MIC", "WEP_SkinSet10_MAT.industrial_crossbow.Industrial_Crossbow_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_crossbow.Industrial_Crossbow_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_crossbow.Industrial_Crossbow_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Shredder (Industrial) Kriss
|
//Shredder (Industrial) Kriss
|
||||||
Skins.Add((Id=4723, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet10_MAT.industrial_kriss.Industrial_Kriss_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_kriss.Industrial_Kriss_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_kriss.Industrial_Kriss_3P_Pickup_MIC"))
|
Skins.Add((Id=4723, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet10_MAT.industrial_kriss.Industrial_Kriss_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_kriss.Industrial_Kriss_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_kriss.Industrial_Kriss_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4722, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet10_MAT.industrial_kriss.Industrial_Kriss_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_kriss.Industrial_Kriss_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_kriss.Industrial_Kriss_3P_Pickup_MIC"))
|
Skins.Add((Id=4722, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet10_MAT.industrial_kriss.Industrial_Kriss_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_kriss.Industrial_Kriss_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_kriss.Industrial_Kriss_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4721, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet10_MAT.industrial_kriss.Industrial_Kriss_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_kriss.Industrial_Kriss_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_kriss.Industrial_Kriss_3P_Pickup_MIC"))
|
Skins.Add((Id=4721, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet10_MAT.industrial_kriss.Industrial_Kriss_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_kriss.Industrial_Kriss_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_kriss.Industrial_Kriss_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Industrial M14EBR
|
//Industrial M14EBR
|
||||||
Skins.Add((Id=4726, Weapondef=class'KFWeapDef_M14EBR', MIC_1P=("WEP_SkinSet10_MAT.industrial_m14ebr.Industrial_M14EBR_1P_Mint_MIC", "WEP_SkinSet10_MAT.industrial_m14ebr.Industrial_M14EBR_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_m14ebr.Industrial_M14EBR_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_m14ebr.Industrial_M14EBR_3P_Pickup_MIC"))
|
Skins.Add((Id=4726, Weapondef=class'KFWeapDef_M14EBR', MIC_1P=("WEP_SkinSet10_MAT.industrial_m14ebr.Industrial_M14EBR_1P_Mint_MIC", "WEP_SkinSet10_MAT.industrial_m14ebr.Industrial_M14EBR_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_m14ebr.Industrial_M14EBR_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_m14ebr.Industrial_M14EBR_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4725, Weapondef=class'KFWeapDef_M14EBR', MIC_1P=("WEP_SkinSet10_MAT.industrial_m14ebr.Industrial_M14EBR_1P_FieldTested_MIC", "WEP_SkinSet10_MAT.industrial_m14ebr.Industrial_M14EBR_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_m14ebr.Industrial_M14EBR_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_m14ebr.Industrial_M14EBR_3P_Pickup_MIC"))
|
Skins.Add((Id=4725, Weapondef=class'KFWeapDef_M14EBR', MIC_1P=("WEP_SkinSet10_MAT.industrial_m14ebr.Industrial_M14EBR_1P_FieldTested_MIC", "WEP_SkinSet10_MAT.industrial_m14ebr.Industrial_M14EBR_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_m14ebr.Industrial_M14EBR_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_m14ebr.Industrial_M14EBR_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4724, Weapondef=class'KFWeapDef_M14EBR', MIC_1P=("WEP_SkinSet10_MAT.industrial_m14ebr.Industrial_M14EBR_1P_BattleScarred_MIC", "WEP_SkinSet10_MAT.industrial_m14ebr.Industrial_M14EBR_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_m14ebr.Industrial_M14EBR_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_m14ebr.Industrial_M14EBR_3P_Pickup_MIC"))
|
Skins.Add((Id=4724, Weapondef=class'KFWeapDef_M14EBR', MIC_1P=("WEP_SkinSet10_MAT.industrial_m14ebr.Industrial_M14EBR_1P_BattleScarred_MIC", "WEP_SkinSet10_MAT.industrial_m14ebr.Industrial_M14EBR_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_m14ebr.Industrial_M14EBR_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_m14ebr.Industrial_M14EBR_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Industrial MP5RAS
|
//Industrial MP5RAS
|
||||||
Skins.Add((Id=4729, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet10_MAT.industrial_mp5ras.Industrial_MP5RAS_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_mp5ras.Industrial_MP5RAS_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_mp5ras.Industrial_MP5RAS_3P_Pickup_MIC"))
|
Skins.Add((Id=4729, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet10_MAT.industrial_mp5ras.Industrial_MP5RAS_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_mp5ras.Industrial_MP5RAS_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_mp5ras.Industrial_MP5RAS_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4728, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet10_MAT.industrial_mp5ras.Industrial_MP5RAS_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_mp5ras.Industrial_MP5RAS_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_mp5ras.Industrial_MP5RAS_3P_Pickup_MIC"))
|
Skins.Add((Id=4728, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet10_MAT.industrial_mp5ras.Industrial_MP5RAS_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_mp5ras.Industrial_MP5RAS_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_mp5ras.Industrial_MP5RAS_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4727, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet10_MAT.industrial_mp5ras.Industrial_MP5RAS_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_mp5ras.Industrial_MP5RAS_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_mp5ras.Industrial_MP5RAS_3P_Pickup_MIC"))
|
Skins.Add((Id=4727, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet10_MAT.industrial_mp5ras.Industrial_MP5RAS_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_mp5ras.Industrial_MP5RAS_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_mp5ras.Industrial_MP5RAS_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Jackhammer (Industrial) MP7
|
//Jackhammer (Industrial) MP7
|
||||||
Skins.Add((Id=4732, Weapondef=class'KFWeapDef_MP7', MIC_1P=("WEP_SkinSet10_MAT.industrial_mp7.Industrial_MP7_1P_Mint_MIC", "WEP_SkinSet10_MAT.industrial_mp7.Industrial_MP7_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_mp7.Industrial_MP7_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_mp7.Industrial_MP7_3P_Pickup_MIC"))
|
Skins.Add((Id=4732, Weapondef=class'KFWeapDef_MP7', MIC_1P=("WEP_SkinSet10_MAT.industrial_mp7.Industrial_MP7_1P_Mint_MIC", "WEP_SkinSet10_MAT.industrial_mp7.Industrial_MP7_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_mp7.Industrial_MP7_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_mp7.Industrial_MP7_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4731, Weapondef=class'KFWeapDef_MP7', MIC_1P=("WEP_SkinSet10_MAT.industrial_mp7.Industrial_MP7_1P_FieldTested_MIC", "WEP_SkinSet10_MAT.industrial_mp7.Industrial_MP7_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_mp7.Industrial_MP7_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_mp7.Industrial_MP7_3P_Pickup_MIC"))
|
Skins.Add((Id=4731, Weapondef=class'KFWeapDef_MP7', MIC_1P=("WEP_SkinSet10_MAT.industrial_mp7.Industrial_MP7_1P_FieldTested_MIC", "WEP_SkinSet10_MAT.industrial_mp7.Industrial_MP7_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_mp7.Industrial_MP7_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_mp7.Industrial_MP7_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4730, Weapondef=class'KFWeapDef_MP7', MIC_1P=("WEP_SkinSet10_MAT.industrial_mp7.Industrial_MP7_1P_BattleScarred_MIC", "WEP_SkinSet10_MAT.industrial_mp7.Industrial_MP7_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_mp7.Industrial_MP7_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_mp7.Industrial_MP7_3P_Pickup_MIC"))
|
Skins.Add((Id=4730, Weapondef=class'KFWeapDef_MP7', MIC_1P=("WEP_SkinSet10_MAT.industrial_mp7.Industrial_MP7_1P_BattleScarred_MIC", "WEP_SkinSet10_MAT.industrial_mp7.Industrial_MP7_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_mp7.Industrial_MP7_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_mp7.Industrial_MP7_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Buzzsaw (Industrial) P90
|
//Buzzsaw (Industrial) P90
|
||||||
Skins.Add((Id=4735, Weapondef=class'KFWeapDef_P90', MIC_1P=("WEP_SkinSet10_MAT.industrial_p90.Industrial_P90_1P_Mint_MIC", "WEP_SkinSet10_MAT.industrial_p90.Industrial_P90_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_p90.Industrial_P90_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_p90.Industrial_P90_3P_Pickup_MIC"))
|
Skins.Add((Id=4735, Weapondef=class'KFWeapDef_P90', MIC_1P=("WEP_SkinSet10_MAT.industrial_p90.Industrial_P90_1P_Mint_MIC", "WEP_SkinSet10_MAT.industrial_p90.Industrial_P90_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_p90.Industrial_P90_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_p90.Industrial_P90_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4734, Weapondef=class'KFWeapDef_P90', MIC_1P=("WEP_SkinSet10_MAT.industrial_p90.Industrial_P90_1P_FieldTested_MIC", "WEP_SkinSet10_MAT.industrial_p90.Industrial_P90_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_p90.Industrial_P90_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_p90.Industrial_P90_3P_Pickup_MIC"))
|
Skins.Add((Id=4734, Weapondef=class'KFWeapDef_P90', MIC_1P=("WEP_SkinSet10_MAT.industrial_p90.Industrial_P90_1P_FieldTested_MIC", "WEP_SkinSet10_MAT.industrial_p90.Industrial_P90_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_p90.Industrial_P90_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_p90.Industrial_P90_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4733, Weapondef=class'KFWeapDef_P90', MIC_1P=("WEP_SkinSet10_MAT.industrial_p90.Industrial_P90_1P_BattleScarred_MIC", "WEP_SkinSet10_MAT.industrial_p90.Industrial_P90_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_p90.Industrial_P90_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_p90.Industrial_P90_3P_Pickup_MIC"))
|
Skins.Add((Id=4733, Weapondef=class'KFWeapDef_P90', MIC_1P=("WEP_SkinSet10_MAT.industrial_p90.Industrial_P90_1P_BattleScarred_MIC", "WEP_SkinSet10_MAT.industrial_p90.Industrial_P90_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_p90.Industrial_P90_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_p90.Industrial_P90_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//High Voltage (Industrial) Railgun
|
//High Voltage (Industrial) Railgun
|
||||||
Skins.Add((Id=4738, Weapondef=class'KFWeapDef_RailGun', MIC_1P=("WEP_SkinSet10_MAT.industrial_railgun.Industrial_RailGun_1P_Mint_MIC", "WEP_SkinSet10_MAT.industrial_railgun.Industrial_RailGun_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_railgun.Industrial_RailGun_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_railgun.Industrial_RailGun_3P_Pickup_MIC"))
|
Skins.Add((Id=4738, Weapondef=class'KFWeapDef_RailGun', MIC_1P=("WEP_SkinSet10_MAT.industrial_railgun.Industrial_RailGun_1P_Mint_MIC", "WEP_SkinSet10_MAT.industrial_railgun.Industrial_RailGun_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_railgun.Industrial_RailGun_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_railgun.Industrial_RailGun_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4737, Weapondef=class'KFWeapDef_RailGun', MIC_1P=("WEP_SkinSet10_MAT.industrial_railgun.Industrial_RailGun_1P_FieldTested_MIC", "WEP_SkinSet10_MAT.industrial_railgun.Industrial_RailGun_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_railgun.Industrial_RailGun_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_railgun.Industrial_RailGun_3P_Pickup_MIC"))
|
Skins.Add((Id=4737, Weapondef=class'KFWeapDef_RailGun', MIC_1P=("WEP_SkinSet10_MAT.industrial_railgun.Industrial_RailGun_1P_FieldTested_MIC", "WEP_SkinSet10_MAT.industrial_railgun.Industrial_RailGun_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_railgun.Industrial_RailGun_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_railgun.Industrial_RailGun_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4736, Weapondef=class'KFWeapDef_RailGun', MIC_1P=("WEP_SkinSet10_MAT.industrial_railgun.Industrial_RailGun_1P_BattleScarred_MIC", "WEP_SkinSet10_MAT.industrial_railgun.Industrial_RailGun_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_railgun.Industrial_RailGun_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_railgun.Industrial_RailGun_3P_Pickup_MIC"))
|
Skins.Add((Id=4736, Weapondef=class'KFWeapDef_RailGun', MIC_1P=("WEP_SkinSet10_MAT.industrial_railgun.Industrial_RailGun_1P_BattleScarred_MIC", "WEP_SkinSet10_MAT.industrial_railgun.Industrial_RailGun_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet10_MAT.industrial_railgun.Industrial_RailGun_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet10_MAT.industrial_railgun.Industrial_RailGun_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Industrial SW500
|
//Industrial SW500
|
||||||
@ -1107,7 +1107,7 @@ defaultproperties
|
|||||||
Skins.Add((Id=4815, Weapondef=class'KFWeapDef_FlareGun', MIC_1P=("WEP_SkinSet11_MAT.flamered_flaregun.FlameRed_FlareGun_1P_Mint_MIC"), MIC_3P="WEP_SkinSet11_MAT.flamered_flaregun.FlameRed_FlareGun_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet11_MAT.flamered_flaregun.FlameRed_FlareGun_3P_Pickup_MIC"))
|
Skins.Add((Id=4815, Weapondef=class'KFWeapDef_FlareGun', MIC_1P=("WEP_SkinSet11_MAT.flamered_flaregun.FlameRed_FlareGun_1P_Mint_MIC"), MIC_3P="WEP_SkinSet11_MAT.flamered_flaregun.FlameRed_FlareGun_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet11_MAT.flamered_flaregun.FlameRed_FlareGun_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4814, Weapondef=class'KFWeapDef_FlareGun', MIC_1P=("WEP_SkinSet11_MAT.flamered_flaregun.FlameRed_FlareGun_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet11_MAT.flamered_flaregun.FlameRed_FlareGun_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet11_MAT.flamered_flaregun.FlameRed_FlareGun_3P_Pickup_MIC"))
|
Skins.Add((Id=4814, Weapondef=class'KFWeapDef_FlareGun', MIC_1P=("WEP_SkinSet11_MAT.flamered_flaregun.FlameRed_FlareGun_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet11_MAT.flamered_flaregun.FlameRed_FlareGun_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet11_MAT.flamered_flaregun.FlameRed_FlareGun_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4813, Weapondef=class'KFWeapDef_FlareGun', MIC_1P=("WEP_SkinSet11_MAT.flamered_flaregun.FlameRed_FlareGun_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet11_MAT.flamered_flaregun.FlameRed_FlareGun_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet11_MAT.flamered_flaregun.FlameRed_FlareGun_3P_Pickup_MIC"))
|
Skins.Add((Id=4813, Weapondef=class'KFWeapDef_FlareGun', MIC_1P=("WEP_SkinSet11_MAT.flamered_flaregun.FlameRed_FlareGun_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet11_MAT.flamered_flaregun.FlameRed_FlareGun_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet11_MAT.flamered_flaregun.FlameRed_FlareGun_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Vietnam AK12
|
//Vietnam AK12
|
||||||
Skins.Add((Id=4970, Weapondef=class'KFWeapDef_Ak12', MIC_1P=("WEP_SkinSet12_MAT.vietnam_ak12.Vietnam_AK12_1P_Mint_MIC", "WEP_SkinSet12_MAT.vietnam_ak12.Vietnam_AK12_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet12_MAT.vietnam_ak12.Vietnam_AK12_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet12_MAT.vietnam_ak12.Vietnam_AK12_3P_Pickup_MIC"))
|
Skins.Add((Id=4970, Weapondef=class'KFWeapDef_Ak12', MIC_1P=("WEP_SkinSet12_MAT.vietnam_ak12.Vietnam_AK12_1P_Mint_MIC", "WEP_SkinSet12_MAT.vietnam_ak12.Vietnam_AK12_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet12_MAT.vietnam_ak12.Vietnam_AK12_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet12_MAT.vietnam_ak12.Vietnam_AK12_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4969, Weapondef=class'KFWeapDef_Ak12', MIC_1P=("WEP_SkinSet12_MAT.vietnam_ak12.Vietnam_AK12_1P_FieldTested_MIC", "WEP_SkinSet12_MAT.vietnam_ak12.Vietnam_AK12_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet12_MAT.vietnam_ak12.Vietnam_AK12_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet12_MAT.vietnam_ak12.Vietnam_AK12_3P_Pickup_MIC"))
|
Skins.Add((Id=4969, Weapondef=class'KFWeapDef_Ak12', MIC_1P=("WEP_SkinSet12_MAT.vietnam_ak12.Vietnam_AK12_1P_FieldTested_MIC", "WEP_SkinSet12_MAT.vietnam_ak12.Vietnam_AK12_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet12_MAT.vietnam_ak12.Vietnam_AK12_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet12_MAT.vietnam_ak12.Vietnam_AK12_3P_Pickup_MIC"))
|
||||||
@ -1162,7 +1162,7 @@ defaultproperties
|
|||||||
|
|
||||||
//Junkyard AA12
|
//Junkyard AA12
|
||||||
Skins.Add((Id=4614, Weapondef=class'KFWeapDef_AA12', MIC_1P=("WEP_SkinSet13_MAT.junkyard_aa12.Junkyard_AA12_1P_Mint_MIC"), MIC_3P="WEP_SkinSet13_MAT.junkyard_aa12.Junkyard_AA12_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet13_MAT.junkyard_aa12.Junkyard_AA12_3P_Pickup_MIC"))
|
Skins.Add((Id=4614, Weapondef=class'KFWeapDef_AA12', MIC_1P=("WEP_SkinSet13_MAT.junkyard_aa12.Junkyard_AA12_1P_Mint_MIC"), MIC_3P="WEP_SkinSet13_MAT.junkyard_aa12.Junkyard_AA12_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet13_MAT.junkyard_aa12.Junkyard_AA12_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4613, Weapondef=class'KFWeapDef_AA12', MIC_1P=("WEP_SkinSet13_MAT.junkyard_aa12.Junkyard_AA12_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet13_MAT.junkyard_aa12.Junkyard_AA12_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet13_MAT.junkyard_aa12.Junkyard_AA12_3P_Pickup_MIC"))
|
Skins.Add((Id=4613, Weapondef=class'KFWeapDef_AA12', MIC_1P=("WEP_SkinSet13_MAT.junkyard_aa12.Junkyard_AA12_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet13_MAT.junkyard_aa12.Junkyard_AA12_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet13_MAT.junkyard_aa12.Junkyard_AA12_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4612, Weapondef=class'KFWeapDef_AA12', MIC_1P=("WEP_SkinSet13_MAT.junkyard_aa12.Junkyard_AA12_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet13_MAT.junkyard_aa12.Junkyard_AA12_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet13_MAT.junkyard_aa12.Junkyard_AA12_3P_Pickup_MIC"))
|
Skins.Add((Id=4612, Weapondef=class'KFWeapDef_AA12', MIC_1P=("WEP_SkinSet13_MAT.junkyard_aa12.Junkyard_AA12_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet13_MAT.junkyard_aa12.Junkyard_AA12_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet13_MAT.junkyard_aa12.Junkyard_AA12_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Junkyard AK12
|
//Junkyard AK12
|
||||||
@ -1192,12 +1192,12 @@ defaultproperties
|
|||||||
|
|
||||||
//Junkyard M4
|
//Junkyard M4
|
||||||
Skins.Add((Id=4626, Weapondef=class'KFWeapDef_M4', MIC_1P=("WEP_SkinSet13_MAT.junkyard_m4.Junkyard_M4_1P_Mint_MIC"), MIC_3P="WEP_SkinSet13_MAT.junkyard_m4.Junkyard_M4_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet13_MAT.junkyard_m4.Junkyard_M4_3P_Pickup_MIC"))
|
Skins.Add((Id=4626, Weapondef=class'KFWeapDef_M4', MIC_1P=("WEP_SkinSet13_MAT.junkyard_m4.Junkyard_M4_1P_Mint_MIC"), MIC_3P="WEP_SkinSet13_MAT.junkyard_m4.Junkyard_M4_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet13_MAT.junkyard_m4.Junkyard_M4_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4625, Weapondef=class'KFWeapDef_M4', MIC_1P=("WEP_SkinSet13_MAT.junkyard_m4.Junkyard_M4_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet13_MAT.junkyard_m4.Junkyard_M4_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet13_MAT.junkyard_m4.Junkyard_M4_3P_Pickup_MIC"))
|
Skins.Add((Id=4625, Weapondef=class'KFWeapDef_M4', MIC_1P=("WEP_SkinSet13_MAT.junkyard_m4.Junkyard_M4_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet13_MAT.junkyard_m4.Junkyard_M4_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet13_MAT.junkyard_m4.Junkyard_M4_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4624, Weapondef=class'KFWeapDef_M4', MIC_1P=("WEP_SkinSet13_MAT.junkyard_m4.Junkyard_M4_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet13_MAT.junkyard_m4.Junkyard_M4_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet13_MAT.junkyard_m4.Junkyard_M4_3P_Pickup_MIC"))
|
Skins.Add((Id=4624, Weapondef=class'KFWeapDef_M4', MIC_1P=("WEP_SkinSet13_MAT.junkyard_m4.Junkyard_M4_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet13_MAT.junkyard_m4.Junkyard_M4_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet13_MAT.junkyard_m4.Junkyard_M4_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Junkyard MP5RAS
|
//Junkyard MP5RAS
|
||||||
Skins.Add((Id=4629, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet13_MAT.junkyard_mp5ras.Junkyard_MP5RAS_1P_Mint_MIC"), MIC_3P="WEP_SkinSet13_MAT.junkyard_mp5ras.Junkyard_MP5RAS_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet13_MAT.junkyard_mp5ras.Junkyard_MP5RAS_3P_Pickup_MIC"))
|
Skins.Add((Id=4629, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet13_MAT.junkyard_mp5ras.Junkyard_MP5RAS_1P_Mint_MIC"), MIC_3P="WEP_SkinSet13_MAT.junkyard_mp5ras.Junkyard_MP5RAS_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet13_MAT.junkyard_mp5ras.Junkyard_MP5RAS_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4628, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet13_MAT.junkyard_mp5ras.Junkyard_MP5RAS_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet13_MAT.junkyard_mp5ras.Junkyard_MP5RAS_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet13_MAT.junkyard_mp5ras.Junkyard_MP5RAS_3P_Pickup_MIC"))
|
Skins.Add((Id=4628, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet13_MAT.junkyard_mp5ras.Junkyard_MP5RAS_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet13_MAT.junkyard_mp5ras.Junkyard_MP5RAS_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet13_MAT.junkyard_mp5ras.Junkyard_MP5RAS_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4627, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet13_MAT.junkyard_mp5ras.Junkyard_MP5RAS_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet13_MAT.junkyard_mp5ras.Junkyard_MP5RAS_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet13_MAT.junkyard_mp5ras.Junkyard_MP5RAS_3P_Pickup_MIC"))
|
Skins.Add((Id=4627, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet13_MAT.junkyard_mp5ras.Junkyard_MP5RAS_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet13_MAT.junkyard_mp5ras.Junkyard_MP5RAS_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet13_MAT.junkyard_mp5ras.Junkyard_MP5RAS_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Junkyard SCAR
|
//Junkyard SCAR
|
||||||
@ -1207,7 +1207,7 @@ defaultproperties
|
|||||||
|
|
||||||
//Junkyard Winchester 1894
|
//Junkyard Winchester 1894
|
||||||
Skins.Add((Id=4635, Weapondef=class'KFWeapDef_Winchester1894', MIC_1P=("WEP_SkinSet13_MAT.junkyard_winchester1894.Junkyard_Winchester1894_1P_Mint_MIC"), MIC_3P="WEP_SkinSet13_MAT.junkyard_winchester1894.Junkyard_Winchester1894_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet13_MAT.junkyard_winchester1894.Junkyard_Winchester1894_3P_Pickup_MIC"))
|
Skins.Add((Id=4635, Weapondef=class'KFWeapDef_Winchester1894', MIC_1P=("WEP_SkinSet13_MAT.junkyard_winchester1894.Junkyard_Winchester1894_1P_Mint_MIC"), MIC_3P="WEP_SkinSet13_MAT.junkyard_winchester1894.Junkyard_Winchester1894_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet13_MAT.junkyard_winchester1894.Junkyard_Winchester1894_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4634, Weapondef=class'KFWeapDef_Winchester1894', MIC_1P=("WEP_SkinSet13_MAT.junkyard_winchester1894.Junkyard_Winchester1894_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet13_MAT.junkyard_winchester1894.Junkyard_Winchester1894_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet13_MAT.junkyard_winchester1894.Junkyard_Winchester1894_3P_Pickup_MIC"))
|
Skins.Add((Id=4634, Weapondef=class'KFWeapDef_Winchester1894', MIC_1P=("WEP_SkinSet13_MAT.junkyard_winchester1894.Junkyard_Winchester1894_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet13_MAT.junkyard_winchester1894.Junkyard_Winchester1894_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet13_MAT.junkyard_winchester1894.Junkyard_Winchester1894_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=4633, Weapondef=class'KFWeapDef_Winchester1894', MIC_1P=("WEP_SkinSet13_MAT.junkyard_winchester1894.Junkyard_Winchester1894_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet13_MAT.junkyard_winchester1894.Junkyard_Winchester1894_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet13_MAT.junkyard_winchester1894.Junkyard_Winchester1894_3P_Pickup_MIC"))
|
Skins.Add((Id=4633, Weapondef=class'KFWeapDef_Winchester1894', MIC_1P=("WEP_SkinSet13_MAT.junkyard_winchester1894.Junkyard_Winchester1894_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet13_MAT.junkyard_winchester1894.Junkyard_Winchester1894_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet13_MAT.junkyard_winchester1894.Junkyard_Winchester1894_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Headshot Weekly Centerfire
|
//Headshot Weekly Centerfire
|
||||||
@ -1215,117 +1215,117 @@ defaultproperties
|
|||||||
|
|
||||||
//Horzine Elite White MP5RAS
|
//Horzine Elite White MP5RAS
|
||||||
Skins.Add((Id=5033, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineelitewhite_mp5ras.HorzineEliteWhite_MP5RAS_1P_Mint_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineelitewhite_mp5ras.HorzineEliteWhite_MP5RAS_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineelitewhite_mp5ras.HorzineEliteWhite_MP5RAS_3P_Pickup_MIC"))
|
Skins.Add((Id=5033, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineelitewhite_mp5ras.HorzineEliteWhite_MP5RAS_1P_Mint_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineelitewhite_mp5ras.HorzineEliteWhite_MP5RAS_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineelitewhite_mp5ras.HorzineEliteWhite_MP5RAS_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5032, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineelitewhite_mp5ras.HorzineEliteWhite_MP5RAS_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineelitewhite_mp5ras.HorzineEliteWhite_MP5RAS_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineelitewhite_mp5ras.HorzineEliteWhite_MP5RAS_3P_Pickup_MIC"))
|
Skins.Add((Id=5032, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineelitewhite_mp5ras.HorzineEliteWhite_MP5RAS_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineelitewhite_mp5ras.HorzineEliteWhite_MP5RAS_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineelitewhite_mp5ras.HorzineEliteWhite_MP5RAS_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5031, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineelitewhite_mp5ras.HorzineEliteWhite_MP5RAS_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineelitewhite_mp5ras.HorzineEliteWhite_MP5RAS_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineelitewhite_mp5ras.HorzineEliteWhite_MP5RAS_3P_Pickup_MIC"))
|
Skins.Add((Id=5031, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineelitewhite_mp5ras.HorzineEliteWhite_MP5RAS_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineelitewhite_mp5ras.HorzineEliteWhite_MP5RAS_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineelitewhite_mp5ras.HorzineEliteWhite_MP5RAS_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Horzine Elite Black MP5RAS
|
//Horzine Elite Black MP5RAS
|
||||||
Skins.Add((Id=5036, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineeliteblack_mp5ras.HorzineEliteBlack_MP5RAS_1P_Mint_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineeliteblack_mp5ras.HorzineEliteBlack_MP5RAS_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineeliteblack_mp5ras.HorzineEliteBlack_MP5RAS_3P_Pickup_MIC"))
|
Skins.Add((Id=5036, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineeliteblack_mp5ras.HorzineEliteBlack_MP5RAS_1P_Mint_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineeliteblack_mp5ras.HorzineEliteBlack_MP5RAS_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineeliteblack_mp5ras.HorzineEliteBlack_MP5RAS_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5035, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineeliteblack_mp5ras.HorzineEliteBlack_MP5RAS_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineeliteblack_mp5ras.HorzineEliteBlack_MP5RAS_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineeliteblack_mp5ras.HorzineEliteBlack_MP5RAS_3P_Pickup_MIC"))
|
Skins.Add((Id=5035, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineeliteblack_mp5ras.HorzineEliteBlack_MP5RAS_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineeliteblack_mp5ras.HorzineEliteBlack_MP5RAS_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineeliteblack_mp5ras.HorzineEliteBlack_MP5RAS_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5034, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineeliteblack_mp5ras.HorzineEliteBlack_MP5RAS_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineeliteblack_mp5ras.HorzineEliteBlack_MP5RAS_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineeliteblack_mp5ras.HorzineEliteBlack_MP5RAS_3P_Pickup_MIC"))
|
Skins.Add((Id=5034, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineeliteblack_mp5ras.HorzineEliteBlack_MP5RAS_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineeliteblack_mp5ras.HorzineEliteBlack_MP5RAS_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineeliteblack_mp5ras.HorzineEliteBlack_MP5RAS_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Horzine Elite Green MP5RAS
|
//Horzine Elite Green MP5RAS
|
||||||
Skins.Add((Id=5039, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineelitegreen_mp5ras.HorzineEliteGreen_MP5RAS_1P_Mint_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineelitegreen_mp5ras.HorzineEliteGreen_MP5RAS_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineelitegreen_mp5ras.HorzineEliteGreen_MP5RAS_3P_Pickup_MIC"))
|
Skins.Add((Id=5039, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineelitegreen_mp5ras.HorzineEliteGreen_MP5RAS_1P_Mint_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineelitegreen_mp5ras.HorzineEliteGreen_MP5RAS_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineelitegreen_mp5ras.HorzineEliteGreen_MP5RAS_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5038, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineelitegreen_mp5ras.HorzineEliteGreen_MP5RAS_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineelitegreen_mp5ras.HorzineEliteGreen_MP5RAS_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineelitegreen_mp5ras.HorzineEliteGreen_MP5RAS_3P_Pickup_MIC"))
|
Skins.Add((Id=5038, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineelitegreen_mp5ras.HorzineEliteGreen_MP5RAS_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineelitegreen_mp5ras.HorzineEliteGreen_MP5RAS_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineelitegreen_mp5ras.HorzineEliteGreen_MP5RAS_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5037, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineelitegreen_mp5ras.HorzineEliteGreen_MP5RAS_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineelitegreen_mp5ras.HorzineEliteGreen_MP5RAS_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineelitegreen_mp5ras.HorzineEliteGreen_MP5RAS_3P_Pickup_MIC"))
|
Skins.Add((Id=5037, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineelitegreen_mp5ras.HorzineEliteGreen_MP5RAS_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineelitegreen_mp5ras.HorzineEliteGreen_MP5RAS_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineelitegreen_mp5ras.HorzineEliteGreen_MP5RAS_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Horzine Elite Blue MP5RAS
|
//Horzine Elite Blue MP5RAS
|
||||||
Skins.Add((Id=5042, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineeliteblue_mp5ras.HorzineEliteBlue_MP5RAS_1P_Mint_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineeliteblue_mp5ras.HorzineEliteBlue_MP5RAS_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineeliteblue_mp5ras.HorzineEliteBlue_MP5RAS_3P_Pickup_MIC"))
|
Skins.Add((Id=5042, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineeliteblue_mp5ras.HorzineEliteBlue_MP5RAS_1P_Mint_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineeliteblue_mp5ras.HorzineEliteBlue_MP5RAS_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineeliteblue_mp5ras.HorzineEliteBlue_MP5RAS_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5041, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineeliteblue_mp5ras.HorzineEliteBlue_MP5RAS_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineeliteblue_mp5ras.HorzineEliteBlue_MP5RAS_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineeliteblue_mp5ras.HorzineEliteBlue_MP5RAS_3P_Pickup_MIC"))
|
Skins.Add((Id=5041, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineeliteblue_mp5ras.HorzineEliteBlue_MP5RAS_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineeliteblue_mp5ras.HorzineEliteBlue_MP5RAS_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineeliteblue_mp5ras.HorzineEliteBlue_MP5RAS_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5040, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineeliteblue_mp5ras.HorzineEliteBlue_MP5RAS_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineeliteblue_mp5ras.HorzineEliteBlue_MP5RAS_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineeliteblue_mp5ras.HorzineEliteBlue_MP5RAS_3P_Pickup_MIC"))
|
Skins.Add((Id=5040, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineeliteblue_mp5ras.HorzineEliteBlue_MP5RAS_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineeliteblue_mp5ras.HorzineEliteBlue_MP5RAS_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineeliteblue_mp5ras.HorzineEliteBlue_MP5RAS_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Horzine Elite Red MP5RAS
|
//Horzine Elite Red MP5RAS
|
||||||
Skins.Add((Id=5045, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineelitered_mp5ras.HorzineEliteRed_MP5RAS_1P_Mint_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineelitered_mp5ras.HorzineEliteRed_MP5RAS_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineelitered_mp5ras.HorzineEliteRed_MP5RAS_3P_Pickup_MIC"))
|
Skins.Add((Id=5045, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineelitered_mp5ras.HorzineEliteRed_MP5RAS_1P_Mint_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineelitered_mp5ras.HorzineEliteRed_MP5RAS_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineelitered_mp5ras.HorzineEliteRed_MP5RAS_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5044, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineelitered_mp5ras.HorzineEliteRed_MP5RAS_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineelitered_mp5ras.HorzineEliteRed_MP5RAS_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineelitered_mp5ras.HorzineEliteRed_MP5RAS_3P_Pickup_MIC"))
|
Skins.Add((Id=5044, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineelitered_mp5ras.HorzineEliteRed_MP5RAS_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineelitered_mp5ras.HorzineEliteRed_MP5RAS_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineelitered_mp5ras.HorzineEliteRed_MP5RAS_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5043, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineelitered_mp5ras.HorzineEliteRed_MP5RAS_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineelitered_mp5ras.HorzineEliteRed_MP5RAS_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineelitered_mp5ras.HorzineEliteRed_MP5RAS_3P_Pickup_MIC"))
|
Skins.Add((Id=5043, Weapondef=class'KFWeapDef_MP5RAS', MIC_1P=("WEP_SkinSet15_MAT.horzineelitered_mp5ras.HorzineEliteRed_MP5RAS_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet15_MAT.horzineelitered_mp5ras.HorzineEliteRed_MP5RAS_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet15_MAT.horzineelitered_mp5ras.HorzineEliteRed_MP5RAS_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Halloween 9mm
|
//Halloween 9mm
|
||||||
Skins.Add((Id=5115, Weapondef=class'KFWeapDef_9mm', MIC_1P=("WEP_SkinSet14_MAT.halloween_9mm.Halloween_9MM_1P_Mint_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_9mm.Halloween_9MM_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_9mm.Halloween_9MM_3P_Pickup_MIC"))
|
Skins.Add((Id=5115, Weapondef=class'KFWeapDef_9mm', MIC_1P=("WEP_SkinSet14_MAT.halloween_9mm.Halloween_9MM_1P_Mint_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_9mm.Halloween_9MM_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_9mm.Halloween_9MM_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5114, Weapondef=class'KFWeapDef_9mm', MIC_1P=("WEP_SkinSet14_MAT.halloween_9mm.Halloween_9MM_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_9mm.Halloween_9MM_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_9mm.Halloween_9MM_3P_Pickup_MIC"))
|
Skins.Add((Id=5114, Weapondef=class'KFWeapDef_9mm', MIC_1P=("WEP_SkinSet14_MAT.halloween_9mm.Halloween_9MM_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_9mm.Halloween_9MM_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_9mm.Halloween_9MM_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5113, Weapondef=class'KFWeapDef_9mm', MIC_1P=("WEP_SkinSet14_MAT.halloween_9mm.Halloween_9MM_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_9mm.Halloween_9MM_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_9mm.Halloween_9MM_3P_Pickup_MIC"))
|
Skins.Add((Id=5113, Weapondef=class'KFWeapDef_9mm', MIC_1P=("WEP_SkinSet14_MAT.halloween_9mm.Halloween_9MM_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_9mm.Halloween_9MM_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_9mm.Halloween_9MM_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Halloween Crossbow
|
//Halloween Crossbow
|
||||||
Skins.Add((Id=5118, Weapondef=class'KFWeapDef_Crossbow', MIC_1P=("WEP_SkinSet14_MAT.halloween_crossbow.Halloween_Crossbow_1P_Mint_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_crossbow.Halloween_Crossbow_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_crossbow.Halloween_Crossbow_3P_Pickup_MIC"))
|
Skins.Add((Id=5118, Weapondef=class'KFWeapDef_Crossbow', MIC_1P=("WEP_SkinSet14_MAT.halloween_crossbow.Halloween_Crossbow_1P_Mint_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_crossbow.Halloween_Crossbow_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_crossbow.Halloween_Crossbow_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5117, Weapondef=class'KFWeapDef_Crossbow', MIC_1P=("WEP_SkinSet14_MAT.halloween_crossbow.Halloween_Crossbow_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_crossbow.Halloween_Crossbow_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_crossbow.Halloween_Crossbow_3P_Pickup_MIC"))
|
Skins.Add((Id=5117, Weapondef=class'KFWeapDef_Crossbow', MIC_1P=("WEP_SkinSet14_MAT.halloween_crossbow.Halloween_Crossbow_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_crossbow.Halloween_Crossbow_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_crossbow.Halloween_Crossbow_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5116, Weapondef=class'KFWeapDef_Crossbow', MIC_1P=("WEP_SkinSet14_MAT.halloween_crossbow.Halloween_Crossbow_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_crossbow.Halloween_Crossbow_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_crossbow.Halloween_Crossbow_3P_Pickup_MIC"))
|
Skins.Add((Id=5116, Weapondef=class'KFWeapDef_Crossbow', MIC_1P=("WEP_SkinSet14_MAT.halloween_crossbow.Halloween_Crossbow_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_crossbow.Halloween_Crossbow_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_crossbow.Halloween_Crossbow_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Halloween Flamethrower
|
//Halloween Flamethrower
|
||||||
Skins.Add((Id=5121, Weapondef=class'KFWeapDef_FlameThrower', MIC_1P=("WEP_SkinSet14_MAT.halloween_flamethrower.Halloween_Flamethrower_1P_Mint_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_flamethrower.Halloween_Flamethrower_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_flamethrower.Halloween_Flamethrower_3P_Pickup_MIC"))
|
Skins.Add((Id=5121, Weapondef=class'KFWeapDef_FlameThrower', MIC_1P=("WEP_SkinSet14_MAT.halloween_flamethrower.Halloween_Flamethrower_1P_Mint_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_flamethrower.Halloween_Flamethrower_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_flamethrower.Halloween_Flamethrower_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5120, Weapondef=class'KFWeapDef_FlameThrower', MIC_1P=("WEP_SkinSet14_MAT.halloween_flamethrower.Halloween_Flamethrower_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_flamethrower.Halloween_Flamethrower_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_flamethrower.Halloween_Flamethrower_3P_Pickup_MIC"))
|
Skins.Add((Id=5120, Weapondef=class'KFWeapDef_FlameThrower', MIC_1P=("WEP_SkinSet14_MAT.halloween_flamethrower.Halloween_Flamethrower_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_flamethrower.Halloween_Flamethrower_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_flamethrower.Halloween_Flamethrower_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5119, Weapondef=class'KFWeapDef_FlameThrower', MIC_1P=("WEP_SkinSet14_MAT.halloween_flamethrower.Halloween_Flamethrower_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_flamethrower.Halloween_Flamethrower_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_flamethrower.Halloween_Flamethrower_3P_Pickup_MIC"))
|
Skins.Add((Id=5119, Weapondef=class'KFWeapDef_FlameThrower', MIC_1P=("WEP_SkinSet14_MAT.halloween_flamethrower.Halloween_Flamethrower_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_flamethrower.Halloween_Flamethrower_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_flamethrower.Halloween_Flamethrower_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Halloween Healer
|
//Halloween Healer
|
||||||
Skins.Add((Id=5124, Weapondef=class'KFWeapDef_Healer', MIC_1P=("WEP_SkinSet14_MAT.halloween_healer.Halloween_Healer_1P_Mint_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_healer.Halloween_Healer_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_healer.Halloween_Healer_3P_Pickup_MIC"))
|
Skins.Add((Id=5124, Weapondef=class'KFWeapDef_Healer', MIC_1P=("WEP_SkinSet14_MAT.halloween_healer.Halloween_Healer_1P_Mint_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_healer.Halloween_Healer_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_healer.Halloween_Healer_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5123, Weapondef=class'KFWeapDef_Healer', MIC_1P=("WEP_SkinSet14_MAT.halloween_healer.Halloween_Healer_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_healer.Halloween_Healer_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_healer.Halloween_Healer_3P_Pickup_MIC"))
|
Skins.Add((Id=5123, Weapondef=class'KFWeapDef_Healer', MIC_1P=("WEP_SkinSet14_MAT.halloween_healer.Halloween_Healer_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_healer.Halloween_Healer_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_healer.Halloween_Healer_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5122, Weapondef=class'KFWeapDef_Healer', MIC_1P=("WEP_SkinSet14_MAT.halloween_healer.Halloween_Healer_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_healer.Halloween_Healer_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_healer.Halloween_Healer_3P_Pickup_MIC"))
|
Skins.Add((Id=5122, Weapondef=class'KFWeapDef_Healer', MIC_1P=("WEP_SkinSet14_MAT.halloween_healer.Halloween_Healer_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_healer.Halloween_Healer_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_healer.Halloween_Healer_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Halloween HZ12
|
//Halloween HZ12
|
||||||
Skins.Add((Id=5127, Weapondef=class'KFWeapDef_HZ12', MIC_1P=("WEP_SkinSet14_MAT.halloween_hz12.Halloween_HZ12_1P_Mint_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_hz12.Halloween_HZ12_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_hz12.Halloween_HZ12_3P_Pickup_MIC"))
|
Skins.Add((Id=5127, Weapondef=class'KFWeapDef_HZ12', MIC_1P=("WEP_SkinSet14_MAT.halloween_hz12.Halloween_HZ12_1P_Mint_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_hz12.Halloween_HZ12_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_hz12.Halloween_HZ12_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5126, Weapondef=class'KFWeapDef_HZ12', MIC_1P=("WEP_SkinSet14_MAT.halloween_hz12.Halloween_HZ12_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_hz12.Halloween_HZ12_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_hz12.Halloween_HZ12_3P_Pickup_MIC"))
|
Skins.Add((Id=5126, Weapondef=class'KFWeapDef_HZ12', MIC_1P=("WEP_SkinSet14_MAT.halloween_hz12.Halloween_HZ12_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_hz12.Halloween_HZ12_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_hz12.Halloween_HZ12_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5125, Weapondef=class'KFWeapDef_HZ12', MIC_1P=("WEP_SkinSet14_MAT.halloween_hz12.Halloween_HZ12_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_hz12.Halloween_HZ12_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_hz12.Halloween_HZ12_3P_Pickup_MIC"))
|
Skins.Add((Id=5125, Weapondef=class'KFWeapDef_HZ12', MIC_1P=("WEP_SkinSet14_MAT.halloween_hz12.Halloween_HZ12_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_hz12.Halloween_HZ12_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_hz12.Halloween_HZ12_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Halloween Katana
|
//Halloween Katana
|
||||||
Skins.Add((Id=5130, Weapondef=class'KFWeapDef_Katana', MIC_1P=("WEP_SkinSet14_MAT.halloween_katana.Halloween_Katana_1P_Mint_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_katana.Halloween_Katana_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_katana.Halloween_Katana_3P_Pickup_MIC"))
|
Skins.Add((Id=5130, Weapondef=class'KFWeapDef_Katana', MIC_1P=("WEP_SkinSet14_MAT.halloween_katana.Halloween_Katana_1P_Mint_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_katana.Halloween_Katana_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_katana.Halloween_Katana_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5129, Weapondef=class'KFWeapDef_Katana', MIC_1P=("WEP_SkinSet14_MAT.halloween_katana.Halloween_Katana_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_katana.Halloween_Katana_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_katana.Halloween_Katana_3P_Pickup_MIC"))
|
Skins.Add((Id=5129, Weapondef=class'KFWeapDef_Katana', MIC_1P=("WEP_SkinSet14_MAT.halloween_katana.Halloween_Katana_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_katana.Halloween_Katana_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_katana.Halloween_Katana_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5128, Weapondef=class'KFWeapDef_Katana', MIC_1P=("WEP_SkinSet14_MAT.halloween_katana.Halloween_Katana_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_katana.Halloween_Katana_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_katana.Halloween_Katana_3P_Pickup_MIC"))
|
Skins.Add((Id=5128, Weapondef=class'KFWeapDef_Katana', MIC_1P=("WEP_SkinSet14_MAT.halloween_katana.Halloween_Katana_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_katana.Halloween_Katana_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_katana.Halloween_Katana_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Halloween Kriss
|
//Halloween Kriss
|
||||||
Skins.Add((Id=5133, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet14_MAT.halloween_kriss.Halloween_Kriss_1P_Mint_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_kriss.Halloween_Kriss_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_kriss.Halloween_Kriss_3P_Pickup_MIC"))
|
Skins.Add((Id=5133, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet14_MAT.halloween_kriss.Halloween_Kriss_1P_Mint_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_kriss.Halloween_Kriss_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_kriss.Halloween_Kriss_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5132, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet14_MAT.halloween_kriss.Halloween_Kriss_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_kriss.Halloween_Kriss_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_kriss.Halloween_Kriss_3P_Pickup_MIC"))
|
Skins.Add((Id=5132, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet14_MAT.halloween_kriss.Halloween_Kriss_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_kriss.Halloween_Kriss_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_kriss.Halloween_Kriss_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5131, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet14_MAT.halloween_kriss.Halloween_Kriss_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_kriss.Halloween_Kriss_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_kriss.Halloween_Kriss_3P_Pickup_MIC"))
|
Skins.Add((Id=5131, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet14_MAT.halloween_kriss.Halloween_Kriss_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_kriss.Halloween_Kriss_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_kriss.Halloween_Kriss_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Halloween M79
|
//Halloween M79
|
||||||
Skins.Add((Id=5136, Weapondef=class'KFWeapDef_M79', MIC_1P=("WEP_SkinSet14_MAT.halloween_m79.Halloween_M79_1P_Mint_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_m79.Halloween_M79_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_m79.Halloween_M79_3P_Pickup_MIC"))
|
Skins.Add((Id=5136, Weapondef=class'KFWeapDef_M79', MIC_1P=("WEP_SkinSet14_MAT.halloween_m79.Halloween_M79_1P_Mint_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_m79.Halloween_M79_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_m79.Halloween_M79_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5135, Weapondef=class'KFWeapDef_M79', MIC_1P=("WEP_SkinSet14_MAT.halloween_m79.Halloween_M79_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_m79.Halloween_M79_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_m79.Halloween_M79_3P_Pickup_MIC"))
|
Skins.Add((Id=5135, Weapondef=class'KFWeapDef_M79', MIC_1P=("WEP_SkinSet14_MAT.halloween_m79.Halloween_M79_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_m79.Halloween_M79_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_m79.Halloween_M79_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5134, Weapondef=class'KFWeapDef_M79', MIC_1P=("WEP_SkinSet14_MAT.halloween_m79.Halloween_M79_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_m79.Halloween_M79_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_m79.Halloween_M79_3P_Pickup_MIC"))
|
Skins.Add((Id=5134, Weapondef=class'KFWeapDef_M79', MIC_1P=("WEP_SkinSet14_MAT.halloween_m79.Halloween_M79_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_m79.Halloween_M79_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_m79.Halloween_M79_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Halloween Stoner 63A
|
//Halloween Stoner 63A
|
||||||
Skins.Add((Id=5139, Weapondef=class'KFWeapDef_Stoner63A', MIC_1P=("WEP_SkinSet14_MAT.halloween_stoner63a.Halloween_Stoner63a_1P_Mint_MIC", "WEP_SkinSet14_MAT.halloween_stoner63a.Halloween_Stoner63a_Receiver_1P_Mint_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_stoner63a.Halloween_Stoner63a_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_stoner63a.Halloween_Stoner63a_3P_Pickup_MIC"))
|
Skins.Add((Id=5139, Weapondef=class'KFWeapDef_Stoner63A', MIC_1P=("WEP_SkinSet14_MAT.halloween_stoner63a.Halloween_Stoner63a_1P_Mint_MIC", "WEP_SkinSet14_MAT.halloween_stoner63a.Halloween_Stoner63a_Receiver_1P_Mint_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_stoner63a.Halloween_Stoner63a_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_stoner63a.Halloween_Stoner63a_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5138, Weapondef=class'KFWeapDef_Stoner63A', MIC_1P=("WEP_SkinSet14_MAT.halloween_stoner63a.Halloween_Stoner63a_1P_FieldTested_MIC", "WEP_SkinSet14_MAT.halloween_stoner63a.Halloween_Stoner63a_Receiver_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_stoner63a.Halloween_Stoner63a_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_stoner63a.Halloween_Stoner63a_3P_Pickup_MIC"))
|
Skins.Add((Id=5138, Weapondef=class'KFWeapDef_Stoner63A', MIC_1P=("WEP_SkinSet14_MAT.halloween_stoner63a.Halloween_Stoner63a_1P_FieldTested_MIC", "WEP_SkinSet14_MAT.halloween_stoner63a.Halloween_Stoner63a_Receiver_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_stoner63a.Halloween_Stoner63a_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_stoner63a.Halloween_Stoner63a_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5137, Weapondef=class'KFWeapDef_Stoner63A', MIC_1P=("WEP_SkinSet14_MAT.halloween_stoner63a.Halloween_Stoner63a_1P_BattleScarred_MIC", "WEP_SkinSet14_MAT.halloween_stoner63a.Halloween_Stoner63a_Receiver_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_stoner63a.Halloween_Stoner63a_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_stoner63a.Halloween_Stoner63a_3P_Pickup_MIC"))
|
Skins.Add((Id=5137, Weapondef=class'KFWeapDef_Stoner63A', MIC_1P=("WEP_SkinSet14_MAT.halloween_stoner63a.Halloween_Stoner63a_1P_BattleScarred_MIC", "WEP_SkinSet14_MAT.halloween_stoner63a.Halloween_Stoner63a_Receiver_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet14_MAT.halloween_stoner63a.Halloween_Stoner63a_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet14_MAT.halloween_stoner63a.Halloween_Stoner63a_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Neon MB500
|
//Neon MB500
|
||||||
Skins.Add((Id=5160, Weapondef=class'KFWeapDef_MB500', MIC_1P=("WEP_SkinSet16_MAT.neon_mb500.Neon_MB500_1P_Mint_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_mb500.Neon_MB500_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_mb500.Neon_MB500_3P_Pickup_MIC"))
|
Skins.Add((Id=5160, Weapondef=class'KFWeapDef_MB500', MIC_1P=("WEP_SkinSet16_MAT.neon_mb500.Neon_MB500_1P_Mint_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_mb500.Neon_MB500_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_mb500.Neon_MB500_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5159, Weapondef=class'KFWeapDef_MB500', MIC_1P=("WEP_SkinSet16_MAT.neon_mb500.Neon_MB500_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_mb500.Neon_MB500_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_mb500.Neon_MB500_3P_Pickup_MIC"))
|
Skins.Add((Id=5159, Weapondef=class'KFWeapDef_MB500', MIC_1P=("WEP_SkinSet16_MAT.neon_mb500.Neon_MB500_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_mb500.Neon_MB500_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_mb500.Neon_MB500_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5158, Weapondef=class'KFWeapDef_MB500', MIC_1P=("WEP_SkinSet16_MAT.neon_mb500.Neon_MB500_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_mb500.Neon_MB500_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_mb500.Neon_MB500_3P_Pickup_MIC"))
|
Skins.Add((Id=5158, Weapondef=class'KFWeapDef_MB500', MIC_1P=("WEP_SkinSet16_MAT.neon_mb500.Neon_MB500_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_mb500.Neon_MB500_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_mb500.Neon_MB500_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Neon Railgun
|
//Neon Railgun
|
||||||
Skins.Add((Id=5163, Weapondef=class'KFWeapDef_RailGun', MIC_1P=("WEP_SkinSet16_MAT.neon_railgun.Neon_Railgun_1P_Mint_MIC", "WEP_SkinSet16_MAT.neon_railgun.Neon_Railgun_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_railgun.Neon_Railgun_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_railgun.Neon_Railgun_3P_Pickup_MIC"))
|
Skins.Add((Id=5163, Weapondef=class'KFWeapDef_RailGun', MIC_1P=("WEP_SkinSet16_MAT.neon_railgun.Neon_Railgun_1P_Mint_MIC", "WEP_SkinSet16_MAT.neon_railgun.Neon_Railgun_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_railgun.Neon_Railgun_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_railgun.Neon_Railgun_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5162, Weapondef=class'KFWeapDef_RailGun', MIC_1P=("WEP_SkinSet16_MAT.neon_railgun.Neon_Railgun_1P_FieldTested_MIC", "WEP_SkinSet16_MAT.neon_railgun.Neon_Railgun_Scope_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_railgun.Neon_Railgun_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_railgun.Neon_Railgun_3P_Pickup_MIC"))
|
Skins.Add((Id=5162, Weapondef=class'KFWeapDef_RailGun', MIC_1P=("WEP_SkinSet16_MAT.neon_railgun.Neon_Railgun_1P_FieldTested_MIC", "WEP_SkinSet16_MAT.neon_railgun.Neon_Railgun_Scope_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_railgun.Neon_Railgun_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_railgun.Neon_Railgun_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5161, Weapondef=class'KFWeapDef_RailGun', MIC_1P=("WEP_SkinSet16_MAT.neon_railgun.Neon_Railgun_1P_BattleScarred_MIC", "WEP_SkinSet16_MAT.neon_railgun.Neon_Railgun_Scope_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_railgun.Neon_Railgun_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_railgun.Neon_Railgun_3P_Pickup_MIC"))
|
Skins.Add((Id=5161, Weapondef=class'KFWeapDef_RailGun', MIC_1P=("WEP_SkinSet16_MAT.neon_railgun.Neon_Railgun_1P_BattleScarred_MIC", "WEP_SkinSet16_MAT.neon_railgun.Neon_Railgun_Scope_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_railgun.Neon_Railgun_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_railgun.Neon_Railgun_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Neon RPG7
|
//Neon RPG7
|
||||||
Skins.Add((Id=5166, Weapondef=class'KFWeapDef_RPG7', MIC_1P=("WEP_SkinSet16_MAT.neon_rpg7.Neon_RPG7_1P_Mint_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_rpg7.Neon_RPG7_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_rpg7.Neon_RPG7_3P_Pickup_MIC"))
|
Skins.Add((Id=5166, Weapondef=class'KFWeapDef_RPG7', MIC_1P=("WEP_SkinSet16_MAT.neon_rpg7.Neon_RPG7_1P_Mint_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_rpg7.Neon_RPG7_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_rpg7.Neon_RPG7_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5165, Weapondef=class'KFWeapDef_RPG7', MIC_1P=("WEP_SkinSet16_MAT.neon_rpg7.Neon_RPG7_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_rpg7.Neon_RPG7_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_rpg7.Neon_RPG7_3P_Pickup_MIC"))
|
Skins.Add((Id=5165, Weapondef=class'KFWeapDef_RPG7', MIC_1P=("WEP_SkinSet16_MAT.neon_rpg7.Neon_RPG7_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_rpg7.Neon_RPG7_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_rpg7.Neon_RPG7_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5164, Weapondef=class'KFWeapDef_RPG7', MIC_1P=("WEP_SkinSet16_MAT.neon_rpg7.Neon_RPG7_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_rpg7.Neon_RPG7_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_rpg7.Neon_RPG7_3P_Pickup_MIC"))
|
Skins.Add((Id=5164, Weapondef=class'KFWeapDef_RPG7', MIC_1P=("WEP_SkinSet16_MAT.neon_rpg7.Neon_RPG7_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_rpg7.Neon_RPG7_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_rpg7.Neon_RPG7_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Neon Scar
|
//Neon Scar
|
||||||
Skins.Add((Id=5169, Weapondef=class'KFWeapDef_SCAR', MIC_1P=("WEP_SkinSet16_MAT.neon_scar.Neon_SCAR_1P_Mint_MIC", "WEP_SkinSet16_MAT.neon_scar.Neon_SCAR_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_scar.Neon_SCAR_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_scar.Neon_SCAR_3P_Pickup_MIC"))
|
Skins.Add((Id=5169, Weapondef=class'KFWeapDef_SCAR', MIC_1P=("WEP_SkinSet16_MAT.neon_scar.Neon_SCAR_1P_Mint_MIC", "WEP_SkinSet16_MAT.neon_scar.Neon_SCAR_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_scar.Neon_SCAR_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_scar.Neon_SCAR_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5168, Weapondef=class'KFWeapDef_SCAR', MIC_1P=("WEP_SkinSet16_MAT.neon_scar.Neon_SCAR_1P_FieldTested_MIC", "WEP_SkinSet16_MAT.neon_scar.Neon_SCAR_Scope_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_scar.Neon_SCAR_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_scar.Neon_SCAR_3P_Pickup_MIC"))
|
Skins.Add((Id=5168, Weapondef=class'KFWeapDef_SCAR', MIC_1P=("WEP_SkinSet16_MAT.neon_scar.Neon_SCAR_1P_FieldTested_MIC", "WEP_SkinSet16_MAT.neon_scar.Neon_SCAR_Scope_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_scar.Neon_SCAR_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_scar.Neon_SCAR_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5167, Weapondef=class'KFWeapDef_SCAR', MIC_1P=("WEP_SkinSet16_MAT.neon_scar.Neon_SCAR_1P_BattleScarred_MIC", "WEP_SkinSet16_MAT.neon_scar.Neon_SCAR_Scope_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_scar.Neon_SCAR_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_scar.Neon_SCAR_3P_Pickup_MIC"))
|
Skins.Add((Id=5167, Weapondef=class'KFWeapDef_SCAR', MIC_1P=("WEP_SkinSet16_MAT.neon_scar.Neon_SCAR_1P_BattleScarred_MIC", "WEP_SkinSet16_MAT.neon_scar.Neon_SCAR_Scope_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_scar.Neon_SCAR_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_scar.Neon_SCAR_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Neon M1911
|
//Neon M1911
|
||||||
Skins.Add((Id=5172, Weapondef=class'KFWeapDef_Colt1911', MIC_1P=("WEP_SkinSet16_MAT.neon_m1911.Neon_M1911_1P_Mint_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_m1911.Neon_M1911_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_m1911.Neon_M1911_3P_Pickup_MIC"))
|
Skins.Add((Id=5172, Weapondef=class'KFWeapDef_Colt1911', MIC_1P=("WEP_SkinSet16_MAT.neon_m1911.Neon_M1911_1P_Mint_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_m1911.Neon_M1911_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_m1911.Neon_M1911_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5171, Weapondef=class'KFWeapDef_Colt1911', MIC_1P=("WEP_SkinSet16_MAT.neon_m1911.Neon_M1911_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_m1911.Neon_M1911_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_m1911.Neon_M1911_3P_Pickup_MIC"))
|
Skins.Add((Id=5171, Weapondef=class'KFWeapDef_Colt1911', MIC_1P=("WEP_SkinSet16_MAT.neon_m1911.Neon_M1911_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_m1911.Neon_M1911_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_m1911.Neon_M1911_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5170, Weapondef=class'KFWeapDef_Colt1911', MIC_1P=("WEP_SkinSet16_MAT.neon_m1911.Neon_M1911_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_m1911.Neon_M1911_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_m1911.Neon_M1911_3P_Pickup_MIC"))
|
Skins.Add((Id=5170, Weapondef=class'KFWeapDef_Colt1911', MIC_1P=("WEP_SkinSet16_MAT.neon_m1911.Neon_M1911_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_m1911.Neon_M1911_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_m1911.Neon_M1911_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Neon Katana
|
//Neon Katana
|
||||||
Skins.Add((Id=5175, Weapondef=class'KFWeapDef_Katana', MIC_1P=("WEP_SkinSet16_MAT.neon_katana.Neon_Katana_1P_Mint_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_katana.Neon_Katana_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_katana.Neon_Katana_3P_Pickup_MIC"))
|
Skins.Add((Id=5175, Weapondef=class'KFWeapDef_Katana', MIC_1P=("WEP_SkinSet16_MAT.neon_katana.Neon_Katana_1P_Mint_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_katana.Neon_Katana_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_katana.Neon_Katana_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5174, Weapondef=class'KFWeapDef_Katana', MIC_1P=("WEP_SkinSet16_MAT.neon_katana.Neon_Katana_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_katana.Neon_Katana_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_katana.Neon_Katana_3P_Pickup_MIC"))
|
Skins.Add((Id=5174, Weapondef=class'KFWeapDef_Katana', MIC_1P=("WEP_SkinSet16_MAT.neon_katana.Neon_Katana_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_katana.Neon_Katana_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_katana.Neon_Katana_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5173, Weapondef=class'KFWeapDef_Katana', MIC_1P=("WEP_SkinSet16_MAT.neon_katana.Neon_Katana_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_katana.Neon_Katana_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_katana.Neon_Katana_3P_Pickup_MIC"))
|
Skins.Add((Id=5173, Weapondef=class'KFWeapDef_Katana', MIC_1P=("WEP_SkinSet16_MAT.neon_katana.Neon_Katana_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_katana.Neon_Katana_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_katana.Neon_Katana_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Neon Dragonsbreath
|
//Neon Dragonsbreath
|
||||||
Skins.Add((Id=5178, Weapondef=class'KFWeapDef_DragonsBreath', MIC_1P=("WEP_SkinSet16_MAT.neon_dragonsbreath.Neon_DragonsBreath_1P_Mint_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_dragonsbreath.Neon_DragonsBreath_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_dragonsbreath.Neon_DragonsBreath_3P_Pickup_MIC"))
|
Skins.Add((Id=5178, Weapondef=class'KFWeapDef_DragonsBreath', MIC_1P=("WEP_SkinSet16_MAT.neon_dragonsbreath.Neon_DragonsBreath_1P_Mint_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_dragonsbreath.Neon_DragonsBreath_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_dragonsbreath.Neon_DragonsBreath_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5177, Weapondef=class'KFWeapDef_DragonsBreath', MIC_1P=("WEP_SkinSet16_MAT.neon_dragonsbreath.Neon_DragonsBreath_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_dragonsbreath.Neon_DragonsBreath_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_dragonsbreath.Neon_DragonsBreath_3P_Pickup_MIC"))
|
Skins.Add((Id=5177, Weapondef=class'KFWeapDef_DragonsBreath', MIC_1P=("WEP_SkinSet16_MAT.neon_dragonsbreath.Neon_DragonsBreath_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_dragonsbreath.Neon_DragonsBreath_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_dragonsbreath.Neon_DragonsBreath_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5176, Weapondef=class'KFWeapDef_DragonsBreath', MIC_1P=("WEP_SkinSet16_MAT.neon_dragonsbreath.Neon_DragonsBreath_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_dragonsbreath.Neon_DragonsBreath_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_dragonsbreath.Neon_DragonsBreath_3P_Pickup_MIC"))
|
Skins.Add((Id=5176, Weapondef=class'KFWeapDef_DragonsBreath', MIC_1P=("WEP_SkinSet16_MAT.neon_dragonsbreath.Neon_DragonsBreath_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_dragonsbreath.Neon_DragonsBreath_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_dragonsbreath.Neon_DragonsBreath_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Neon Kriss
|
//Neon Kriss
|
||||||
Skins.Add((Id=5181, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet16_MAT.neon_kriss.Neon_KRISS_1P_Mint_MIC", "WEP_SkinSet16_MAT.neon_kriss.Neon_KRISS_Sight_1P_Mint_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_kriss.Neon_KRISS_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_kriss.Neon_KRISS_3P_Pickup_MIC"))
|
Skins.Add((Id=5181, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet16_MAT.neon_kriss.Neon_KRISS_1P_Mint_MIC", "WEP_SkinSet16_MAT.neon_kriss.Neon_KRISS_Sight_1P_Mint_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_kriss.Neon_KRISS_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_kriss.Neon_KRISS_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5180, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet16_MAT.neon_kriss.Neon_KRISS_1P_FieldTested_MIC", "WEP_SkinSet16_MAT.neon_kriss.Neon_KRISS_Sight_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_kriss.Neon_KRISS_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_kriss.Neon_KRISS_3P_Pickup_MIC"))
|
Skins.Add((Id=5180, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet16_MAT.neon_kriss.Neon_KRISS_1P_FieldTested_MIC", "WEP_SkinSet16_MAT.neon_kriss.Neon_KRISS_Sight_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_kriss.Neon_KRISS_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_kriss.Neon_KRISS_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5179, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet16_MAT.neon_kriss.Neon_KRISS_1P_BattleScarred_MIC", "WEP_SkinSet16_MAT.neon_kriss.Neon_KRISS_Sight_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_kriss.Neon_KRISS_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_kriss.Neon_KRISS_3P_Pickup_MIC"))
|
Skins.Add((Id=5179, Weapondef=class'KFWeapDef_Kriss', MIC_1P=("WEP_SkinSet16_MAT.neon_kriss.Neon_KRISS_1P_BattleScarred_MIC", "WEP_SkinSet16_MAT.neon_kriss.Neon_KRISS_Sight_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet16_MAT.neon_kriss.Neon_KRISS_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet16_MAT.neon_kriss.Neon_KRISS_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Vault Pink MP7
|
//Vault Pink MP7
|
||||||
Skins.Add((Id=5291, Weapondef=class'KFWeapDef_MP7', MIC_1P=("WEP_SkinSet17_MAT.cute_mp7.Vault_Cute_MP7_1P_Mint_MIC", "WEP_SkinSet17_MAT.cute_mp7.Vault_Cute_MP7_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet17_MAT.cute_mp7.Vault_Cute_MP7_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet17_MAT.cute_mp7.Vault_Cute_MP7_3P_Pickup_MIC"))
|
Skins.Add((Id=5291, Weapondef=class'KFWeapDef_MP7', MIC_1P=("WEP_SkinSet17_MAT.cute_mp7.Vault_Cute_MP7_1P_Mint_MIC", "WEP_SkinSet17_MAT.cute_mp7.Vault_Cute_MP7_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet17_MAT.cute_mp7.Vault_Cute_MP7_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet17_MAT.cute_mp7.Vault_Cute_MP7_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5290, Weapondef=class'KFWeapDef_MP7', MIC_1P=("WEP_SkinSet17_MAT.cute_mp7.Vault_Cute_MP7_1P_FieldTested_MIC", "WEP_SkinSet17_MAT.cute_mp7.Vault_Cute_MP7_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet17_MAT.cute_mp7.Vault_Cute_MP7_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet17_MAT.cute_mp7.Vault_Cute_MP7_3P_Pickup_MIC"))
|
Skins.Add((Id=5290, Weapondef=class'KFWeapDef_MP7', MIC_1P=("WEP_SkinSet17_MAT.cute_mp7.Vault_Cute_MP7_1P_FieldTested_MIC", "WEP_SkinSet17_MAT.cute_mp7.Vault_Cute_MP7_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet17_MAT.cute_mp7.Vault_Cute_MP7_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet17_MAT.cute_mp7.Vault_Cute_MP7_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5289, Weapondef=class'KFWeapDef_MP7', MIC_1P=("WEP_SkinSet17_MAT.cute_mp7.Vault_Cute_MP7_1P_BattleScarred_MIC", "WEP_SkinSet17_MAT.cute_mp7.Vault_Cute_MP7_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet17_MAT.cute_mp7.Vault_Cute_MP7_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet17_MAT.cute_mp7.Vault_Cute_MP7_3P_Pickup_MIC"))
|
Skins.Add((Id=5289, Weapondef=class'KFWeapDef_MP7', MIC_1P=("WEP_SkinSet17_MAT.cute_mp7.Vault_Cute_MP7_1P_BattleScarred_MIC", "WEP_SkinSet17_MAT.cute_mp7.Vault_Cute_MP7_Scope_1P_Mint_MIC"), MIC_3P="WEP_SkinSet17_MAT.cute_mp7.Vault_Cute_MP7_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet17_MAT.cute_mp7.Vault_Cute_MP7_3P_Pickup_MIC"))
|
||||||
|
|
||||||
//Vault Honorable Death AK12
|
//Vault Honorable Death AK12
|
||||||
@ -1347,5 +1347,4 @@ defaultproperties
|
|||||||
Skins.Add((Id=5303, Weapondef=class'KFWeapDef_AA12', MIC_1P=("WEP_SkinSet17_MAT.sports_aa12.Vault_Sports_AA12_1P_Mint_MIC"), MIC_3P="WEP_SkinSet17_MAT.sports_aa12.Vault_Sports_AA12_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet17_MAT.sports_aa12.Vault_Sports_AA12_3P_Pickup_MIC"))
|
Skins.Add((Id=5303, Weapondef=class'KFWeapDef_AA12', MIC_1P=("WEP_SkinSet17_MAT.sports_aa12.Vault_Sports_AA12_1P_Mint_MIC"), MIC_3P="WEP_SkinSet17_MAT.sports_aa12.Vault_Sports_AA12_3P_Mint_MIC", MIC_Pickup="WEP_SkinSet17_MAT.sports_aa12.Vault_Sports_AA12_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5302, Weapondef=class'KFWeapDef_AA12', MIC_1P=("WEP_SkinSet17_MAT.sports_aa12.Vault_Sports_AA12_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet17_MAT.sports_aa12.Vault_Sports_AA12_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet17_MAT.sports_aa12.Vault_Sports_AA12_3P_Pickup_MIC"))
|
Skins.Add((Id=5302, Weapondef=class'KFWeapDef_AA12', MIC_1P=("WEP_SkinSet17_MAT.sports_aa12.Vault_Sports_AA12_1P_FieldTested_MIC"), MIC_3P="WEP_SkinSet17_MAT.sports_aa12.Vault_Sports_AA12_3P_FieldTested_MIC", MIC_Pickup="WEP_SkinSet17_MAT.sports_aa12.Vault_Sports_AA12_3P_Pickup_MIC"))
|
||||||
Skins.Add((Id=5301, Weapondef=class'KFWeapDef_AA12', MIC_1P=("WEP_SkinSet17_MAT.sports_aa12.Vault_Sports_AA12_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet17_MAT.sports_aa12.Vault_Sports_AA12_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet17_MAT.sports_aa12.Vault_Sports_AA12_3P_Pickup_MIC"))
|
Skins.Add((Id=5301, Weapondef=class'KFWeapDef_AA12', MIC_1P=("WEP_SkinSet17_MAT.sports_aa12.Vault_Sports_AA12_1P_BattleScarred_MIC"), MIC_3P="WEP_SkinSet17_MAT.sports_aa12.Vault_Sports_AA12_3P_BattleScarred_MIC", MIC_Pickup="WEP_SkinSet17_MAT.sports_aa12.Vault_Sports_AA12_3P_Pickup_MIC"))
|
||||||
|
|
||||||
}
|
}
|
@ -15,7 +15,7 @@ struct FWebAdminConfigInfo
|
|||||||
var name PropName;
|
var name PropName;
|
||||||
var string UIName,UIDesc;
|
var string UIName,UIDesc;
|
||||||
var int NumElements;
|
var int NumElements;
|
||||||
|
|
||||||
structdefaultproperties
|
structdefaultproperties
|
||||||
{
|
{
|
||||||
NumElements=1
|
NumElements=1
|
||||||
@ -44,7 +44,7 @@ final function Cleanup()
|
|||||||
final function AddSettingsPage(string PageName, class<Object> Obj, const out array<FWebAdminConfigInfo> Configs, delegate<OnGetValue> GetFunc, delegate<OnSetValue> SetFunc)
|
final function AddSettingsPage(string PageName, class<Object> Obj, const out array<FWebAdminConfigInfo> Configs, delegate<OnGetValue> GetFunc, delegate<OnSetValue> SetFunc)
|
||||||
{
|
{
|
||||||
local int i;
|
local int i;
|
||||||
|
|
||||||
i = ConfigList.Find('PageName',PageName);
|
i = ConfigList.Find('PageName',PageName);
|
||||||
if (i>=0) // Make sure no dupe pages.
|
if (i>=0) // Make sure no dupe pages.
|
||||||
PageName $= "_"$(ConfigList[i].Dupes++);
|
PageName $= "_"$(ConfigList[i].Dupes++);
|
||||||
|
@ -6,7 +6,7 @@ var byte PPerkLevels[6];
|
|||||||
struct ExtMemberSlotStruct
|
struct ExtMemberSlotStruct
|
||||||
{
|
{
|
||||||
var class<Ext_PerkBase> PerkClass;
|
var class<Ext_PerkBase> PerkClass;
|
||||||
|
|
||||||
structdefaultproperties
|
structdefaultproperties
|
||||||
{
|
{
|
||||||
PerkClass=none
|
PerkClass=none
|
||||||
@ -16,7 +16,7 @@ var ExtMemberSlotStruct ExtMemberSlots[13];
|
|||||||
|
|
||||||
function GFxObject RefreshSlot(int SlotIndex, KFPlayerReplicationInfo KFPRI)
|
function GFxObject RefreshSlot(int SlotIndex, KFPlayerReplicationInfo KFPRI)
|
||||||
{
|
{
|
||||||
local string PlayerName;
|
local string PlayerName;
|
||||||
local UniqueNetId AdminId;
|
local UniqueNetId AdminId;
|
||||||
local bool bIsLeader;
|
local bool bIsLeader;
|
||||||
local bool bIsMyPlayer;
|
local bool bIsMyPlayer;
|
||||||
@ -26,7 +26,7 @@ function GFxObject RefreshSlot(int SlotIndex, KFPlayerReplicationInfo KFPRI)
|
|||||||
|
|
||||||
PlayerInfoObject = CreateObject("Object");
|
PlayerInfoObject = CreateObject("Object");
|
||||||
EPC = ExtPlayerController(GetPC());
|
EPC = ExtPlayerController(GetPC());
|
||||||
|
|
||||||
if (KFPRI != none)
|
if (KFPRI != none)
|
||||||
{
|
{
|
||||||
EPRI = ExtPlayerReplicationInfo(KFPRI);
|
EPRI = ExtPlayerReplicationInfo(KFPRI);
|
||||||
@ -45,12 +45,12 @@ function GFxObject RefreshSlot(int SlotIndex, KFPlayerReplicationInfo KFPRI)
|
|||||||
PerkIconObject = CreateObject("Object");
|
PerkIconObject = CreateObject("Object");
|
||||||
PerkIconObject.SetString("perkIcon", ExtMemberSlots[SlotIndex].PerkClass.static.GetPerkIconPath(EPRI.ECurrentPerkLevel));
|
PerkIconObject.SetString("perkIcon", ExtMemberSlots[SlotIndex].PerkClass.static.GetPerkIconPath(EPRI.ECurrentPerkLevel));
|
||||||
PlayerInfoObject.SetObject("perkImageSource", PerkIconObject);
|
PlayerInfoObject.SetObject("perkImageSource", PerkIconObject);
|
||||||
|
|
||||||
PlayerInfoObject.SetString("perkLevel", string(EPRI.ECurrentPerkLevel));
|
PlayerInfoObject.SetString("perkLevel", string(EPRI.ECurrentPerkLevel));
|
||||||
}
|
}
|
||||||
if (!bIsMyPlayer)
|
if (!bIsMyPlayer)
|
||||||
{
|
{
|
||||||
PlayerInfoObject.SetBool("muted", EPC.IsPlayerMuted(EPRI.UniqueId));
|
PlayerInfoObject.SetBool("muted", EPC.IsPlayerMuted(EPRI.UniqueId));
|
||||||
}
|
}
|
||||||
if (class'WorldInfo'.static.IsE3Build())
|
if (class'WorldInfo'.static.IsE3Build())
|
||||||
{
|
{
|
||||||
@ -68,13 +68,13 @@ function GFxObject RefreshSlot(int SlotIndex, KFPlayerReplicationInfo KFPRI)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
PlayerInfoObject.SetString("profileImageSource", "img://"$KFPC.GetSteamAvatar(EPRI.UniqueId));
|
PlayerInfoObject.SetString("profileImageSource", "img://"$KFPC.GetSteamAvatar(EPRI.UniqueId));
|
||||||
}
|
}
|
||||||
if (KFGRI != none)
|
if (KFGRI != none)
|
||||||
{
|
{
|
||||||
PlayerInfoObject.SetBool("ready", EPRI.bReadyToPlay && !KFGRI.bMatchHasBegun);
|
PlayerInfoObject.SetBool("ready", EPRI.bReadyToPlay && !KFGRI.bMatchHasBegun);
|
||||||
}
|
}
|
||||||
|
|
||||||
return PlayerInfoObject;
|
return PlayerInfoObject;
|
||||||
}
|
}
|
||||||
|
|
||||||
defaultproperties
|
defaultproperties
|
||||||
|
@ -7,7 +7,7 @@ final function vector PickPointNearOwner()
|
|||||||
{
|
{
|
||||||
local byte i;
|
local byte i;
|
||||||
local vector V,HL,HN,Start;
|
local vector V,HL,HN,Start;
|
||||||
|
|
||||||
Start = OwnerPawn.Location;
|
Start = OwnerPawn.Location;
|
||||||
if (OwnerPawn.Physics==PHYS_Falling)
|
if (OwnerPawn.Physics==PHYS_Falling)
|
||||||
{
|
{
|
||||||
@ -20,10 +20,10 @@ final function vector PickPointNearOwner()
|
|||||||
V.X = FRand()-0.5;
|
V.X = FRand()-0.5;
|
||||||
V.Y = FRand()-0.5;
|
V.Y = FRand()-0.5;
|
||||||
V = Start + Normal2D(V) * (100.f+FRand()*500.f);
|
V = Start + Normal2D(V) * (100.f+FRand()*500.f);
|
||||||
|
|
||||||
if (i<20 && !FastTrace(V,Start)) // Destination is inside a wall.
|
if (i<20 && !FastTrace(V,Start)) // Destination is inside a wall.
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (i<20 && FastTrace(V-vect(0,0,100),V)) // Destination is above a pit.
|
if (i<20 && FastTrace(V-vect(0,0,100),V)) // Destination is above a pit.
|
||||||
continue;
|
continue;
|
||||||
break;
|
break;
|
||||||
@ -35,7 +35,7 @@ final function vector PickPointNearOwner()
|
|||||||
final function bool CanSeeOwner()
|
final function bool CanSeeOwner()
|
||||||
{
|
{
|
||||||
local Pawn P;
|
local Pawn P;
|
||||||
|
|
||||||
NextSightCheckTime = WorldInfo.TimeSeconds+1.f + FRand();
|
NextSightCheckTime = WorldInfo.TimeSeconds+1.f + FRand();
|
||||||
P = Ext_T_MonsterPRI(PlayerReplicationInfo)!=None ? Ext_T_MonsterPRI(PlayerReplicationInfo).OwnerController.Pawn : None;
|
P = Ext_T_MonsterPRI(PlayerReplicationInfo)!=None ? Ext_T_MonsterPRI(PlayerReplicationInfo).OwnerController.Pawn : None;
|
||||||
if (P!=None && !LineOfSightTo(P))
|
if (P!=None && !LineOfSightTo(P))
|
||||||
@ -66,7 +66,7 @@ Begin:
|
|||||||
UpdateHistoryString("[Attacking : "$DoorEnemy$" at "$WorldInfo.TimeSeconds$"]");
|
UpdateHistoryString("[Attacking : "$DoorEnemy$" at "$WorldInfo.TimeSeconds$"]");
|
||||||
class'AICommand_Attack_Melee'.static.Melee(Outer, DoorEnemy);
|
class'AICommand_Attack_Melee'.static.Melee(Outer, DoorEnemy);
|
||||||
}
|
}
|
||||||
|
|
||||||
// See if we are close to our owner
|
// See if we are close to our owner
|
||||||
RecheckOwner:
|
RecheckOwner:
|
||||||
OwnerPawn = None;
|
OwnerPawn = None;
|
||||||
@ -80,7 +80,7 @@ RecheckOwner:
|
|||||||
if (Enemy!=None && LineOfSightTo(OwnerPawn) && LineOfSightTo(Enemy)) // We have sight to our owner and can see enemy, go for it!
|
if (Enemy!=None && LineOfSightTo(OwnerPawn) && LineOfSightTo(Enemy)) // We have sight to our owner and can see enemy, go for it!
|
||||||
{
|
{
|
||||||
OwnerPawn = None;
|
OwnerPawn = None;
|
||||||
|
|
||||||
bWaitingOnMovementPlugIn = true;
|
bWaitingOnMovementPlugIn = true;
|
||||||
SetEnemyMoveGoal(self, true,,, ShouldAttackWhileMoving());
|
SetEnemyMoveGoal(self, true,,, ShouldAttackWhileMoving());
|
||||||
NextSightCheckTime = WorldInfo.TimeSeconds+2.f;
|
NextSightCheckTime = WorldInfo.TimeSeconds+2.f;
|
||||||
|
@ -7,6 +7,7 @@ function SpecialMoveStarted(bool bForced, Name PrevMove)
|
|||||||
|
|
||||||
function SpecialMoveEnded(Name PrevMove, Name NextMove)
|
function SpecialMoveEnded(Name PrevMove, Name NextMove)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
defaultproperties
|
defaultproperties
|
||||||
|
@ -155,7 +155,7 @@ simulated final function bool IsWeaponOnPerk(KFWeapon W)
|
|||||||
|
|
||||||
//if (W.AllowedForAllPerks())
|
//if (W.AllowedForAllPerks())
|
||||||
// return true;
|
// return true;
|
||||||
|
|
||||||
return W!=None && W.GetWeaponPerkClass(BasePerk)==BasePerk;
|
return W!=None && W.GetWeaponPerkClass(BasePerk)==BasePerk;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -186,7 +186,7 @@ simulated function PostBeginPlay()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
bOwnerNetClient = (PlayerController(Owner)!=None && LocalPlayer(PlayerController(Owner).Player)==None);
|
bOwnerNetClient = (PlayerController(Owner)!=None && LocalPlayer(PlayerController(Owner).Player)==None);
|
||||||
|
|
||||||
// Load trait classes.
|
// Load trait classes.
|
||||||
j = 0;
|
j = 0;
|
||||||
for (i=0; i<TraitClasses.Length; ++i)
|
for (i=0; i<TraitClasses.Length; ++i)
|
||||||
@ -198,7 +198,7 @@ simulated function PostBeginPlay()
|
|||||||
PerkTraits[j].TraitType = T;
|
PerkTraits[j].TraitType = T;
|
||||||
++j;
|
++j;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Setup serverside stat info (for XML log files).
|
// Setup serverside stat info (for XML log files).
|
||||||
for (j=0; j<PerkStats.Length; ++j)
|
for (j=0; j<PerkStats.Length; ++j)
|
||||||
{
|
{
|
||||||
@ -327,7 +327,7 @@ reliable client simulated function ClientReceiveTraitLvl(int Index, byte NewLeve
|
|||||||
final function SetPerkStat(name Type, int Value)
|
final function SetPerkStat(name Type, int Value)
|
||||||
{
|
{
|
||||||
local int i;
|
local int i;
|
||||||
|
|
||||||
i = PerkStats.Find('StatType',Type);
|
i = PerkStats.Find('StatType',Type);
|
||||||
if (i>=0)
|
if (i>=0)
|
||||||
PerkStats[i].CurrentValue = Value;
|
PerkStats[i].CurrentValue = Value;
|
||||||
@ -336,7 +336,7 @@ final function SetPerkStat(name Type, int Value)
|
|||||||
final function int GetPerkStat(name Type)
|
final function int GetPerkStat(name Type)
|
||||||
{
|
{
|
||||||
local int i;
|
local int i;
|
||||||
|
|
||||||
i = PerkStats.Find('StatType',Type);
|
i = PerkStats.Find('StatType',Type);
|
||||||
if (i==-1)
|
if (i==-1)
|
||||||
return 0;
|
return 0;
|
||||||
@ -385,7 +385,7 @@ function OutputXML(ExtStatWriter Data)
|
|||||||
Data.WriteValue("points",string(CurrentSP));
|
Data.WriteValue("points",string(CurrentSP));
|
||||||
Data.WriteValue("exptilnext",string(NextLevelEXP));
|
Data.WriteValue("exptilnext",string(NextLevelEXP));
|
||||||
Data.WriteValue("exponprev",string(LastLevelEXP));
|
Data.WriteValue("exponprev",string(LastLevelEXP));
|
||||||
|
|
||||||
for (i=0; i<PerkStats.Length; ++i)
|
for (i=0; i<PerkStats.Length; ++i)
|
||||||
{
|
{
|
||||||
if (PerkStats[i].CurrentValue>0)
|
if (PerkStats[i].CurrentValue>0)
|
||||||
@ -397,7 +397,7 @@ function OutputXML(ExtStatWriter Data)
|
|||||||
Data.EndIntendent();
|
Data.EndIntendent();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i=0; i<PerkTraits.Length; ++i)
|
for (i=0; i<PerkTraits.Length; ++i)
|
||||||
{
|
{
|
||||||
if (PerkTraits[i].CurrentLevel>0)
|
if (PerkTraits[i].CurrentLevel>0)
|
||||||
@ -416,10 +416,10 @@ function OutputXML(ExtStatWriter Data)
|
|||||||
function SaveData(ExtSaveDataBase Data)
|
function SaveData(ExtSaveDataBase Data)
|
||||||
{
|
{
|
||||||
local int i,j;
|
local int i,j;
|
||||||
|
|
||||||
// Write current EXP.
|
// Write current EXP.
|
||||||
Data.SaveInt(CurrentEXP,3);
|
Data.SaveInt(CurrentEXP,3);
|
||||||
|
|
||||||
// Write current prestige
|
// Write current prestige
|
||||||
Data.SaveInt(CurrentPrestige,3);
|
Data.SaveInt(CurrentPrestige,3);
|
||||||
|
|
||||||
@ -439,7 +439,7 @@ function SaveData(ExtSaveDataBase Data)
|
|||||||
Data.SaveInt(PerkStats[i].CurrentValue,1);
|
Data.SaveInt(PerkStats[i].CurrentValue,1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Count bought traits.
|
// Count bought traits.
|
||||||
j = 0;
|
j = 0;
|
||||||
for (i=0; i<PerkTraits.Length; ++i)
|
for (i=0; i<PerkTraits.Length; ++i)
|
||||||
@ -471,7 +471,7 @@ function LoadData(ExtSaveDataBase Data)
|
|||||||
// if (i > CurrentEXP)
|
// if (i > CurrentEXP)
|
||||||
// CurrentEXP = i
|
// CurrentEXP = i
|
||||||
// }
|
// }
|
||||||
|
|
||||||
if (Data.GetArVer()>=1)
|
if (Data.GetArVer()>=1)
|
||||||
CurrentPrestige = Data.ReadInt(3);
|
CurrentPrestige = Data.ReadInt(3);
|
||||||
|
|
||||||
@ -487,7 +487,7 @@ function LoadData(ExtSaveDataBase Data)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
l = Data.ReadInt(); // Traits stats length.
|
l = Data.ReadInt(); // Traits stats length.
|
||||||
for (i=0; i<l; ++i)
|
for (i=0; i<l; ++i)
|
||||||
{
|
{
|
||||||
@ -543,7 +543,7 @@ function SetInitialLevel()
|
|||||||
CurrentSP = CurrentLevel*(StarPointsPerLevel+CurrentPrestige*PrestigeSPIncrease);
|
CurrentSP = CurrentLevel*(StarPointsPerLevel+CurrentPrestige*PrestigeSPIncrease);
|
||||||
NextLevelEXP = GetNeededExp(CurrentLevel);
|
NextLevelEXP = GetNeededExp(CurrentLevel);
|
||||||
LastLevelEXP = (CurrentLevel>MinimumLevel ? GetNeededExp(CurrentLevel-1) : 0);
|
LastLevelEXP = (CurrentLevel>MinimumLevel ? GetNeededExp(CurrentLevel-1) : 0);
|
||||||
|
|
||||||
// Now verify the points player used on individual stats.
|
// Now verify the points player used on individual stats.
|
||||||
for (i=0; i<PerkStats.Length; ++i)
|
for (i=0; i<PerkStats.Length; ++i)
|
||||||
{
|
{
|
||||||
@ -571,7 +571,7 @@ function SetInitialLevel()
|
|||||||
if (PerkTraits[i].CurrentLevel>0)
|
if (PerkTraits[i].CurrentLevel>0)
|
||||||
{
|
{
|
||||||
PerkTraits[i].CurrentLevel = Min(PerkTraits[i].CurrentLevel,PerkTraits[i].TraitType.Default.NumLevels);
|
PerkTraits[i].CurrentLevel = Min(PerkTraits[i].CurrentLevel,PerkTraits[i].TraitType.Default.NumLevels);
|
||||||
|
|
||||||
if (PerkTraits[i].TraitType.Default.LoadPriority>0)
|
if (PerkTraits[i].TraitType.Default.LoadPriority>0)
|
||||||
MT = Max(MT,PerkTraits[i].TraitType.Default.LoadPriority);
|
MT = Max(MT,PerkTraits[i].TraitType.Default.LoadPriority);
|
||||||
else
|
else
|
||||||
@ -596,7 +596,7 @@ function SetInitialLevel()
|
|||||||
if (PerkTraits[i].CurrentLevel==0 && PerkTraits[i].Data!=None)
|
if (PerkTraits[i].CurrentLevel==0 && PerkTraits[i].Data!=None)
|
||||||
PerkTraits[i].TraitType.Static.CleanupTrait(ExtPlayerController(Owner),Self,PerkTraits[i].Data);
|
PerkTraits[i].TraitType.Static.CleanupTrait(ExtPlayerController(Owner),Self,PerkTraits[i].Data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Delayed loads.
|
// Delayed loads.
|
||||||
for (j=1; j<=MT; ++j)
|
for (j=1; j<=MT; ++j)
|
||||||
{
|
{
|
||||||
@ -674,14 +674,14 @@ static function UpdateConfigs(int OldVer)
|
|||||||
Default.MinimumLevel = 0;
|
Default.MinimumLevel = 0;
|
||||||
Default.MaximumLevel = 150;
|
Default.MaximumLevel = 150;
|
||||||
Default.StarPointsPerLevel = 15;
|
Default.StarPointsPerLevel = 15;
|
||||||
|
|
||||||
// Prestige.
|
// Prestige.
|
||||||
Default.MinLevelForPrestige = 140;
|
Default.MinLevelForPrestige = 140;
|
||||||
Default.PrestigeSPIncrease = 1;
|
Default.PrestigeSPIncrease = 1;
|
||||||
Default.MaxPrestige = 20;
|
Default.MaxPrestige = 20;
|
||||||
Default.MinimalDataLevel = 0;
|
Default.MinimalDataLevel = 0;
|
||||||
Default.PrestigeXPReduce = 0.05;
|
Default.PrestigeXPReduce = 0.05;
|
||||||
|
|
||||||
Default.PerkStats.Length = 0;
|
Default.PerkStats.Length = 0;
|
||||||
AddStatsCfg(0);
|
AddStatsCfg(0);
|
||||||
Default.TraitClasses.Length = Default.DefTraitList.Length;
|
Default.TraitClasses.Length = Default.DefTraitList.Length;
|
||||||
@ -754,7 +754,7 @@ static function InitWebAdmin(ExtWebAdmin_UI UI)
|
|||||||
local int i;
|
local int i;
|
||||||
|
|
||||||
UI.AddSettingsPage("Perk "$Default.PerkName,Default.Class,Default.WebConfigs,GetValue,ApplyValue);
|
UI.AddSettingsPage("Perk "$Default.PerkName,Default.Class,Default.WebConfigs,GetValue,ApplyValue);
|
||||||
|
|
||||||
for (i=0; i<Default.TraitClasses.Length; ++i)
|
for (i=0; i<Default.TraitClasses.Length; ++i)
|
||||||
{
|
{
|
||||||
T = class<Ext_TraitBase>(DynamicLoadObject(Default.TraitClasses[i],Class'Class'));
|
T = class<Ext_TraitBase>(DynamicLoadObject(Default.TraitClasses[i],Class'Class'));
|
||||||
@ -887,7 +887,7 @@ function bool IncrementStat(int iStat, int Amount)
|
|||||||
simulated function ApplyEffects()
|
simulated function ApplyEffects()
|
||||||
{
|
{
|
||||||
local int i;
|
local int i;
|
||||||
|
|
||||||
for (i=0; i<PerkStats.Length; ++i)
|
for (i=0; i<PerkStats.Length; ++i)
|
||||||
{
|
{
|
||||||
if (PerkStats[i].CurrentValue!=PerkStats[i].OldValue)
|
if (PerkStats[i].CurrentValue!=PerkStats[i].OldValue)
|
||||||
@ -903,7 +903,7 @@ function ApplyEffectsTo(KFPawn_Human P)
|
|||||||
{
|
{
|
||||||
local int i;
|
local int i;
|
||||||
local bool bSec;
|
local bool bSec;
|
||||||
|
|
||||||
for (i=0; i<PerkTraits.Length; ++i)
|
for (i=0; i<PerkTraits.Length; ++i)
|
||||||
{
|
{
|
||||||
if (PerkTraits[i].CurrentLevel>0)
|
if (PerkTraits[i].CurrentLevel>0)
|
||||||
@ -929,7 +929,7 @@ function ActivateTraits()
|
|||||||
local int i;
|
local int i;
|
||||||
local KFPawn_Human KFP;
|
local KFPawn_Human KFP;
|
||||||
local bool bSec;
|
local bool bSec;
|
||||||
|
|
||||||
KFP = KFPawn_Human(PlayerOwner.Pawn);
|
KFP = KFPawn_Human(PlayerOwner.Pawn);
|
||||||
if (KFP!=None && !KFP.IsAliveAndWell())
|
if (KFP!=None && !KFP.IsAliveAndWell())
|
||||||
KFP = None;
|
KFP = None;
|
||||||
@ -961,7 +961,7 @@ function ActivateTraits()
|
|||||||
function DeactivateTraits()
|
function DeactivateTraits()
|
||||||
{
|
{
|
||||||
local int i;
|
local int i;
|
||||||
|
|
||||||
for (i=0; i<PerkTraits.Length; ++i)
|
for (i=0; i<PerkTraits.Length; ++i)
|
||||||
{
|
{
|
||||||
if (PerkTraits[i].CurrentLevel>0)
|
if (PerkTraits[i].CurrentLevel>0)
|
||||||
@ -1114,7 +1114,7 @@ function FullReset(optional bool bNotPrestige)
|
|||||||
CurrentSP = CurrentLevel*(StarPointsPerLevel+CurrentPrestige*PrestigeSPIncrease);
|
CurrentSP = CurrentLevel*(StarPointsPerLevel+CurrentPrestige*PrestigeSPIncrease);
|
||||||
NextLevelEXP = GetNeededExp(CurrentLevel);
|
NextLevelEXP = GetNeededExp(CurrentLevel);
|
||||||
LastLevelEXP = 0;
|
LastLevelEXP = 0;
|
||||||
|
|
||||||
if (PerkManager.CurrentPerk==Self && PerkManager.PRIOwner!=None)
|
if (PerkManager.CurrentPerk==Self && PerkManager.PRIOwner!=None)
|
||||||
{
|
{
|
||||||
PerkManager.PRIOwner.SetLevelProgress(CurrentLevel,CurrentPrestige,MinimumLevel,MaximumLevel);
|
PerkManager.PRIOwner.SetLevelProgress(CurrentLevel,CurrentPrestige,MinimumLevel,MaximumLevel);
|
||||||
@ -1127,7 +1127,7 @@ function FullReset(optional bool bNotPrestige)
|
|||||||
function bool PreventDeath(KFPawn_Human Player, Controller Killer, Class<DamageType> DamType)
|
function bool PreventDeath(KFPawn_Human Player, Controller Killer, Class<DamageType> DamType)
|
||||||
{
|
{
|
||||||
local int i;
|
local int i;
|
||||||
|
|
||||||
// Doing 2 passes of this so that things don't go out of order (spawn retaliation effect when you get redeemed etc)
|
// Doing 2 passes of this so that things don't go out of order (spawn retaliation effect when you get redeemed etc)
|
||||||
for (i=0; i<PerkTraits.Length; ++i)
|
for (i=0; i<PerkTraits.Length; ++i)
|
||||||
{
|
{
|
||||||
@ -1160,7 +1160,7 @@ simulated function PlayerDied()
|
|||||||
simulated function float ApplyEffect(name Type, float Value, float Progress)
|
simulated function float ApplyEffect(name Type, float Value, float Progress)
|
||||||
{
|
{
|
||||||
local bool bActivePerk;
|
local bool bActivePerk;
|
||||||
|
|
||||||
bActivePerk = (PerkManager!=None && PerkManager.CurrentPerk==Self);
|
bActivePerk = (PerkManager!=None && PerkManager.CurrentPerk==Self);
|
||||||
switch (Type)
|
switch (Type)
|
||||||
{
|
{
|
||||||
@ -1171,10 +1171,10 @@ simulated function float ApplyEffect(name Type, float Value, float Progress)
|
|||||||
Modifiers[1] = 1.f + (Value*Progress);
|
Modifiers[1] = 1.f + (Value*Progress);
|
||||||
break;
|
break;
|
||||||
case 'Recoil':
|
case 'Recoil':
|
||||||
Modifiers[2] = 1.f / (1.f+Value*Progress);
|
Modifiers[2] = 1.f - (Value*Progress);
|
||||||
break;
|
break;
|
||||||
case 'Spread':
|
case 'Spread':
|
||||||
Modifiers[3] = 1.f / (1.f+Value*Progress);
|
Modifiers[3] = 1.f - (Value*Progress);
|
||||||
break;
|
break;
|
||||||
case 'Rate':
|
case 'Rate':
|
||||||
Modifiers[4] = 1.f / (1.f+Value*Progress);
|
Modifiers[4] = 1.f / (1.f+Value*Progress);
|
||||||
@ -1191,8 +1191,8 @@ simulated function float ApplyEffect(name Type, float Value, float Progress)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'KnockDown':
|
case 'KnockDown':
|
||||||
Modifiers[7] = FMin(1.f + (Value*Progress),2.f);
|
Modifiers[7] = 1.f + (Value*Progress);
|
||||||
return (Modifiers[7]-1.f);
|
break;
|
||||||
case 'Welder':
|
case 'Welder':
|
||||||
Modifiers[8] = 1.f + (Value*Progress);
|
Modifiers[8] = 1.f + (Value*Progress);
|
||||||
break;
|
break;
|
||||||
@ -1243,7 +1243,7 @@ simulated function float ApplyEffect(name Type, float Value, float Progress)
|
|||||||
break;
|
break;
|
||||||
case 'Switch':
|
case 'Switch':
|
||||||
Modifiers[21] = 1.f / (1.f+Value*Progress);
|
Modifiers[21] = 1.f / (1.f+Value*Progress);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return (Value*Progress);
|
return (Value*Progress);
|
||||||
}
|
}
|
||||||
@ -1301,7 +1301,7 @@ simulated function float GetReloadRateScale(KFWeapon KFW)
|
|||||||
}
|
}
|
||||||
|
|
||||||
simulated function float GetCameraViewShakeModifier(KFWeapon KFW)
|
simulated function float GetCameraViewShakeModifier(KFWeapon KFW)
|
||||||
{
|
{
|
||||||
return Modifiers[2];
|
return Modifiers[2];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1341,7 +1341,7 @@ function AddDefaultInventory(KFPawn P)
|
|||||||
P.DefaultInventory.AddItem(PrimaryMelee);
|
P.DefaultInventory.AddItem(PrimaryMelee);
|
||||||
if (KFInventoryManager(P.InvManager)!=None)
|
if (KFInventoryManager(P.InvManager)!=None)
|
||||||
KFInventoryManager(P.InvManager).MaxCarryBlocks = KFInventoryManager(P.InvManager).Default.MaxCarryBlocks+Modifiers[10];
|
KFInventoryManager(P.InvManager).MaxCarryBlocks = KFInventoryManager(P.InvManager).Default.MaxCarryBlocks+Modifiers[10];
|
||||||
|
|
||||||
for (i=0; i<PerkTraits.Length; ++i)
|
for (i=0; i<PerkTraits.Length; ++i)
|
||||||
{
|
{
|
||||||
if (PerkTraits[i].CurrentLevel>0)
|
if (PerkTraits[i].CurrentLevel>0)
|
||||||
@ -1409,7 +1409,7 @@ simulated final function DrawEnemyHealth(Canvas C)
|
|||||||
{
|
{
|
||||||
local KFPawn_Monster KFPM;
|
local KFPawn_Monster KFPM;
|
||||||
local vector X,CameraLocation;
|
local vector X,CameraLocation;
|
||||||
|
|
||||||
X = vector(PlayerOwner.Pawn.GetViewRotation());
|
X = vector(PlayerOwner.Pawn.GetViewRotation());
|
||||||
CameraLocation = PlayerOwner.Pawn.GetPawnViewLocation();
|
CameraLocation = PlayerOwner.Pawn.GetPawnViewLocation();
|
||||||
|
|
||||||
@ -1499,7 +1499,7 @@ simulated function float GetZedTimeExtensions(byte Level)
|
|||||||
|
|
||||||
simulated function float GetTightChokeModifier()
|
simulated function float GetTightChokeModifier()
|
||||||
{
|
{
|
||||||
return Modifiers[3];
|
return Modifiers[3];
|
||||||
}
|
}
|
||||||
|
|
||||||
defaultproperties
|
defaultproperties
|
||||||
@ -1515,11 +1515,11 @@ defaultproperties
|
|||||||
WeldExpUpNum=180
|
WeldExpUpNum=180
|
||||||
ToxicDartDamage=15
|
ToxicDartDamage=15
|
||||||
NetPriority=4
|
NetPriority=4
|
||||||
|
|
||||||
SecondaryWeaponDef=class'KFWeapDef_9mm'
|
SecondaryWeaponDef=class'KFWeapDef_9mm'
|
||||||
KnifeWeaponDef=class'KFWeapDef_Knife_Commando'
|
KnifeWeaponDef=class'KFWeapDef_Knife_Commando'
|
||||||
GrenadeWeaponDef=class'KFWeapDef_Grenade_Support'
|
GrenadeWeaponDef=class'KFWeapDef_Grenade_Support'
|
||||||
|
|
||||||
DefTraitList.Add(class'Ext_TraitGrenadeUpg')
|
DefTraitList.Add(class'Ext_TraitGrenadeUpg')
|
||||||
DefTraitList.Add(class'Ext_TraitNightvision')
|
DefTraitList.Add(class'Ext_TraitNightvision')
|
||||||
DefTraitList.Add(class'Ext_TraitAmmoReg')
|
DefTraitList.Add(class'Ext_TraitAmmoReg')
|
||||||
@ -1553,11 +1553,11 @@ defaultproperties
|
|||||||
WebConfigs.Add((PropType=0,PropName="MaxPrestige",UIName="Max Prestige",UIDesc="Maximum prestige level"))
|
WebConfigs.Add((PropType=0,PropName="MaxPrestige",UIName="Max Prestige",UIDesc="Maximum prestige level"))
|
||||||
WebConfigs.Add((PropType=0,PropName="PrestigeXPReduce",UIName="Prestige XP Reduce",UIDesc="Percent amount of XP cost is reduced for each prestige (1.0 = 1/2, or 50 % of XP)"))
|
WebConfigs.Add((PropType=0,PropName="PrestigeXPReduce",UIName="Prestige XP Reduce",UIDesc="Percent amount of XP cost is reduced for each prestige (1.0 = 1/2, or 50 % of XP)"))
|
||||||
// WebConfigs.Add((PropType=0,PropName="MinimalDataLevel",UIName="Minimal Real Level",UIDesc="Minimal level for new players or who loads from saves"))
|
// WebConfigs.Add((PropType=0,PropName="MinimalDataLevel",UIName="Minimal Real Level",UIDesc="Minimal level for new players or who loads from saves"))
|
||||||
|
|
||||||
DefPerkStats(0)=(MaxValue=50,CostPerValue=1,StatType="Speed",Progress=0.4)
|
DefPerkStats(0)=(MaxValue=50,CostPerValue=1,StatType="Speed",Progress=0.4)
|
||||||
DefPerkStats(1)=(MaxValue=1000,CostPerValue=1,StatType="Damage",Progress=0.5)
|
DefPerkStats(1)=(MaxValue=1000,CostPerValue=1,StatType="Damage",Progress=0.5)
|
||||||
DefPerkStats(2)=(MaxValue=90,CostPerValue=1,StatType="Recoil",Progress=1)
|
DefPerkStats(2)=(MaxValue=100,CostPerValue=1,StatType="Recoil",Progress=1)
|
||||||
DefPerkStats(3)=(MaxValue=80,CostPerValue=1,StatType="Spread",Progress=0.75)
|
DefPerkStats(3)=(MaxValue=100,CostPerValue=1,StatType="Spread",Progress=1)
|
||||||
DefPerkStats(4)=(MaxValue=1000,CostPerValue=1,StatType="Rate",Progress=0.5)
|
DefPerkStats(4)=(MaxValue=1000,CostPerValue=1,StatType="Rate",Progress=0.5)
|
||||||
DefPerkStats(5)=(MaxValue=1000,CostPerValue=1,StatType="Reload",Progress=0.5)
|
DefPerkStats(5)=(MaxValue=1000,CostPerValue=1,StatType="Reload",Progress=0.5)
|
||||||
DefPerkStats(6)=(MaxValue=150,CostPerValue=1,StatType="Health",Progress=1)
|
DefPerkStats(6)=(MaxValue=150,CostPerValue=1,StatType="Health",Progress=1)
|
||||||
@ -1599,7 +1599,7 @@ defaultproperties
|
|||||||
Modifiers.Add(0.f)
|
Modifiers.Add(0.f)
|
||||||
Modifiers.Add(1.f)
|
Modifiers.Add(1.f)
|
||||||
Modifiers.Add(1.f)
|
Modifiers.Add(1.f)
|
||||||
|
|
||||||
EnemyDistDraw.Add(500)
|
EnemyDistDraw.Add(500)
|
||||||
EnemyDistDraw.Add(700)
|
EnemyDistDraw.Add(700)
|
||||||
EnemyDistDraw.Add(1000)
|
EnemyDistDraw.Add(1000)
|
||||||
|
@ -45,12 +45,12 @@ defaultproperties
|
|||||||
PrimaryMelee=class'KFWeap_Knife_Berserker'
|
PrimaryMelee=class'KFWeap_Knife_Berserker'
|
||||||
PrimaryWeapon=class'KFWeap_Blunt_Crovel'
|
PrimaryWeapon=class'KFWeap_Blunt_Crovel'
|
||||||
PerkGrenade=class'KFProj_EMPGrenade'
|
PerkGrenade=class'KFProj_EMPGrenade'
|
||||||
|
|
||||||
PrimaryWeaponDef=class'KFWeapDef_Crovel'
|
PrimaryWeaponDef=class'KFWeapDef_Crovel'
|
||||||
KnifeWeaponDef=class'KFweapDef_Knife_Berserker'
|
KnifeWeaponDef=class'KFweapDef_Knife_Berserker'
|
||||||
GrenadeWeaponDef=class'KFWeapDef_Grenade_Berserker'
|
GrenadeWeaponDef=class'KFWeapDef_Grenade_Berserker'
|
||||||
|
|
||||||
AutoBuyLoadOutPath=(class'KFWeapDef_Crovel', class'KFWeapDef_Nailgun', class'KFWeapDef_Pulverizer', class'KFWeapDef_Eviscerator')
|
AutoBuyLoadOutPath=(class'KFWeapDef_Crovel', class'KFWeapDef_Nailgun', class'KFWeapDef_Pulverizer', class'KFWeapDef_Eviscerator')
|
||||||
|
|
||||||
ZedTimeMeleeAtkRate=1.0
|
ZedTimeMeleeAtkRate=1.0
|
||||||
}
|
}
|
@ -22,7 +22,7 @@ simulated function ModifyDamageGiven(out int InDamage, optional Actor DamageCaus
|
|||||||
if (bUseMachineGunner && WorldInfo.TimeDilation < 1.f)
|
if (bUseMachineGunner && WorldInfo.TimeDilation < 1.f)
|
||||||
InDamage += InDamage * 0.03;
|
InDamage += InDamage * 0.03;
|
||||||
}
|
}
|
||||||
|
|
||||||
Super.ModifyDamageGiven(InDamage, DamageCauser, MyKFPM, DamageInstigator, DamageType, HitZoneIdx);
|
Super.ModifyDamageGiven(InDamage, DamageCauser, MyKFPM, DamageInstigator, DamageType, HitZoneIdx);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -61,7 +61,7 @@ defaultproperties
|
|||||||
DefTraitList.Add(class'Ext_TraitTactician')
|
DefTraitList.Add(class'Ext_TraitTactician')
|
||||||
DefTraitList.Add(class'Ext_TraitMachineGunner')
|
DefTraitList.Add(class'Ext_TraitMachineGunner')
|
||||||
BasePerk=class'KFPerk_Commando'
|
BasePerk=class'KFPerk_Commando'
|
||||||
|
|
||||||
ZTExtCount=1.f;
|
ZTExtCount=1.f;
|
||||||
|
|
||||||
PrimaryMelee=class'KFWeap_Knife_Commando'
|
PrimaryMelee=class'KFWeap_Knife_Commando'
|
||||||
@ -71,6 +71,6 @@ defaultproperties
|
|||||||
PrimaryWeaponDef=class'KFWeapDef_AR15'
|
PrimaryWeaponDef=class'KFWeapDef_AR15'
|
||||||
KnifeWeaponDef=class'KFweapDef_Knife_Commando'
|
KnifeWeaponDef=class'KFweapDef_Knife_Commando'
|
||||||
GrenadeWeaponDef=class'KFWeapDef_Grenade_Commando'
|
GrenadeWeaponDef=class'KFWeapDef_Grenade_Commando'
|
||||||
|
|
||||||
AutoBuyLoadOutPath=(class'KFWeapDef_AR15', class'KFWeapDef_Bullpup', class'KFWeapDef_AK12', class'KFWeapDef_SCAR')
|
AutoBuyLoadOutPath=(class'KFWeapDef_AR15', class'KFWeapDef_Bullpup', class'KFWeapDef_AK12', class'KFWeapDef_SCAR')
|
||||||
}
|
}
|
@ -25,13 +25,13 @@ simulated function float ApplyEffect(name Type, float Value, float Progress)
|
|||||||
{
|
{
|
||||||
local KFPlayerReplicationInfo MyPRI;
|
local KFPlayerReplicationInfo MyPRI;
|
||||||
local float DefValue;
|
local float DefValue;
|
||||||
|
|
||||||
DefValue = Super.ApplyEffect(Type, Value, Progress);
|
DefValue = Super.ApplyEffect(Type, Value, Progress);
|
||||||
MyPRI = KFPlayerReplicationInfo(PlayerOwner.PlayerReplicationInfo);
|
MyPRI = KFPlayerReplicationInfo(PlayerOwner.PlayerReplicationInfo);
|
||||||
|
|
||||||
if (MyPRI != None && Type == 'KnockDown')
|
if (MyPRI != None && Type == 'KnockDown')
|
||||||
MyPRI.bConcussiveActive = Modifiers[7] > 1.5;
|
MyPRI.bConcussiveActive = Modifiers[7] > 1.5;
|
||||||
|
|
||||||
return DefValue;
|
return DefValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -50,10 +50,10 @@ simulated function ModifyDamageGiven(out int InDamage, optional Actor DamageCaus
|
|||||||
if (bCriticalHit && MyKFPM != none && IsCriticalHitZone(MyKFPM, HitZoneIdx))
|
if (bCriticalHit && MyKFPM != none && IsCriticalHitZone(MyKFPM, HitZoneIdx))
|
||||||
InDamage *= 1.5f;
|
InDamage *= 1.5f;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (class<KFDT_DemoNuke_Toxic_Lingering>(DamageType) != None)
|
if (class<KFDT_DemoNuke_Toxic_Lingering>(DamageType) != None)
|
||||||
InDamage *= NukeDamageMult;
|
InDamage *= NukeDamageMult;
|
||||||
|
|
||||||
Super.ModifyDamageGiven(InDamage, DamageCauser, MyKFPM, DamageInstigator, DamageType, HitZoneIdx);
|
Super.ModifyDamageGiven(InDamage, DamageCauser, MyKFPM, DamageInstigator, DamageType, HitZoneIdx);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,7 +69,7 @@ simulated function ModifySpareAmmoAmount(KFWeapon KFW, out int PrimarySpareAmmo,
|
|||||||
{
|
{
|
||||||
if (KFW != None && KFWeap_Thrown_C4(KFW) != None)
|
if (KFW != None && KFWeap_Thrown_C4(KFW) != None)
|
||||||
PrimarySpareAmmo += (1 + Modifiers[11]);
|
PrimarySpareAmmo += (1 + Modifiers[11]);
|
||||||
|
|
||||||
Super.ModifySpareAmmoAmount(KFW, PrimarySpareAmmo, TraderItem, bSecondary);
|
Super.ModifySpareAmmoAmount(KFW, PrimarySpareAmmo, TraderItem, bSecondary);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -88,20 +88,20 @@ defaultproperties
|
|||||||
DefTraitList.Add(class'Ext_TraitDemoNuke')
|
DefTraitList.Add(class'Ext_TraitDemoNuke')
|
||||||
DefTraitList.Add(class'Ext_TraitDemoProfessional')
|
DefTraitList.Add(class'Ext_TraitDemoProfessional')
|
||||||
BasePerk=class'KFPerk_Demolitionist'
|
BasePerk=class'KFPerk_Demolitionist'
|
||||||
|
|
||||||
AOEMult=1.0f
|
AOEMult=1.0f
|
||||||
NukeDamageMult=1.0f
|
NukeDamageMult=1.0f
|
||||||
|
|
||||||
PrimaryMelee=class'KFWeap_Knife_Demolitionist'
|
PrimaryMelee=class'KFWeap_Knife_Demolitionist'
|
||||||
PrimaryWeapon=class'KFWeap_GrenadeLauncher_HX25'
|
PrimaryWeapon=class'KFWeap_GrenadeLauncher_HX25'
|
||||||
PerkGrenade=class'KFProj_DynamiteGrenade'
|
PerkGrenade=class'KFProj_DynamiteGrenade'
|
||||||
|
|
||||||
PrimaryWeaponDef=class'KFWeapDef_HX25'
|
PrimaryWeaponDef=class'KFWeapDef_HX25'
|
||||||
KnifeWeaponDef=class'KFWeapDef_Knife_Demo'
|
KnifeWeaponDef=class'KFWeapDef_Knife_Demo'
|
||||||
GrenadeWeaponDef=class'KFWeapDef_Grenade_Demo'
|
GrenadeWeaponDef=class'KFWeapDef_Grenade_Demo'
|
||||||
|
|
||||||
AutoBuyLoadOutPath=(class'KFWeapDef_HX25', class'KFWeapDef_M79', class'KFWeapDef_M16M203', class'KFWeapDef_RPG7')
|
AutoBuyLoadOutPath=(class'KFWeapDef_HX25', class'KFWeapDef_M79', class'KFWeapDef_M16M203', class'KFWeapDef_RPG7')
|
||||||
|
|
||||||
DefPerkStats(10)=(bHiddenConfig=true) // No support for mag size on demo.
|
DefPerkStats(10)=(bHiddenConfig=true) // No support for mag size on demo.
|
||||||
DefPerkStats(13)=(bHiddenConfig=false) // Self damage.
|
DefPerkStats(13)=(bHiddenConfig=false) // Self damage.
|
||||||
}
|
}
|
@ -22,7 +22,7 @@ simulated function ModifyDamageGiven(out int InDamage, optional Actor DamageCaus
|
|||||||
TempDamage += InDamage * 100;
|
TempDamage += InDamage * 100;
|
||||||
|
|
||||||
InDamage = Round(TempDamage);
|
InDamage = Round(TempDamage);
|
||||||
|
|
||||||
Super.ModifyDamageGiven(InDamage, DamageCauser, MyKFPM, DamageInstigator, DamageType, HitZoneIdx);
|
Super.ModifyDamageGiven(InDamage, DamageCauser, MyKFPM, DamageInstigator, DamageType, HitZoneIdx);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -57,7 +57,7 @@ function bool ModifyHealAmount(out float HealAmount)
|
|||||||
// Di
|
// Di
|
||||||
// simulated function ModifyHealerRechargeTime(out float RechargeRate)
|
// simulated function ModifyHealerRechargeTime(out float RechargeRate)
|
||||||
// {
|
// {
|
||||||
// super.ModifyHealerRechargeTime(RechargeRate)
|
// super.ModifyHealerRechargeTime(RechargeRate)
|
||||||
// RechargeRate /= Clamp(Modifiers[9] * 2, 1.f, 3.f);
|
// RechargeRate /= Clamp(Modifiers[9] * 2, 1.f, 3.f);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
@ -79,7 +79,7 @@ function GiveMedicAirborneAgentHealth(KFPawn HealTarget, class<DamageType> DamTy
|
|||||||
if (KFP.IsAliveAndWell() && WorldInfo.GRI.OnSameTeam(HealTarget, KFP))
|
if (KFP.IsAliveAndWell() && WorldInfo.GRI.OnSameTeam(HealTarget, KFP))
|
||||||
{
|
{
|
||||||
if (HealTarget == KFP)
|
if (HealTarget == KFP)
|
||||||
KFP.HealDamage(RoundedExtraHealAmount, PlayerOwner, DamType);
|
KFP.HealDamage(RoundedExtraHealAmount, PlayerOwner, DamType);
|
||||||
else KFP.HealDamage(RoundedExtraHealAmount + HealAmount, PlayerOwner, DamType);
|
else KFP.HealDamage(RoundedExtraHealAmount + HealAmount, PlayerOwner, DamType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -101,9 +101,9 @@ static function int ModifyToxicDmg(int ToxicDamage)
|
|||||||
function NotifyZedTimeStarted()
|
function NotifyZedTimeStarted()
|
||||||
{
|
{
|
||||||
local KFPawn_Human HPawn;
|
local KFPawn_Human HPawn;
|
||||||
|
|
||||||
HPawn = KFPawn_Human(PlayerOwner.Pawn);
|
HPawn = KFPawn_Human(PlayerOwner.Pawn);
|
||||||
|
|
||||||
if (bUseAirborneAgent && HPawn != none && HPawn.IsAliveAndWell())
|
if (bUseAirborneAgent && HPawn != none && HPawn.IsAliveAndWell())
|
||||||
HPawn.StartAirBorneAgentEvent();
|
HPawn.StartAirBorneAgentEvent();
|
||||||
}
|
}
|
||||||
@ -186,8 +186,8 @@ simulated function float GetHealingShieldDuration()
|
|||||||
}
|
}
|
||||||
|
|
||||||
simulated function float GetSelfHealingSurgePct()
|
simulated function float GetSelfHealingSurgePct()
|
||||||
{
|
{
|
||||||
return SelfHealingSurgePct;
|
return SelfHealingSurgePct;
|
||||||
}
|
}
|
||||||
|
|
||||||
defaultproperties
|
defaultproperties
|
||||||
@ -205,40 +205,40 @@ defaultproperties
|
|||||||
DefTraitList.Add(class'Ext_TraitArmorRep')
|
DefTraitList.Add(class'Ext_TraitArmorRep')
|
||||||
BasePerk=class'KFPerk_FieldMedic'
|
BasePerk=class'KFPerk_FieldMedic'
|
||||||
HealExpUpNum=3
|
HealExpUpNum=3
|
||||||
|
|
||||||
HealingSpeedBoostPct = 10.0f
|
HealingSpeedBoostPct = 10.0f
|
||||||
HealingDamageBoostPct = 5.0f
|
HealingDamageBoostPct = 5.0f
|
||||||
HealingShieldPct = 10.0f
|
HealingShieldPct = 10.0f
|
||||||
|
|
||||||
ToxicDmgTypeClass=class'KFDT_Toxic_AcidicRounds'
|
ToxicDmgTypeClass=class'KFDT_Toxic_AcidicRounds'
|
||||||
|
|
||||||
SelfHealingSurgePct=0.1f
|
SelfHealingSurgePct=0.1f
|
||||||
|
|
||||||
MaxHealingSpeedBoost=30
|
MaxHealingSpeedBoost=30
|
||||||
HealingSpeedBoostDuration=5.f
|
HealingSpeedBoostDuration=5.f
|
||||||
|
|
||||||
MaxHealingDamageBoost=20
|
MaxHealingDamageBoost=20
|
||||||
HealingDamageBoostDuration=5.f
|
HealingDamageBoostDuration=5.f
|
||||||
|
|
||||||
MaxHealingShield=30
|
MaxHealingShield=30
|
||||||
HealingShieldDuration=5.0f
|
HealingShieldDuration=5.0f
|
||||||
|
|
||||||
DefPerkStats(0)=(MaxValue=70)
|
DefPerkStats(0)=(MaxValue=70)
|
||||||
DefPerkStats(9)=(bHiddenConfig=false) // Heal efficiency
|
DefPerkStats(9)=(bHiddenConfig=false) // Heal efficiency
|
||||||
DefPerkStats(15)=(bHiddenConfig=false) // Toxic resistance
|
DefPerkStats(15)=(bHiddenConfig=false) // Toxic resistance
|
||||||
DefPerkStats(16)=(bHiddenConfig=false) // Sonic resistance
|
DefPerkStats(16)=(bHiddenConfig=false) // Sonic resistance
|
||||||
DefPerkStats(17)=(bHiddenConfig=false) // Fire resistance
|
DefPerkStats(17)=(bHiddenConfig=false) // Fire resistance
|
||||||
DefPerkStats(20)=(bHiddenConfig=false) // Heal recharge
|
DefPerkStats(20)=(bHiddenConfig=false) // Heal recharge
|
||||||
|
|
||||||
PrimaryMelee=class'KFWeap_Knife_FieldMedic'
|
PrimaryMelee=class'KFWeap_Knife_FieldMedic'
|
||||||
PrimaryWeapon=None
|
PrimaryWeapon=None
|
||||||
PerkGrenade=class'KFProj_MedicGrenade'
|
PerkGrenade=class'KFProj_MedicGrenade'
|
||||||
SuperGrenade=class'ExtProj_SUPERMedGrenade'
|
SuperGrenade=class'ExtProj_SUPERMedGrenade'
|
||||||
SecondaryWeaponDef=class'ExtWeapDef_MedicPistol'
|
SecondaryWeaponDef=class'ExtWeapDef_MedicPistol'
|
||||||
|
|
||||||
PrimaryWeaponDef=None
|
PrimaryWeaponDef=None
|
||||||
KnifeWeaponDef=class'KFWeapDef_Knife_Medic'
|
KnifeWeaponDef=class'KFWeapDef_Knife_Medic'
|
||||||
GrenadeWeaponDef=class'KFWeapDef_Grenade_Medic'
|
GrenadeWeaponDef=class'KFWeapDef_Grenade_Medic'
|
||||||
|
|
||||||
AutoBuyLoadOutPath=(class'KFWeapDef_MedicSMG', class'KFWeapDef_MedicShotgun', class'KFWeapDef_MedicRifle')
|
AutoBuyLoadOutPath=(class'KFWeapDef_MedicSMG', class'KFWeapDef_MedicShotgun', class'KFWeapDef_MedicRifle')
|
||||||
}
|
}
|
@ -1,5 +1,48 @@
|
|||||||
Class Ext_PerkFirebug extends Ext_PerkBase;
|
Class Ext_PerkFirebug extends Ext_PerkBase;
|
||||||
|
|
||||||
|
var bool bUseInferno,bUsePyromaniac,bUseGroundFire,bUseHeatWave;
|
||||||
|
|
||||||
|
replication
|
||||||
|
{
|
||||||
|
// Things the server should send to the client.
|
||||||
|
if (true)
|
||||||
|
bUseInferno,bUsePyromaniac,bUseGroundFire,bUseHeatWave;
|
||||||
|
}
|
||||||
|
|
||||||
|
simulated final private function bool IsInfernoActive()
|
||||||
|
{
|
||||||
|
return bUseInferno && WorldInfo.TimeDilation < 1.f;
|
||||||
|
}
|
||||||
|
|
||||||
|
simulated function bool GetIsUberAmmoActive(KFWeapon KFW)
|
||||||
|
{
|
||||||
|
return bUsePyromaniac && IsWeaponOnPerk(KFW) && WorldInfo.TimeDilation < 1.f;
|
||||||
|
}
|
||||||
|
|
||||||
|
simulated function float GetZedTimeModifier(KFWeapon W)
|
||||||
|
{
|
||||||
|
local name StateName;
|
||||||
|
|
||||||
|
if (bUsePyromaniac && IsWeaponOnPerk(W))
|
||||||
|
{
|
||||||
|
StateName = W.GetStateName();
|
||||||
|
if (BasePerk.Default.ZedTimeModifyingStates.Find(StateName) != INDEX_NONE || StateName == 'Reloading')
|
||||||
|
return 1.f;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0.f;
|
||||||
|
}
|
||||||
|
|
||||||
|
simulated final private function bool IsGroundFireActive()
|
||||||
|
{
|
||||||
|
return bUseGroundFire;
|
||||||
|
}
|
||||||
|
|
||||||
|
simulated final private function bool IsHeatWaveActive()
|
||||||
|
{
|
||||||
|
return bUseHeatWave;
|
||||||
|
}
|
||||||
|
|
||||||
defaultproperties
|
defaultproperties
|
||||||
{
|
{
|
||||||
PerkIcon=Texture2D'UI_PerkIcons_TEX.UI_PerkIcon_Firebug'
|
PerkIcon=Texture2D'UI_PerkIcons_TEX.UI_PerkIcon_Firebug'
|
||||||
@ -7,6 +50,10 @@ defaultproperties
|
|||||||
DefTraitList.Add(class'Ext_TraitNapalm')
|
DefTraitList.Add(class'Ext_TraitNapalm')
|
||||||
DefTraitList.Add(class'Ext_TraitFireExplode')
|
DefTraitList.Add(class'Ext_TraitFireExplode')
|
||||||
DefTraitList.Add(class'Ext_TraitFireRange')
|
DefTraitList.Add(class'Ext_TraitFireRange')
|
||||||
|
DefTraitList.Add(class'Ext_TraitInferno')
|
||||||
|
DefTraitList.Add(class'Ext_TraitPyromaniac')
|
||||||
|
DefTraitList.Add(class'Ext_TraitGroundFire')
|
||||||
|
DefTraitList.Add(class'Ext_TraitHeatWave')
|
||||||
BasePerk=class'KFPerk_Firebug'
|
BasePerk=class'KFPerk_Firebug'
|
||||||
|
|
||||||
PrimaryMelee=class'KFWeap_Knife_Firebug'
|
PrimaryMelee=class'KFWeap_Knife_Firebug'
|
||||||
@ -17,9 +64,9 @@ defaultproperties
|
|||||||
PrimaryWeaponDef=class'KFWeapDef_CaulkBurn'
|
PrimaryWeaponDef=class'KFWeapDef_CaulkBurn'
|
||||||
KnifeWeaponDef=class'KFWeapDef_Knife_Firebug'
|
KnifeWeaponDef=class'KFWeapDef_Knife_Firebug'
|
||||||
GrenadeWeaponDef=class'KFWeapDef_Grenade_Firebug'
|
GrenadeWeaponDef=class'KFWeapDef_Grenade_Firebug'
|
||||||
|
|
||||||
AutoBuyLoadOutPath=(class'KFWeapDef_CaulkBurn', class'KFWeapDef_DragonsBreath', class'KFWeapDef_FlameThrower', class'KFWeapDef_MicrowaveGun')
|
AutoBuyLoadOutPath=(class'KFWeapDef_CaulkBurn', class'KFWeapDef_DragonsBreath', class'KFWeapDef_FlameThrower', class'KFWeapDef_MicrowaveGun')
|
||||||
|
|
||||||
DefPerkStats(13)=(Progress=3,bHiddenConfig=false) // Self damage.
|
DefPerkStats(13)=(Progress=3,bHiddenConfig=false) // Self damage.
|
||||||
DefPerkStats(17)=(bHiddenConfig=false) // Fire resistance
|
DefPerkStats(17)=(bHiddenConfig=false) // Fire resistance
|
||||||
}
|
}
|
@ -22,7 +22,7 @@ simulated function bool GetIsUberAmmoActive(KFWeapon KFW)
|
|||||||
simulated function float GetZedTimeModifier(KFWeapon W)
|
simulated function float GetZedTimeModifier(KFWeapon W)
|
||||||
{
|
{
|
||||||
local name StateName;
|
local name StateName;
|
||||||
|
|
||||||
if (bHasFanfire && IsWeaponOnPerk(W))
|
if (bHasFanfire && IsWeaponOnPerk(W))
|
||||||
{
|
{
|
||||||
StateName = W.GetStateName();
|
StateName = W.GetStateName();
|
||||||
@ -45,10 +45,10 @@ defaultproperties
|
|||||||
PrimaryMelee=class'KFWeap_Knife_Gunslinger'
|
PrimaryMelee=class'KFWeap_Knife_Gunslinger'
|
||||||
PrimaryWeapon=class'KFWeap_Revolver_DualRem1858'
|
PrimaryWeapon=class'KFWeap_Revolver_DualRem1858'
|
||||||
PerkGrenade=class'KFProj_NailBombGrenade'
|
PerkGrenade=class'KFProj_NailBombGrenade'
|
||||||
|
|
||||||
PrimaryWeaponDef=class'KFWeapDef_Remington1858Dual'
|
PrimaryWeaponDef=class'KFWeapDef_Remington1858Dual'
|
||||||
KnifeWeaponDef=class'KFWeapDef_Knife_Gunslinger'
|
KnifeWeaponDef=class'KFWeapDef_Knife_Gunslinger'
|
||||||
GrenadeWeaponDef=class'KFWeapDef_Grenade_Gunslinger'
|
GrenadeWeaponDef=class'KFWeapDef_Grenade_Gunslinger'
|
||||||
|
|
||||||
AutoBuyLoadOutPath=(class'KFWeapDef_Remington1858', class'KFWeapDef_Remington1858Dual', class'KFWeapDef_Colt1911', class'KFWeapDef_Colt1911Dual',class'KFWeapDef_Deagle', class'KFWeapDef_DeagleDual', class'KFWeapDef_SW500', class'KFWeapDef_SW500Dual')
|
AutoBuyLoadOutPath=(class'KFWeapDef_Remington1858', class'KFWeapDef_Remington1858Dual', class'KFWeapDef_Colt1911', class'KFWeapDef_Colt1911Dual',class'KFWeapDef_Deagle', class'KFWeapDef_DeagleDual', class'KFWeapDef_SW500', class'KFWeapDef_SW500Dual')
|
||||||
}
|
}
|
@ -52,16 +52,16 @@ final function UpdateDmgScale(bool bUp)
|
|||||||
function UpdatePerkHeadShots(ImpactInfo Impact, class<DamageType> DamageType, int NumHit)
|
function UpdatePerkHeadShots(ImpactInfo Impact, class<DamageType> DamageType, int NumHit)
|
||||||
{
|
{
|
||||||
local int HitZoneIdx;
|
local int HitZoneIdx;
|
||||||
local KFPawn_Monster KFPM;
|
local KFPawn_Monster KFPM;
|
||||||
|
|
||||||
if (MaxRhythmCombo<=0)
|
if (MaxRhythmCombo<=0)
|
||||||
return;
|
return;
|
||||||
KFPM = KFPawn_Monster(Impact.HitActor);
|
KFPM = KFPawn_Monster(Impact.HitActor);
|
||||||
if (KFPM==none || KFPM.GetTeamNum()==0)
|
if (KFPM==none || KFPM.GetTeamNum()==0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
HitZoneIdx = KFPM.HitZones.Find('ZoneName', Impact.HitInfo.BoneName);
|
HitZoneIdx = KFPM.HitZones.Find('ZoneName', Impact.HitInfo.BoneName);
|
||||||
if (HitZoneIdx == HZI_Head && KFPM.IsAliveAndWell())
|
if (HitZoneIdx == HZI_Head && KFPM.IsAliveAndWell())
|
||||||
{
|
{
|
||||||
if (class<KFDamageType>(DamageType)!=None && (class<KFDamageType>(DamageType).Default.ModifierPerkList.Find(BasePerk)>=0))
|
if (class<KFDamageType>(DamageType)!=None && (class<KFDamageType>(DamageType).Default.ModifierPerkList.Find(BasePerk)>=0))
|
||||||
UpdateDmgScale(true);
|
UpdateDmgScale(true);
|
||||||
@ -87,7 +87,7 @@ reliable client function HeadShotMessage(byte HeadShotNum, bool bMissed, byte Ma
|
|||||||
else if (HeadShotNum<MaxHits)
|
else if (HeadShotNum<MaxHits)
|
||||||
{
|
{
|
||||||
if (!bMissed)
|
if (!bMissed)
|
||||||
{
|
{
|
||||||
//PC.ClientSpawnCameraLensEffect(class'KFCameraLensEmit_RackemHeadShot');
|
//PC.ClientSpawnCameraLensEffect(class'KFCameraLensEmit_RackemHeadShot');
|
||||||
TempAkEvent = AkEvent'WW_UI_PlayerCharacter.Play_R_Method_Hit';
|
TempAkEvent = AkEvent'WW_UI_PlayerCharacter.Play_R_Method_Hit';
|
||||||
}
|
}
|
||||||
|
@ -38,12 +38,12 @@ defaultproperties
|
|||||||
PrimaryMelee=class'KFWeap_Knife_Sharpshooter'
|
PrimaryMelee=class'KFWeap_Knife_Sharpshooter'
|
||||||
PrimaryWeapon=class'KFWeap_Rifle_Winchester1894'
|
PrimaryWeapon=class'KFWeap_Rifle_Winchester1894'
|
||||||
PerkGrenade=class'KFProj_FreezeGrenade'
|
PerkGrenade=class'KFProj_FreezeGrenade'
|
||||||
|
|
||||||
PrimaryWeaponDef=class'KFWeapDef_Winchester1894'
|
PrimaryWeaponDef=class'KFWeapDef_Winchester1894'
|
||||||
KnifeWeaponDef=class'KFWeapDef_Knife_Sharpshooter'
|
KnifeWeaponDef=class'KFWeapDef_Knife_Sharpshooter'
|
||||||
GrenadeWeaponDef=class'KFWeapDef_Grenade_Sharpshooter'
|
GrenadeWeaponDef=class'KFWeapDef_Grenade_Sharpshooter'
|
||||||
|
|
||||||
AutoBuyLoadOutPath=(class'KFWeapDef_Winchester1894', class'KFWeapDef_Crossbow', class'KFWeapDef_M14EBR', class'KFWeapDef_RailGun')
|
AutoBuyLoadOutPath=(class'KFWeapDef_Winchester1894', class'KFWeapDef_Crossbow', class'KFWeapDef_M14EBR', class'KFWeapDef_RailGun')
|
||||||
|
|
||||||
DireReloadSpeed=0.25f
|
DireReloadSpeed=0.25f
|
||||||
}
|
}
|
@ -54,10 +54,10 @@ defaultproperties
|
|||||||
|
|
||||||
PrimaryMelee=class'KFWeap_Knife_Support'
|
PrimaryMelee=class'KFWeap_Knife_Support'
|
||||||
PrimaryWeapon=class'KFWeap_Shotgun_MB500'
|
PrimaryWeapon=class'KFWeap_Shotgun_MB500'
|
||||||
|
|
||||||
PrimaryWeaponDef=class'KFWeapDef_MB500'
|
PrimaryWeaponDef=class'KFWeapDef_MB500'
|
||||||
KnifeWeaponDef=class'KFWeapDef_Knife_Support'
|
KnifeWeaponDef=class'KFWeapDef_Knife_Support'
|
||||||
GrenadeWeaponDef=class'KFWeapDef_Grenade_Support'
|
GrenadeWeaponDef=class'KFWeapDef_Grenade_Support'
|
||||||
|
|
||||||
AutoBuyLoadOutPath=(class'KFWeapDef_MB500', class'KFWeapDef_DoubleBarrel', class'KFWeapDef_M4', class'KFWeapDef_AA12')
|
AutoBuyLoadOutPath=(class'KFWeapDef_MB500', class'KFWeapDef_DoubleBarrel', class'KFWeapDef_M4', class'KFWeapDef_AA12')
|
||||||
}
|
}
|
@ -2,4 +2,5 @@ class Ext_TGroupMonster extends Ext_TGroupBase;
|
|||||||
|
|
||||||
defaultproperties
|
defaultproperties
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
@ -33,4 +33,5 @@ static final function byte GetMaxLimit(Ext_PerkBase Perk)
|
|||||||
|
|
||||||
defaultproperties
|
defaultproperties
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
@ -2,4 +2,5 @@ class Ext_TGroupZEDTime extends Ext_TGroupBase;
|
|||||||
|
|
||||||
defaultproperties
|
defaultproperties
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
@ -34,7 +34,7 @@ simulated function Tick(float Delta)
|
|||||||
|| KFWeapon(PawnOwner.Weapon)==None
|
|| KFWeapon(PawnOwner.Weapon)==None
|
||||||
|| (KFWeapon(PawnOwner.Weapon).GetWeaponPerkClass(AssociatedPerkClass) != AssociatedPerkClass && AssociatedPerkClass != class'KFPerk_Survivalist'))
|
|| (KFWeapon(PawnOwner.Weapon).GetWeaponPerkClass(AssociatedPerkClass) != AssociatedPerkClass && AssociatedPerkClass != class'KFPerk_Survivalist'))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Find local playercontroller.
|
// Find local playercontroller.
|
||||||
if (LocalPC==None)
|
if (LocalPC==None)
|
||||||
{
|
{
|
||||||
|
@ -9,7 +9,7 @@ var bool bTeleporting,bIsDelayed;
|
|||||||
function bool CanResPlayer(KFPawn_Human Other, byte Level)
|
function bool CanResPlayer(KFPawn_Human Other, byte Level)
|
||||||
{
|
{
|
||||||
local Actor SpawnPoint;
|
local Actor SpawnPoint;
|
||||||
|
|
||||||
if (bTeleporting)
|
if (bTeleporting)
|
||||||
{
|
{
|
||||||
if (LastDied!=None)
|
if (LastDied!=None)
|
||||||
@ -27,14 +27,14 @@ function bool CanResPlayer(KFPawn_Human Other, byte Level)
|
|||||||
|
|
||||||
if (SpawnPointer==None)
|
if (SpawnPointer==None)
|
||||||
SpawnPointer = class'ExtSpawnPointHelper'.Static.FindHelper(WorldInfo);
|
SpawnPointer = class'ExtSpawnPointHelper'.Static.FindHelper(WorldInfo);
|
||||||
|
|
||||||
SpawnPoint = SpawnPointer.PickBestSpawn();
|
SpawnPoint = SpawnPointer.PickBestSpawn();
|
||||||
if (SpawnPoint == None)
|
if (SpawnPoint == None)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
LastDied = Other;
|
LastDied = Other;
|
||||||
bTeleporting = true;
|
bTeleporting = true;
|
||||||
|
|
||||||
ResPoint = SpawnPoint.Location;
|
ResPoint = SpawnPoint.Location;
|
||||||
LastDied.FindSpot(vect(36,36,86),ResPoint);
|
LastDied.FindSpot(vect(36,36,86),ResPoint);
|
||||||
if (VSizeSq(LastDied.Location-ResPoint)<1.f) // Prevent division by zero errors in future.
|
if (VSizeSq(LastDied.Location-ResPoint)<1.f) // Prevent division by zero errors in future.
|
||||||
@ -49,7 +49,7 @@ final function StartResurrect()
|
|||||||
TeleStartPoint = LastDied.Location;
|
TeleStartPoint = LastDied.Location;
|
||||||
LastDied.Health = 9999;
|
LastDied.Health = 9999;
|
||||||
LastDied.LastStartTime = WorldInfo.TimeSeconds;
|
LastDied.LastStartTime = WorldInfo.TimeSeconds;
|
||||||
|
|
||||||
if (ExtHumanPawn(LastDied)!=None)
|
if (ExtHumanPawn(LastDied)!=None)
|
||||||
{
|
{
|
||||||
ExtHumanPawn(LastDied).bCanBecomeRagdoll = false;
|
ExtHumanPawn(LastDied).bCanBecomeRagdoll = false;
|
||||||
|
@ -24,4 +24,5 @@ function Timer()
|
|||||||
|
|
||||||
defaultproperties
|
defaultproperties
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
@ -52,7 +52,7 @@ simulated function Timer()
|
|||||||
simulated final function NotifyOwner()
|
simulated final function NotifyOwner()
|
||||||
{
|
{
|
||||||
local PlayerController PC;
|
local PlayerController PC;
|
||||||
|
|
||||||
PC = GetALocalPlayerController();
|
PC = GetALocalPlayerController();
|
||||||
if (PC==None || PC.PlayerReplicationInfo!=OwnerPRI || KFExtendedHUD(PC.MyHUD)==None)
|
if (PC==None || PC.PlayerReplicationInfo!=OwnerPRI || KFExtendedHUD(PC.MyHUD)==None)
|
||||||
return;
|
return;
|
||||||
|
@ -84,12 +84,12 @@ simulated function bool GetCanInteract(Pawn User, optional bool bInteractIfTrue
|
|||||||
PRI = ExtPlayerReplicationInfo(PlayerOwner.PlayerReplicationInfo);
|
PRI = ExtPlayerReplicationInfo(PlayerOwner.PlayerReplicationInfo);
|
||||||
if (!User.IsLocallyControlled() || PRI==None || !PRI.CanUseSupply(User))
|
if (!User.IsLocallyControlled() || PRI==None || !PRI.CanUseSupply(User))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (bInteractIfTrue)
|
if (bInteractIfTrue)
|
||||||
{
|
{
|
||||||
PRI.UsedSupply(User,ReuseTime);
|
PRI.UsedSupply(User,ReuseTime);
|
||||||
SetTimer(ReuseTime+0.1,false,'RecheckUser');
|
SetTimer(ReuseTime+0.1,false,'RecheckUser');
|
||||||
|
|
||||||
if (KFPlayerController(User.Controller)!=None)
|
if (KFPlayerController(User.Controller)!=None)
|
||||||
KFPlayerController(User.Controller).SetPendingInteractionMessage();
|
KFPlayerController(User.Controller).SetPendingInteractionMessage();
|
||||||
}
|
}
|
||||||
@ -99,7 +99,7 @@ simulated function bool GetCanInteract(Pawn User, optional bool bInteractIfTrue
|
|||||||
i = ActiveUsers.Find('Player',User);
|
i = ActiveUsers.Find('Player',User);
|
||||||
if (i>=0 && ActiveUsers[i].NextUseTime>WorldInfo.TimeSeconds)
|
if (i>=0 && ActiveUsers[i].NextUseTime>WorldInfo.TimeSeconds)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (bInteractIfTrue)
|
if (bInteractIfTrue)
|
||||||
{
|
{
|
||||||
if (i==-1)
|
if (i==-1)
|
||||||
@ -112,7 +112,7 @@ simulated function bool GetCanInteract(Pawn User, optional bool bInteractIfTrue
|
|||||||
ActiveUsers[i].NextUseTime = WorldInfo.TimeSeconds+ReuseTime;
|
ActiveUsers[i].NextUseTime = WorldInfo.TimeSeconds+ReuseTime;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bInteractIfTrue && WorldInfo.NetMode!=NM_Client)
|
if (bInteractIfTrue && WorldInfo.NetMode!=NM_Client)
|
||||||
{
|
{
|
||||||
GiveAmmunition(KFPawn_Human(User));
|
GiveAmmunition(KFPawn_Human(User));
|
||||||
@ -123,7 +123,7 @@ simulated function bool GetCanInteract(Pawn User, optional bool bInteractIfTrue
|
|||||||
function CleanupUsers()
|
function CleanupUsers()
|
||||||
{
|
{
|
||||||
local int i;
|
local int i;
|
||||||
|
|
||||||
for (i=(ActiveUsers.Length-1); i>=0; --i)
|
for (i=(ActiveUsers.Length-1); i>=0; --i)
|
||||||
if (ActiveUsers[i].Player==None || ActiveUsers[i].Player.Health<=0 || ActiveUsers[i].NextUseTime<WorldInfo.TimeSeconds)
|
if (ActiveUsers[i].Player==None || ActiveUsers[i].Player.Health<=0 || ActiveUsers[i].NextUseTime<WorldInfo.TimeSeconds)
|
||||||
ActiveUsers.Remove(i,1);
|
ActiveUsers.Remove(i,1);
|
||||||
@ -178,7 +178,7 @@ simulated final function UsedOnClient(Pawn User)
|
|||||||
if (PRI!=None)
|
if (PRI!=None)
|
||||||
PRI.UsedSupply(User,ReuseTime);
|
PRI.UsedSupply(User,ReuseTime);
|
||||||
SetTimer(ReuseTime+0.1,false,'RecheckUser');
|
SetTimer(ReuseTime+0.1,false,'RecheckUser');
|
||||||
|
|
||||||
if (WorldInfo.NetMode==NM_Client && KFPlayerController(User.Controller)!=None)
|
if (WorldInfo.NetMode==NM_Client && KFPlayerController(User.Controller)!=None)
|
||||||
KFPlayerController(User.Controller).SetPendingInteractionMessage();
|
KFPlayerController(User.Controller).SetPendingInteractionMessage();
|
||||||
}
|
}
|
||||||
@ -202,7 +202,7 @@ defaultproperties
|
|||||||
bHidden=false
|
bHidden=false
|
||||||
ReuseTime=90
|
ReuseTime=90
|
||||||
bProjTarget=false
|
bProjTarget=false
|
||||||
|
|
||||||
Components.Empty()
|
Components.Empty()
|
||||||
Components.Add(CollisionCylinder)
|
Components.Add(CollisionCylinder)
|
||||||
}
|
}
|
@ -75,7 +75,7 @@ function Destroyed()
|
|||||||
final function bool HasLiveZeds()
|
final function bool HasLiveZeds()
|
||||||
{
|
{
|
||||||
local KFPawn_Monster M;
|
local KFPawn_Monster M;
|
||||||
|
|
||||||
if (KFGameReplicationInfo(WorldInfo.GRI).WaveNum>=KFGameReplicationInfo(WorldInfo.GRI).WaveMax) // No pets on possible bonus waves.
|
if (KFGameReplicationInfo(WorldInfo.GRI).WaveNum>=KFGameReplicationInfo(WorldInfo.GRI).WaveMax) // No pets on possible bonus waves.
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
@ -95,7 +95,7 @@ final function SpawnHelper()
|
|||||||
local Ext_T_MonsterPRI PRI;
|
local Ext_T_MonsterPRI PRI;
|
||||||
local AkBaseSoundObject TempSound;
|
local AkBaseSoundObject TempSound;
|
||||||
local bool bFinalWave;
|
local bool bFinalWave;
|
||||||
|
|
||||||
if (PawnOwner.PlayerReplicationInfo==None || !HasLiveZeds())
|
if (PawnOwner.PlayerReplicationInfo==None || !HasLiveZeds())
|
||||||
{
|
{
|
||||||
RespawnHelperTime = 3;
|
RespawnHelperTime = 3;
|
||||||
@ -137,7 +137,7 @@ final function SpawnHelper()
|
|||||||
// Downscale.
|
// Downscale.
|
||||||
LiveHelper.SetDrawScale(LiveHelper.DrawScale*FriendlyScalar);
|
LiveHelper.SetDrawScale(LiveHelper.DrawScale*FriendlyScalar);
|
||||||
LiveHelper.SetCollisionSize(LiveHelper.GetCollisionRadius()*FriendlyScalar,LiveHelper.GetCollisionHeight()*FriendlyScalar);
|
LiveHelper.SetCollisionSize(LiveHelper.GetCollisionRadius()*FriendlyScalar,LiveHelper.GetCollisionHeight()*FriendlyScalar);
|
||||||
|
|
||||||
// Setup AI
|
// Setup AI
|
||||||
C = Spawn(LiveHelper.ControllerClass);
|
C = Spawn(LiveHelper.ControllerClass);
|
||||||
if (KFAIController(C)!=None)
|
if (KFAIController(C)!=None)
|
||||||
@ -157,7 +157,7 @@ final function SpawnHelper()
|
|||||||
LiveHelper.SetWeakGrabCoolDown(28800.f); // Never get grabbed (for 80 hours).
|
LiveHelper.SetWeakGrabCoolDown(28800.f); // Never get grabbed (for 80 hours).
|
||||||
LiveHelper.bWeakZedGrab = true;
|
LiveHelper.bWeakZedGrab = true;
|
||||||
LiveHelper.bCanGrabAttack = false;
|
LiveHelper.bCanGrabAttack = false;
|
||||||
|
|
||||||
// Scale by previous zed HP.
|
// Scale by previous zed HP.
|
||||||
if (PrevMonster!=None)
|
if (PrevMonster!=None)
|
||||||
{
|
{
|
||||||
@ -203,14 +203,14 @@ static final function LoadMonsterList()
|
|||||||
local int i,j;
|
local int i,j;
|
||||||
local array<string> SA;
|
local array<string> SA;
|
||||||
local class<KFPawn_Monster> C;
|
local class<KFPawn_Monster> C;
|
||||||
|
|
||||||
Default.ZedTypes.Length = class'Ext_TraitZED_Summon'.Default.ZedTypes.Length;
|
Default.ZedTypes.Length = class'Ext_TraitZED_Summon'.Default.ZedTypes.Length;
|
||||||
|
|
||||||
for (i=0; i<Default.ZedTypes.Length; ++i)
|
for (i=0; i<Default.ZedTypes.Length; ++i)
|
||||||
{
|
{
|
||||||
SA.Length = 0;
|
SA.Length = 0;
|
||||||
ParseStringIntoArray(class'Ext_TraitZED_Summon'.Default.ZedTypes[i],SA,",",true);
|
ParseStringIntoArray(class'Ext_TraitZED_Summon'.Default.ZedTypes[i],SA,",",true);
|
||||||
|
|
||||||
for (j=0; j<SA.Length; ++j)
|
for (j=0; j<SA.Length; ++j)
|
||||||
{
|
{
|
||||||
C = class<KFPawn_Monster>(DynamicLoadObject(SA[j],Class'Class'));
|
C = class<KFPawn_Monster>(DynamicLoadObject(SA[j],Class'Class'));
|
||||||
@ -227,7 +227,7 @@ static final function class<KFPawn_Monster> PickRandomMonster(byte Level, bool b
|
|||||||
{
|
{
|
||||||
local byte i;
|
local byte i;
|
||||||
local class<KFPawn_Monster> Res;
|
local class<KFPawn_Monster> Res;
|
||||||
|
|
||||||
Level = Min(Default.ZedTypes.Length-1,Level);
|
Level = Min(Default.ZedTypes.Length-1,Level);
|
||||||
for (i=0; i<5; ++i)
|
for (i=0; i<5; ++i)
|
||||||
{
|
{
|
||||||
|
@ -17,7 +17,7 @@ static function bool MeetsRequirements(byte Lvl, Ext_PerkBase Perk)
|
|||||||
|
|
||||||
if (Perk.CurrentLevel<Default.MinLevel || Perk.CurrentPrestige<1)
|
if (Perk.CurrentLevel<Default.MinLevel || Perk.CurrentPrestige<1)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
for (i=0; i<Perk.PerkTraits.Length; ++i)
|
for (i=0; i<Perk.PerkTraits.Length; ++i)
|
||||||
{
|
{
|
||||||
if (Perk.PerkTraits[i].TraitType==Class'Ext_TraitGrenadeUpg')
|
if (Perk.PerkTraits[i].TraitType==Class'Ext_TraitGrenadeUpg')
|
||||||
@ -27,7 +27,7 @@ static function bool MeetsRequirements(byte Lvl, Ext_PerkBase Perk)
|
|||||||
else break;
|
else break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ var array<float> RegenValues;
|
|||||||
static function ApplyEffectOn(KFPawn_Human Player, Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
|
static function ApplyEffectOn(KFPawn_Human Player, Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
|
||||||
{
|
{
|
||||||
local Ext_T_AmmoRegHelp H;
|
local Ext_T_AmmoRegHelp H;
|
||||||
|
|
||||||
H = Player.Spawn(class'Ext_T_AmmoRegHelp',Player);
|
H = Player.Spawn(class'Ext_T_AmmoRegHelp',Player);
|
||||||
if (H!=None)
|
if (H!=None)
|
||||||
H.RegCount = Default.RegenValues[Level-1];
|
H.RegCount = Default.RegenValues[Level-1];
|
||||||
|
@ -3,7 +3,7 @@ Class Ext_TraitArmorReg extends Ext_TraitHealthReg;
|
|||||||
static function ApplyEffectOn(KFPawn_Human Player, Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
|
static function ApplyEffectOn(KFPawn_Human Player, Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
|
||||||
{
|
{
|
||||||
local Ext_T_ArmorRegHelp H;
|
local Ext_T_ArmorRegHelp H;
|
||||||
|
|
||||||
H = Player.Spawn(class'Ext_T_ArmorRegHelp',Player);
|
H = Player.Spawn(class'Ext_T_ArmorRegHelp',Player);
|
||||||
if (H!=None)
|
if (H!=None)
|
||||||
H.RegCount = Default.RegenValues[Level-1];
|
H.RegCount = Default.RegenValues[Level-1];
|
||||||
|
@ -42,7 +42,7 @@ static function bool MeetsRequirements(byte Lvl, Ext_PerkBase Perk)
|
|||||||
// First check level.
|
// First check level.
|
||||||
if (Perk.CurrentLevel<Default.MinLevel)
|
if (Perk.CurrentLevel<Default.MinLevel)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Then check grouping.
|
// Then check grouping.
|
||||||
if (Lvl==0 && Default.TraitGroup!=None && Default.TraitGroup.Static.GroupLimited(Perk,Default.Class))
|
if (Lvl==0 && Default.TraitGroup!=None && Default.TraitGroup.Static.GroupLimited(Perk,Default.Class))
|
||||||
return false;
|
return false;
|
||||||
@ -54,7 +54,7 @@ function string GetPerkDescription()
|
|||||||
{
|
{
|
||||||
local string S;
|
local string S;
|
||||||
local byte i;
|
local byte i;
|
||||||
|
|
||||||
for (i=0; i<Default.NumLevels; ++i)
|
for (i=0; i<Default.NumLevels; ++i)
|
||||||
{
|
{
|
||||||
if (i==0)
|
if (i==0)
|
||||||
@ -163,7 +163,7 @@ static final function string GetInlineStr(out string S) // Reverse.
|
|||||||
{
|
{
|
||||||
local int l;
|
local int l;
|
||||||
local string Res;
|
local string Res;
|
||||||
|
|
||||||
l = StrToInt(S);
|
l = StrToInt(S);
|
||||||
Res = Left(S,l);
|
Res = Left(S,l);
|
||||||
S = Mid(S,l);
|
S = Mid(S,l);
|
||||||
@ -174,7 +174,7 @@ static function string GetRepData()
|
|||||||
{
|
{
|
||||||
local string S;
|
local string S;
|
||||||
local int i;
|
local int i;
|
||||||
|
|
||||||
S = IntToStr(Default.MinLevel)$IntToStr(Default.LevelCosts.Length);
|
S = IntToStr(Default.MinLevel)$IntToStr(Default.LevelCosts.Length);
|
||||||
for (i=0; i<Default.LevelCosts.Length; ++i)
|
for (i=0; i<Default.LevelCosts.Length; ++i)
|
||||||
S $= IntToStr(Default.LevelCosts[i]);
|
S $= IntToStr(Default.LevelCosts[i]);
|
||||||
|
@ -8,4 +8,5 @@ var class<Ext_TraitBase> TraitClass;
|
|||||||
|
|
||||||
defaultproperties
|
defaultproperties
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
@ -17,25 +17,25 @@ static function bool MeetsRequirements(byte Lvl, Ext_PerkBase Perk)
|
|||||||
|
|
||||||
if (Perk.CurrentLevel<Default.MinLevel || Perk.CurrentPrestige<3)
|
if (Perk.CurrentLevel<Default.MinLevel || Perk.CurrentPrestige<3)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (Lvl==0)
|
if (Lvl==0)
|
||||||
{
|
{
|
||||||
i = Perk.PerkStats.Find('StatType','Damage');
|
i = Perk.PerkStats.Find('StatType','Damage');
|
||||||
if (i>=0)
|
if (i>=0)
|
||||||
return (Perk.PerkStats[i].CurrentValue>=30);
|
return (Perk.PerkStats[i].CurrentValue>=30);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static function TraitActivate(Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
|
static function TraitActivate(Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
|
||||||
{
|
{
|
||||||
local ExtPlayerReplicationInfo MyPRI;
|
local ExtPlayerReplicationInfo MyPRI;
|
||||||
|
|
||||||
MyPRI = ExtPlayerReplicationInfo(Perk.PlayerOwner.PlayerReplicationInfo);
|
MyPRI = ExtPlayerReplicationInfo(Perk.PlayerOwner.PlayerReplicationInfo);
|
||||||
if (MyPRI == None || Ext_PerkDemolition(Perk) == None)
|
if (MyPRI == None || Ext_PerkDemolition(Perk) == None)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
MyPRI.bNukeActive = true;
|
MyPRI.bNukeActive = true;
|
||||||
Ext_PerkDemolition(Perk).NukeDamageMult = 1.0 + (((float(Level) - 1.f) * 5.f) / 100.f);
|
Ext_PerkDemolition(Perk).NukeDamageMult = 1.0 + (((float(Level) - 1.f) * 5.f) / 100.f);
|
||||||
}
|
}
|
||||||
@ -43,11 +43,11 @@ static function TraitActivate(Ext_PerkBase Perk, byte Level, optional Ext_TraitD
|
|||||||
static function TraitDeActivate(Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
|
static function TraitDeActivate(Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
|
||||||
{
|
{
|
||||||
local ExtPlayerReplicationInfo MyPRI;
|
local ExtPlayerReplicationInfo MyPRI;
|
||||||
|
|
||||||
MyPRI = ExtPlayerReplicationInfo(Perk.PlayerOwner.PlayerReplicationInfo);
|
MyPRI = ExtPlayerReplicationInfo(Perk.PlayerOwner.PlayerReplicationInfo);
|
||||||
if (MyPRI == None || Ext_PerkDemolition(Perk) == None)
|
if (MyPRI == None || Ext_PerkDemolition(Perk) == None)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
MyPRI.bNukeActive = false;
|
MyPRI.bNukeActive = false;
|
||||||
Ext_PerkDemolition(Perk).NukeDamageMult = 1.0;
|
Ext_PerkDemolition(Perk).NukeDamageMult = 1.0;
|
||||||
}
|
}
|
||||||
|
@ -15,16 +15,16 @@ static function bool MeetsRequirements(byte Lvl, Ext_PerkBase Perk)
|
|||||||
{
|
{
|
||||||
local int i;
|
local int i;
|
||||||
|
|
||||||
if (Perk.CurrentLevel<Default.MinLevel || Perk.CurrentPrestige<3)
|
if (Perk.CurrentLevel<Default.MinLevel || Perk.CurrentPrestige<1)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (Lvl==0)
|
if (Lvl==0)
|
||||||
{
|
{
|
||||||
i = Perk.PerkStats.Find('StatType','Reload');
|
i = Perk.PerkStats.Find('StatType','Reload');
|
||||||
if (i>=0)
|
if (i>=0)
|
||||||
return (Perk.PerkStats[i].CurrentValue>=30);
|
return (Perk.PerkStats[i].CurrentValue>=30);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -43,4 +43,4 @@ defaultproperties
|
|||||||
SupportedPerk=class'Ext_PerkDemolition'
|
SupportedPerk=class'Ext_PerkDemolition'
|
||||||
DefLevelCosts(0)=100
|
DefLevelCosts(0)=100
|
||||||
DefMinLevel=100
|
DefMinLevel=100
|
||||||
}
|
}
|
||||||
|
16
ServerExt/Classes/Ext_TraitGroundFire.uc
Normal file
16
ServerExt/Classes/Ext_TraitGroundFire.uc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
Class Ext_TraitGroundFire extends Ext_TraitBase;
|
||||||
|
|
||||||
|
static function TraitActivate(Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
|
||||||
|
{
|
||||||
|
Ext_PerkFirebug(Perk).bUseGroundFire = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
static function TraitDeActivate(Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
|
||||||
|
{
|
||||||
|
Ext_PerkFirebug(Perk).bUseGroundFire = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
defaultproperties
|
||||||
|
{
|
||||||
|
DefLevelCosts(0)=50
|
||||||
|
}
|
@ -5,7 +5,7 @@ var array<byte> RegenValues;
|
|||||||
static function ApplyEffectOn(KFPawn_Human Player, Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
|
static function ApplyEffectOn(KFPawn_Human Player, Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
|
||||||
{
|
{
|
||||||
local Ext_T_HealthRegHelp H;
|
local Ext_T_HealthRegHelp H;
|
||||||
|
|
||||||
H = Player.Spawn(class'Ext_T_HealthRegHelp',Player);
|
H = Player.Spawn(class'Ext_T_HealthRegHelp',Player);
|
||||||
if (H!=None)
|
if (H!=None)
|
||||||
H.RegCount = Default.RegenValues[Level-1];
|
H.RegCount = Default.RegenValues[Level-1];
|
||||||
|
16
ServerExt/Classes/Ext_TraitHeatWave.uc
Normal file
16
ServerExt/Classes/Ext_TraitHeatWave.uc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
Class Ext_TraitHeatWave extends Ext_TraitBase;
|
||||||
|
|
||||||
|
static function TraitActivate(Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
|
||||||
|
{
|
||||||
|
Ext_PerkFirebug(Perk).bUseHeatWave = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
static function TraitDeActivate(Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
|
||||||
|
{
|
||||||
|
Ext_PerkFirebug(Perk).bUseHeatWave = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
defaultproperties
|
||||||
|
{
|
||||||
|
DefLevelCosts(0)=50
|
||||||
|
}
|
@ -14,7 +14,7 @@ static function ApplyEffectOn(KFPawn_Human Player, Ext_PerkBase Perk, byte Level
|
|||||||
{
|
{
|
||||||
if (Level <= 1)
|
if (Level <= 1)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Level == 2 ? Player.AddArmor(50) : Player.AddArmor(Player.MaxArmor);
|
Level == 2 ? Player.AddArmor(50) : Player.AddArmor(Player.MaxArmor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
31
ServerExt/Classes/Ext_TraitInferno.uc
Normal file
31
ServerExt/Classes/Ext_TraitInferno.uc
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
Class Ext_TraitInferno extends Ext_TraitBase;
|
||||||
|
|
||||||
|
var localized string GroupDescription;
|
||||||
|
|
||||||
|
function string GetPerkDescription()
|
||||||
|
{
|
||||||
|
local string S;
|
||||||
|
|
||||||
|
S = Super.GetPerkDescription();
|
||||||
|
S $= "|"$GroupDescription;
|
||||||
|
return S;
|
||||||
|
}
|
||||||
|
|
||||||
|
static function TraitActivate(Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
|
||||||
|
{
|
||||||
|
Ext_PerkFirebug(Perk).bUseInferno = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
static function TraitDeActivate(Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
|
||||||
|
{
|
||||||
|
Ext_PerkFirebug(Perk).bUseInferno = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
defaultproperties
|
||||||
|
{
|
||||||
|
SupportedPerk=class'Ext_PerkFirebug'
|
||||||
|
TraitGroup=class'Ext_TGroupZEDTime'
|
||||||
|
NumLevels=1
|
||||||
|
DefLevelCosts(0)=50
|
||||||
|
//DefMinLevel=65
|
||||||
|
}
|
@ -20,7 +20,7 @@ defaultproperties
|
|||||||
DefLevelCosts(2)=40
|
DefLevelCosts(2)=40
|
||||||
DefLevelCosts(3)=60
|
DefLevelCosts(3)=60
|
||||||
DefMinLevel=70
|
DefMinLevel=70
|
||||||
|
|
||||||
ChanceValues(0)=0.8
|
ChanceValues(0)=0.8
|
||||||
ChanceValues(1)=0.5
|
ChanceValues(1)=0.5
|
||||||
ChanceValues(2)=0.3
|
ChanceValues(2)=0.3
|
||||||
|
@ -15,7 +15,7 @@ static function bool MeetsRequirements(byte Lvl, Ext_PerkBase Perk)
|
|||||||
{
|
{
|
||||||
if (Perk.CurrentLevel<Default.MinLevel || Perk.CurrentPrestige<2)
|
if (Perk.CurrentLevel<Default.MinLevel || Perk.CurrentPrestige<2)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -15,12 +15,12 @@ static function ApplyEffectOn(KFPawn_Human Player, Ext_PerkBase Perk, byte Level
|
|||||||
Inv = Player.FindInventoryType(class'ExtWeap_Pistol_9mm');
|
Inv = Player.FindInventoryType(class'ExtWeap_Pistol_9mm');
|
||||||
if (Inv!=None)
|
if (Inv!=None)
|
||||||
Inv.Destroy();
|
Inv.Destroy();
|
||||||
|
|
||||||
if (Player.FindInventoryType(class'ExtWeap_Pistol_MedicS')==None)
|
if (Player.FindInventoryType(class'ExtWeap_Pistol_MedicS')==None)
|
||||||
{
|
{
|
||||||
Inv = Player.CreateInventory(class'ExtWeap_Pistol_MedicS',Player.Weapon!=None);
|
Inv = Player.CreateInventory(class'ExtWeap_Pistol_MedicS',Player.Weapon!=None);
|
||||||
if (KFWeapon(Inv)!=None)
|
if (KFWeapon(Inv)!=None)
|
||||||
KFWeapon(Inv).bGivenAtStart = true;
|
KFWeapon(Inv).bGivenAtStart = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ static function bool MeetsRequirements(byte Lvl, Ext_PerkBase Perk)
|
|||||||
|
|
||||||
if (Perk.CurrentLevel<Default.MinLevel || Perk.CurrentPrestige<2)
|
if (Perk.CurrentLevel<Default.MinLevel || Perk.CurrentPrestige<2)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
for (i=0; i<Perk.PerkTraits.Length; ++i)
|
for (i=0; i<Perk.PerkTraits.Length; ++i)
|
||||||
{
|
{
|
||||||
if (Perk.PerkTraits[i].TraitType==Class'Ext_TraitAPShots')
|
if (Perk.PerkTraits[i].TraitType==Class'Ext_TraitAPShots')
|
||||||
@ -27,7 +27,7 @@ static function bool MeetsRequirements(byte Lvl, Ext_PerkBase Perk)
|
|||||||
else break;
|
else break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
31
ServerExt/Classes/Ext_TraitPyromaniac.uc
Normal file
31
ServerExt/Classes/Ext_TraitPyromaniac.uc
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
Class Ext_TraitPyromaniac extends Ext_TraitBase;
|
||||||
|
|
||||||
|
var localized string GroupDescription;
|
||||||
|
|
||||||
|
function string GetPerkDescription()
|
||||||
|
{
|
||||||
|
local string S;
|
||||||
|
|
||||||
|
S = Super.GetPerkDescription();
|
||||||
|
S $= "|"$GroupDescription;
|
||||||
|
return S;
|
||||||
|
}
|
||||||
|
|
||||||
|
static function TraitActivate(Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
|
||||||
|
{
|
||||||
|
Ext_PerkFirebug(Perk).bUsePyromaniac = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
static function TraitDeActivate(Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
|
||||||
|
{
|
||||||
|
Ext_PerkFirebug(Perk).bUsePyromaniac = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
defaultproperties
|
||||||
|
{
|
||||||
|
SupportedPerk=class'Ext_PerkFirebug'
|
||||||
|
TraitGroup=class'Ext_TGroupZEDTime'
|
||||||
|
NumLevels=1
|
||||||
|
DefLevelCosts(0)=50
|
||||||
|
//DefMinLevel=65
|
||||||
|
}
|
@ -21,7 +21,7 @@ defaultproperties
|
|||||||
DefLevelCosts(1)=30
|
DefLevelCosts(1)=30
|
||||||
DefLevelCosts(2)=40
|
DefLevelCosts(2)=40
|
||||||
DefMinLevel=100
|
DefMinLevel=100
|
||||||
|
|
||||||
ChanceValues(0)=0.2
|
ChanceValues(0)=0.2
|
||||||
ChanceValues(1)=0.5
|
ChanceValues(1)=0.5
|
||||||
ChanceValues(2)=0.8
|
ChanceValues(2)=0.8
|
||||||
|
@ -3,7 +3,7 @@ Class Ext_TraitRetali extends Ext_TraitBase;
|
|||||||
static function bool PreventDeath(KFPawn_Human Player, Controller Instigator, Class<DamageType> DamType, Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
|
static function bool PreventDeath(KFPawn_Human Player, Controller Instigator, Class<DamageType> DamType, Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
|
||||||
{
|
{
|
||||||
local ExtProj_SUPERGrenade P;
|
local ExtProj_SUPERGrenade P;
|
||||||
|
|
||||||
P = Player.Spawn(class'ExtProj_SUPERGrenade');
|
P = Player.Spawn(class'ExtProj_SUPERGrenade');
|
||||||
if (P!=None)
|
if (P!=None)
|
||||||
{
|
{
|
||||||
|
@ -13,5 +13,5 @@ static function TraitDeActivate(Ext_PerkBase Perk, byte Level, optional Ext_Trai
|
|||||||
defaultproperties
|
defaultproperties
|
||||||
{
|
{
|
||||||
DefLevelCosts(0)=50
|
DefLevelCosts(0)=50
|
||||||
DefMinLevel=75
|
DefMinLevel=75
|
||||||
}
|
}
|
@ -21,6 +21,6 @@ defaultproperties
|
|||||||
{
|
{
|
||||||
DefLevelCosts(0)=50
|
DefLevelCosts(0)=50
|
||||||
TraitData=class'Ext_TraitSupplyData'
|
TraitData=class'Ext_TraitSupplyData'
|
||||||
|
|
||||||
SupplyIcon=Texture2D'UI_World_TEX.Support_Supplier_HUD'
|
SupplyIcon=Texture2D'UI_World_TEX.Support_Supplier_HUD'
|
||||||
}
|
}
|
@ -12,7 +12,7 @@ final function SpawnSupplier(KFPawn_Human H, optional bool bGrenades)
|
|||||||
SupplyInteraction.PlayerOwner = H;
|
SupplyInteraction.PlayerOwner = H;
|
||||||
SupplyInteraction.PerkOwner = Perk;
|
SupplyInteraction.PerkOwner = Perk;
|
||||||
SupplyInteraction.bGrenades = bGrenades;
|
SupplyInteraction.bGrenades = bGrenades;
|
||||||
|
|
||||||
if (PlayerOwner!=None && ExtPlayerReplicationInfo(PlayerOwner.PlayerReplicationInfo)!=None)
|
if (PlayerOwner!=None && ExtPlayerReplicationInfo(PlayerOwner.PlayerReplicationInfo)!=None)
|
||||||
ExtPlayerReplicationInfo(PlayerOwner.PlayerReplicationInfo).HasSupplier = class<Ext_TraitSupply>(TraitClass);
|
ExtPlayerReplicationInfo(PlayerOwner.PlayerReplicationInfo).HasSupplier = class<Ext_TraitSupply>(TraitClass);
|
||||||
}
|
}
|
||||||
@ -21,7 +21,7 @@ final function RemoveSupplier()
|
|||||||
{
|
{
|
||||||
if (SupplyInteraction!=None)
|
if (SupplyInteraction!=None)
|
||||||
SupplyInteraction.Destroy();
|
SupplyInteraction.Destroy();
|
||||||
|
|
||||||
if (PlayerOwner!=None && ExtPlayerReplicationInfo(PlayerOwner.PlayerReplicationInfo)!=None)
|
if (PlayerOwner!=None && ExtPlayerReplicationInfo(PlayerOwner.PlayerReplicationInfo)!=None)
|
||||||
ExtPlayerReplicationInfo(PlayerOwner.PlayerReplicationInfo).HasSupplier = None;
|
ExtPlayerReplicationInfo(PlayerOwner.PlayerReplicationInfo).HasSupplier = None;
|
||||||
}
|
}
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user