## Added - **`CurseSkillPerPlayer`** (config.json) — limits how many curse skills (Darkness, JumpBan, PrimaryBan, Bankrupt and 14 others) can be stacked on a single player per round. `null` = unlimited (default), `1` = one curse per player, `2` = two. When the limit is reached the target is rejected and the curser gets a chat warning. Enforced centrally in `SkillAction`, so no per-skill code is needed. - **Tripwire cooldown mode** — replaces the fixed wire limit with a Replicator-style cooldown. Players can place as many wires as they want as long as the cooldown is up; remaining time is shown on the HUD. Configurable via `Cooldown` in skillsInfo.json (default 20s). - **Tripwire team colors** — T wires red (255, 64, 64), CT wires blue (64, 128, 255). ## Fixed - **ExpensiveAmmo** also charged money for knife swings and grenade throws. It now only charges when a bullet-firing weapon is fired. - **Knockback** also triggered on grenade throws; bound to the same allowlist. ## Removed - Dead code: `Earthquake.cs` and `HealingChicken.cs` (neither was registered in the `Skills` enum, so neither ever ran), `EntityManager.CreateTrackedEnvShake`, `EntityManager.CreateTrackedChicken`, `PlayerManager.UpdatePlayerSkill`. ## Changed - **Tripwire wires are now removed when the owner dies or loses the skill.** Previously they stayed on the map until the end of the round. - `PlayerEvents.cs` split into three partial files: player events in `PlayerEvents.cs`, round and skill dispatch in `RoundEvents.cs`, entity and weapon hooks in `EntityEvents.cs`. Behaviour is unchanged; all members stay in the same `Event` class. - 28 copy-pasted enemy-gathering LINQ chains reduced to the shared helper (Bankrupt, CarefulBullets, Darkness, Deactivator, Deaf, ExpensiveAmmo, Giant, Glitch, Jammer, JumpBan, JumpCurse, LifeSwap, Magnifier, MoneySwap, Nightmare, Poison, PrimaryBan, WildThrow).
212 lines
6.4 KiB
JSON
212 lines
6.4 KiB
JSON
{
|
|
"ConfigName": "Default",
|
|
"GameMode": 3,
|
|
"YourSkillChatInfo": true,
|
|
"KillerSkillChatInfo": true,
|
|
"TeamMateSkillChatInfo": true,
|
|
"SummaryAfterTheRound": true,
|
|
"EnableBotSkills": true,
|
|
"EnableBotKickDebug": false,
|
|
"EnableFullForceUpdate": false,
|
|
"DebugMode": false,
|
|
"PerfMode": false,
|
|
"AlternativeSkillButton": null,
|
|
"SkillTimeBeforeStart": 7.0,
|
|
"SkillHudDuration": -1.0,
|
|
"SkillDescriptionDuration": 7.0,
|
|
"DisplayAlwaysDescription": false,
|
|
"DisableSpectateHUD": false,
|
|
"EnableFlashingHtmlHudFix": false,
|
|
"TraceRayBeam": false,
|
|
"DisableHUDOnDeathPermission": "@jRandomSkills/death",
|
|
"DisableSkillsOnRoundEnd": false,
|
|
"CurseSkillPerPlayer": null,
|
|
"LanguageSystem": {
|
|
"DefaultLangCode": "en",
|
|
"DisableGeoLite": false,
|
|
"LanguageInfos": [
|
|
{
|
|
"IsoCodes": "ZH, CN, TW, HK, MO, SG",
|
|
"FileName": "zh"
|
|
},
|
|
{
|
|
"IsoCodes": "PT-BR, PT, BR, AO, CV, GW, MZ, ST, TL",
|
|
"FileName": "pt-br"
|
|
},
|
|
{
|
|
"IsoCodes": "FR, MC, HT",
|
|
"FileName": "fr"
|
|
},
|
|
{
|
|
"IsoCodes": "DE, AT, CH, LI, LU, BE",
|
|
"FileName": "de"
|
|
},
|
|
{
|
|
"IsoCodes": "RU, KZ, BY, KG, TJ, UZ, TM, AM, AZ, GE, MD",
|
|
"FileName": "ru"
|
|
},
|
|
{
|
|
"IsoCodes": "TR",
|
|
"FileName": "tr"
|
|
},
|
|
{
|
|
"IsoCodes": "CZ",
|
|
"FileName": "cs"
|
|
},
|
|
{
|
|
"IsoCodes": "PL",
|
|
"FileName": "pl"
|
|
},
|
|
{
|
|
"IsoCodes": "EN, GB, US",
|
|
"FileName": "en"
|
|
}
|
|
]
|
|
},
|
|
"HtmlHudCustomisation": {
|
|
"HeaderLineColor": "#FFFFFF",
|
|
"HeaderLineSize": "",
|
|
"SkillLineSize": "l",
|
|
"InfoLineColor": "#FFFFFF",
|
|
"InfoLineSize": "sm",
|
|
"SkillDescriptionLineColor": "#999999",
|
|
"SkillDescriptionLineSize": "sm",
|
|
"WSADMenuSelectInfoLineColor": "#999999",
|
|
"WSADMenuSelectInfoLineSize": "sm",
|
|
"WSADMenuItemLineColor": "white",
|
|
"WSADMenuItemHoverLineColor": "orange",
|
|
"WSADMenuItemLineSize": "sm",
|
|
"WSADMenuControllsLineSize": "sm",
|
|
"WSADMenuControllsLineColor1": "cyan",
|
|
"WSADMenuControllsLineColor2": "white",
|
|
"WSADMenuControllsLineColor3": "green"
|
|
},
|
|
"ChatMessage": {
|
|
"MaxWidth": 1280.0,
|
|
"LineSymbol": "―",
|
|
"LineColor": "\u0004",
|
|
"LineShow": true,
|
|
"InfoPlayerNameColor": "\u0002",
|
|
"InfoSkillColor": "\u0006",
|
|
"InfoMessageShow": true,
|
|
"TagFormat": "\u0002◢◆◤ {TAG} ◥◆◣"
|
|
},
|
|
"NormalCommands": {
|
|
"SetSkillCommand": {
|
|
"Alias": "ustawskill, ustaw_skill, setskill, set_skill, definirhabilidade, configurarhabilidade, 设置技能, 配置技能",
|
|
"Permissions": "@jRandomSkills/admin"
|
|
},
|
|
"SkillsListCommand": {
|
|
"Alias": "supermoc, skille, listamocy, supermoce, skills, listaHabilidades, habilidades, 技能列表, 超能力列表",
|
|
"Permissions": "@jRandomSkills/admin"
|
|
},
|
|
"UseSkillCommand": {
|
|
"Alias": "t, useSkill, usarHabilidade, 技能使用, 使用技能",
|
|
"Permissions": "@jRandomSkills/admin"
|
|
},
|
|
"HealCommand": {
|
|
"Alias": "heal, ulecz, curar, tratar, 治疗, 治愈",
|
|
"Permissions": "@jRandomSkills/admin"
|
|
},
|
|
"HealthCommand": {
|
|
"Alias": "sethealth, set_health, health",
|
|
"Permissions": "@jRandomSkills/admin"
|
|
},
|
|
"PlantedBomb": {
|
|
"Alias": "plantedbomb, planted_bomb, bomb",
|
|
"Permissions": "@jRandomSkills/admin"
|
|
},
|
|
"BotPlace": {
|
|
"Alias": "botplace, bot_place",
|
|
"Permissions": "@jRandomSkills/admin"
|
|
},
|
|
"ConsoleCommand": {
|
|
"Alias": "console, sv, 控制台, 服务器",
|
|
"Permissions": "@jRandomSkills/owner"
|
|
},
|
|
"HudCommand": {
|
|
"Alias": "hud, hood",
|
|
"Permissions": ""
|
|
},
|
|
"SetStaticSkillCommand": {
|
|
"Alias": "ustawstatycznyskill, ustaw_statyczny_skill, setstaticskill, set_static_skill",
|
|
"Permissions": "@jRandomSkills/admin"
|
|
},
|
|
"ChangeLanguageCommand": {
|
|
"Alias": "lang, language, changelang, change_lang, jezyk, język",
|
|
"Permissions": ""
|
|
},
|
|
"ReloadCommand": {
|
|
"Alias": "reload, refresh",
|
|
"Permissions": "@jRandomSkills/admin"
|
|
},
|
|
"NextCommand": {
|
|
"Alias": "next_skill",
|
|
"Permissions": "@jRandomSkills/admin"
|
|
}
|
|
},
|
|
"VotingCommands": {
|
|
"StartGameCommand": {
|
|
"EnableVoting": true,
|
|
"Alias": "start, go, começar, iniciar, 开始, 启动",
|
|
"Permissions": "@jRandomSkills/admin",
|
|
"StartParams": "mp_freezetime 15; mp_forcecamera 0; mp_overtime_enable 1; sv_cheats 0",
|
|
"SVStartParams": "mp_freezetime 0; mp_forcecamera 0; mp_overtime_enable 1; sv_cheats 1",
|
|
"TimeToVote": 15.0,
|
|
"PercentagesToSuccess": 60.0,
|
|
"TimeToNextVoting": 15.0,
|
|
"TimeToNextSameVoting": 500.0,
|
|
"MinimumPlayersToStartVoting": 2
|
|
},
|
|
"ChangeMapCommand": {
|
|
"EnableVoting": true,
|
|
"TimeToVote": 25.0,
|
|
"PercentagesToSuccess": 90.0,
|
|
"TimeToNextVoting": 15.0,
|
|
"TimeToNextSameVoting": 500.0,
|
|
"MinimumPlayersToStartVoting": 2,
|
|
"Alias": "map, mapa, changemap, zmienmape, zmienmape, mudarMapa, trocarMapa, 更换地图, 更改地图",
|
|
"Permissions": "@jRandomSkills/admin"
|
|
},
|
|
"SwapCommand": {
|
|
"EnableVoting": true,
|
|
"TimeToVote": 15.0,
|
|
"PercentagesToSuccess": 90.0,
|
|
"TimeToNextVoting": 15.0,
|
|
"TimeToNextSameVoting": 20.0,
|
|
"MinimumPlayersToStartVoting": 2,
|
|
"Alias": "swap, zmiana, trocar, 交换, 切换",
|
|
"Permissions": "@jRandomSkills/admin"
|
|
},
|
|
"ShuffleCommand": {
|
|
"EnableVoting": true,
|
|
"TimeToVote": 15.0,
|
|
"PercentagesToSuccess": 90.0,
|
|
"TimeToNextVoting": 15.0,
|
|
"TimeToNextSameVoting": 20.0,
|
|
"MinimumPlayersToStartVoting": 2,
|
|
"Alias": "shuffle, embaralhar, 随机排序, 洗牌",
|
|
"Permissions": "@jRandomSkills/admin"
|
|
},
|
|
"PauseCommand": {
|
|
"EnableVoting": true,
|
|
"TimeToVote": 15.0,
|
|
"PercentagesToSuccess": 60.0,
|
|
"TimeToNextVoting": 15.0,
|
|
"TimeToNextSameVoting": 2.0,
|
|
"MinimumPlayersToStartVoting": 2,
|
|
"Alias": "pause, unpause, pausar, despausar, 暂停, 恢复",
|
|
"Permissions": "@jRandomSkills/admin"
|
|
},
|
|
"SetScoreCommand": {
|
|
"EnableVoting": true,
|
|
"TimeToVote": 15.0,
|
|
"PercentagesToSuccess": 90.0,
|
|
"TimeToNextVoting": 15.0,
|
|
"TimeToNextSameVoting": 90.0,
|
|
"MinimumPlayersToStartVoting": 2,
|
|
"Alias": "setscore, wynik, definirPontuacao, configurarPontos, 设置分数, 调整分数",
|
|
"Permissions": "@jRandomSkills/owner"
|
|
}
|
|
}
|
|
}
|