22using UnityEngine ;
33using static TheOtherRoles . TheOtherRoles ;
44using Types = TheOtherRoles . CustomOption . CustomOptionType ;
5+ using TheOtherRoles . Modules ;
56
67namespace TheOtherRoles {
78 public class CustomOptionHolder {
@@ -81,6 +82,7 @@ public class CustomOptionHolder {
8182 public static CustomOption bountyHunterPunishmentTime ;
8283 public static CustomOption bountyHunterShowArrow ;
8384 public static CustomOption bountyHunterArrowUpdateIntervall ;
85+ public static CustomOption bountyHunterShowCooldownForGhosts ;
8486
8587 public static CustomOption witchSpawnRate ;
8688 public static CustomOption witchCooldown ;
@@ -409,6 +411,15 @@ public class CustomOptionHolder {
409411 public static CustomOption propHuntFindCooldown ;
410412 public static CustomOption propHuntFindDuration ;
411413
414+ //Add Settings
415+ public static CustomOption AddVents ;
416+ public static CustomOption addPolusVents ;
417+ public static CustomOption addAirShipVents ;
418+ public static CustomOption enableAirShipModify ;
419+ public static CustomOption enableBetterPolus ;
420+
421+
422+
412423 internal static Dictionary < byte , byte [ ] > blockedRolePairings = new Dictionary < byte , byte [ ] > ( ) ;
413424
414425 public static string cs ( Color c , string s ) {
@@ -435,8 +446,8 @@ public static void Load() {
435446 if ( Utilities . EventUtility . canBeEnabled ) enableEventMode = CustomOption . Create ( 10423 , Types . General , cs ( Color . green , "Enable 特别模式" ) , true , null , true ) ;
436447
437448 // Using new id's for the options to not break compatibilty with older versions
438- crewmateRolesCountMin = CustomOption . Create ( 300 , Types . General , cs ( new Color ( 204f / 255f , 204f / 255f , 0 , 1f ) , "最少船员数量 " ) , 15f , 0f , 15f , 1f , null , true , heading : "Min/Max Roles" ) ;
439- crewmateRolesCountMax = CustomOption . Create ( 301 , Types . General , cs ( new Color ( 204f / 255f , 204f / 255f , 0 , 1f ) , "最大 船员数量 " ) , 15f , 0f , 15f , 1f ) ;
449+ crewmateRolesCountMin = CustomOption . Create ( 300 , Types . General , cs ( new Color ( 204f / 255f , 204f / 255f , 0 , 1f ) , "最小船员数量 " ) , 15f , 0f , 15f , 1f , null , true , heading : "Min/Max Roles" ) ;
450+ crewmateRolesCountMax = CustomOption . Create ( 301 , Types . General , cs ( new Color ( 204f / 255f , 204f / 255f , 0 , 1f ) , "最大船员数量 " ) , 15f , 0f , 15f , 1f ) ;
440451 neutralRolesCountMin = CustomOption . Create ( 302 , Types . General , cs ( new Color ( 204f / 255f , 204f / 255f , 0 , 1f ) , "最少中立数量" ) , 15f , 0f , 15f , 1f ) ;
441452 neutralRolesCountMax = CustomOption . Create ( 303 , Types . General , cs ( new Color ( 204f / 255f , 204f / 255f , 0 , 1f ) , "最大中立数量" ) , 15f , 0f , 15f , 1f ) ;
442453 impostorRolesCountMin = CustomOption . Create ( 304 , Types . General , cs ( new Color ( 204f / 255f , 204f / 255f , 0 , 1f ) , "最少伪装者数量" ) , 15f , 0f , 15f , 1f ) ;
@@ -482,9 +493,10 @@ public static void Load() {
482493 bountyHunterReducedCooldown = CustomOption . Create ( 322 , Types . Impostor , "正确击杀后冷却时间" , 2.5f , 0f , 30f , 2.5f , bountyHunterSpawnRate ) ;
483494 bountyHunterPunishmentTime = CustomOption . Create ( 323 , Types . Impostor , "错误击杀后冷却时间" , 20f , 0f , 60f , 2.5f , bountyHunterSpawnRate ) ;
484495 bountyHunterShowArrow = CustomOption . Create ( 324 , Types . Impostor , "显示箭头→赏金目标" , true , bountyHunterSpawnRate ) ;
485- bountyHunterArrowUpdateIntervall = CustomOption . Create ( 325 , Types . Impostor , "剪头更新频率" , 15f , 2.5f , 60f , 2.5f , bountyHunterShowArrow ) ;
496+ bountyHunterArrowUpdateIntervall = CustomOption . Create ( 325 , Types . Impostor , "箭头更新频率" , 15f , 2.5f , 60f , 2.5f , bountyHunterShowArrow ) ;
497+ bountyHunterShowCooldownForGhosts = CustomOption . Create ( 4399 , Types . Impostor , "向鬼魂展示赏金猎人冷却时间" , true , bountyHunterSpawnRate ) ;
486498
487- witchSpawnRate = CustomOption . Create ( 370 , Types . Impostor , cs ( Witch . color , "女巫" ) , rates , null , true ) ;
499+ witchSpawnRate = CustomOption . Create ( 370 , Types . Impostor , cs ( Witch . color , "女巫" ) , rates , null , true ) ;
488500 witchCooldown = CustomOption . Create ( 371 , Types . Impostor , "下咒冷却时间" , 30f , 10f , 120f , 5f , witchSpawnRate ) ;
489501 witchAdditionalCooldown = CustomOption . Create ( 372 , Types . Impostor , "女巫额外冷却时间" , 10f , 0f , 60f , 5f , witchSpawnRate ) ;
490502 witchCanSpellAnyone = CustomOption . Create ( 373 , Types . Impostor , "可以下咒给所有人" , false , witchSpawnRate ) ;
@@ -537,7 +549,7 @@ public static void Load() {
537549 jackalSpawnRate = CustomOption . Create ( 220 , Types . Neutral , cs ( Jackal . color , "豺狼" ) , rates , null , true ) ;
538550 jackalKillCooldown = CustomOption . Create ( 221 , Types . Neutral , "击杀冷却时间" , 30f , 10f , 60f , 2.5f , jackalSpawnRate ) ;
539551 jackalCreateSidekickCooldown = CustomOption . Create ( 222 , Types . Neutral , "招募冷却时间" , 30f , 10f , 60f , 2.5f , jackalSpawnRate ) ;
540- jackalCanUseVents = CustomOption . Create ( 223 , Types . Neutral , "豺狼可以使用通风管道 " , true , jackalSpawnRate ) ;
552+ jackalCanUseVents = CustomOption . Create ( 223 , Types . Neutral , "豺狼可使用通风管道 " , true , jackalSpawnRate ) ;
541553 jackalCanSabotageLights = CustomOption . Create ( 431 , Types . Neutral , "豺狼拥有伪装者视野" , true , jackalSpawnRate ) ;
542554 jackalCanCreateSidekick = CustomOption . Create ( 224 , Types . Neutral , "豺狼可以招募跟班" , false , jackalSpawnRate ) ;
543555 sidekickPromotesToJackal = CustomOption . Create ( 225 , Types . Neutral , "豺狼死后跟班继位" , false , jackalCanCreateSidekick ) ;
@@ -614,7 +626,7 @@ public static void Load() {
614626 swapperCanCallEmergency = CustomOption . Create ( 151 , Types . Crewmate , "可以开启紧急会议" , false , swapperSpawnRate ) ;
615627 swapperCanOnlySwapOthers = CustomOption . Create ( 152 , Types . Crewmate , "只能交换非换票师的玩家" , false , swapperSpawnRate ) ;
616628
617- swapperSwapsNumber = CustomOption . Create ( 153 , Types . Crewmate , "单词补充次数 " , 1f , 0f , 5f , 1f , swapperSpawnRate ) ;
629+ swapperSwapsNumber = CustomOption . Create ( 153 , Types . Crewmate , "单次补充次数 " , 1f , 0f , 5f , 1f , swapperSpawnRate ) ;
618630 swapperRechargeTasksNumber = CustomOption . Create ( 154 , Types . Crewmate , "充值所需任务数" , 2f , 1f , 10f , 1f , swapperSpawnRate ) ;
619631
620632
@@ -673,6 +685,8 @@ public static void Load() {
673685 mediumOneTimeUse = CustomOption . Create ( 363 , Types . Crewmate , "每个灵魂只能提问一次" , false , mediumSpawnRate ) ;
674686 mediumChanceAdditionalInfo = CustomOption . Create ( 364 , Types . Crewmate , "答案包含附加信息的可能性" , rates , mediumSpawnRate ) ;
675687
688+ //Investigator Settings...
689+
676690 thiefSpawnRate = CustomOption . Create ( 400 , Types . Neutral , cs ( Thief . color , "身份窃贼" ) , rates , null , true ) ;
677691 thiefCooldown = CustomOption . Create ( 401 , Types . Neutral , "偷窃冷却时间" , 30f , 5f , 120f , 5f , thiefSpawnRate ) ;
678692 thiefCanKillSheriff = CustomOption . Create ( 402 , Types . Neutral , "可以击杀警长" , true , thiefSpawnRate ) ;
@@ -716,9 +730,9 @@ public static void Load() {
716730 modifierSunglassesQuantity = CustomOption . Create ( 1051 , Types . Modifier , cs ( Color . yellow , "失明者数量" ) , ratesModifier , modifierSunglasses ) ;
717731 modifierSunglassesVision = CustomOption . Create ( 1052 , Types . Modifier , "减少视野数" , new string [ ] { "-10%" , "-20%" , "-30%" , "-40%" , "-50%" } , modifierSunglasses ) ;
718732
719- modifierLighterln = CustomOption . Create ( 5000 , Types . Modifier , cs ( Color . yellow , "火炬 " ) , rates , null , true ) ;
720- modifierLighterlnQuantity = CustomOption . Create ( 5001 , Types . Modifier , cs ( Color . yellow , "火炬数量 " ) , ratesModifier , modifierLighterln ) ;
721- modifierLighterlnVision = CustomOption . Create ( 5002 , Types . Modifier , "增加视野数 " , new string [ ] { "+10%" , "+20%" , "+30%" , "+40%" , "+50%" } , modifierLighterln ) ;
733+ modifierLighterln = CustomOption . Create ( 40180 , Types . Modifier , cs ( Color . yellow , "Torch " ) , rates , null , true ) ;
734+ modifierLighterlnQuantity = CustomOption . Create ( 40181 , Types . Modifier , cs ( Color . yellow , "modifierTorchQuantity " ) , ratesModifier , modifierLighterln ) ;
735+ modifierLighterlnVision = CustomOption . Create ( 40182 , Types . Modifier , "modifierTorchVision " , 1.5f , 1f , 3f , 0.125f , modifierLighterln ) ;
722736
723737 modifierMini = CustomOption . Create ( 1061 , Types . Modifier , cs ( Color . yellow , "迷你船员" ) , rates , null , true ) ;
724738 modifierMiniGrowingUpDuration = CustomOption . Create ( 1062 , Types . Modifier , "迷你船员成长时间" , 400f , 100f , 1500f , 100f , modifierMini ) ;
@@ -782,7 +796,7 @@ public static void Load() {
782796 hunterArrowDuration = CustomOption . Create ( 3013 , Types . HideNSeekRoles , cs ( Color . red , "猎人导航箭头持续时间" ) , 5f , 0f , 60f , 1f ) ;
783797 hunterArrowPunish = CustomOption . Create ( 3014 , Types . HideNSeekRoles , cs ( Color . red , "猎人在分钟内导航键头惩罚" ) , 5f , 0f , 30f , 1f ) ;
784798
785- huntedShieldCooldown = CustomOption . Create ( 3015 , Types . HideNSeekRoles , cs ( Color . gray , "躲藏者护盾冷却时间" ) , 30f , 5f , 60f , 1f , null , true , heading : "躲藏者护盾设置。 " ) ;
799+ huntedShieldCooldown = CustomOption . Create ( 3015 , Types . HideNSeekRoles , cs ( Color . gray , "躲藏者护盾冷却时间" ) , 30f , 5f , 60f , 1f , null , true , heading : "躲藏者护盾设置" ) ;
786800 huntedShieldDuration = CustomOption . Create ( 3016 , Types . HideNSeekRoles , cs ( Color . gray , "躲藏者护盾持续时间" ) , 5f , 1f , 60f , 1f ) ;
787801 huntedShieldRewindTime = CustomOption . Create ( 3018 , Types . HideNSeekRoles , cs ( Color . gray , "躲藏者回溯时间" ) , 3f , 1f , 10f , 1f ) ;
788802 huntedShieldNumber = CustomOption . Create ( 3026 , Types . HideNSeekRoles , cs ( Color . gray , "躲藏者护盾数量" ) , 3f , 1f , 15f , 1f ) ;
@@ -828,7 +842,7 @@ public static void Load() {
828842 finishTasksBeforeHauntingOrZoomingOut = CustomOption . Create ( 9 , Types . General , "在出现困扰或缩小之前完成任务" , true ) ;
829843 deadImpsBlockSabotage = CustomOption . Create ( 13 , Types . General , "禁止破坏胜利" , false , null , false ) ;
830844 camsNightVision = CustomOption . Create ( 11 , Types . General , "如果灯光关闭,摄像机将切换到夜视功能" , false , null , true , heading : "Night Vision Cams" ) ;
831- camsNoNightVisionIfImpVision = CustomOption . Create ( 12 , Types . General , "伪装者视野忽略夜视摄像头" , false , camsNightVision , false ) ;
845+
832846
833847
834848
@@ -839,7 +853,17 @@ public static void Load() {
839853 dynamicMapEnableAirShip = CustomOption . Create ( 504 , Types . General , "Airship" , rates , dynamicMap , false ) ;
840854 dynamicMapEnableFungle = CustomOption . Create ( 506 , Types . General , "Fungle" , rates , dynamicMap , false ) ;
841855 dynamicMapEnableSubmerged = CustomOption . Create ( 505 , Types . General , "Submerged" , rates , dynamicMap , false ) ;
842- dynamicMapSeparateSettings = CustomOption . Create ( 509 , Types . General , "使用随机地图设置预设" , false , dynamicMap , false ) ;
856+ dynamicMapSeparateSettings = CustomOption . Create ( 509 , Types . General , "使用随机地图设置预设" , false , dynamicMap , true ) ;
857+ camsNoNightVisionIfImpVision = CustomOption . Create ( 12 , Types . General , "伪装者视野忽略夜视摄像头" , false , camsNightVision , false ) ;
858+
859+ AddVents = CustomOption . Create ( 114513 , Types . General , "添加通风管道" , false , null , true , heading : "添加通风管道" ) ;
860+ addPolusVents = CustomOption . Create ( 114514 , Types . General , "在Polus增加额外的通风管道" , false , enableBetterPolus ) ;
861+ addAirShipVents = CustomOption . Create ( 114515 , Types . General , "在AriShip增加额外的通风管道" , false , enableAirShipModify ) ;
862+ enableAirShipModify = CustomOption . Create ( 114516 , Types . General , cs ( Color . yellow , "AirShip" ) , false , null ) ;
863+ enableBetterPolus = CustomOption . Create ( 114517 , Types . General , "启用Polus追加" , false , null ) ;
864+
865+
866+
843867
844868 blockedRolePairings . Add ( ( byte ) RoleId . Vampire , new [ ] { ( byte ) RoleId . Warlock } ) ;
845869 blockedRolePairings . Add ( ( byte ) RoleId . Warlock , new [ ] { ( byte ) RoleId . Vampire } ) ;
0 commit comments