Added CircuitBreaker (Test)

This commit is contained in:
Miraak 2026-02-22 15:12:22 +01:00
parent 7aa71ea79a
commit 0308eadb41
6 changed files with 162 additions and 1 deletions

View File

@ -0,0 +1,150 @@
<?php
namespace App\Classes\Character\HunterItemConfig;
use App\Classes\Character\CharacterItemConfig;
class CircuitBreakerItemConfig extends CharacterItemConfig
{
protected static string $characterId = 'B6328B45C9AA48329368DF84EC5F6102';
protected static array $defaultEquippedPerks = [
'3C9D2E0A44ED015979667DBA4F080B49',
'7CE5AFBF459102E5728DCDAA6F88C0F1',
];
protected static array $defaultEquippedWeapons = [
'6562B26B48C9C791C82A3EAE344EBEE1',
'0606F8464D4C7EB70601CC84C50BCAC6',
];
protected static array $defaultEquipment = [
'5CBD38644EA136989CB0E3BBF4A8E54B',
'321B9FA34B4497CA94F1CDB007735A57',
'525F6BE644576B3832ED77A10193F8A3',
'9109796A49930831B017B3994A9F22EA',
'F01A992E429392A4F839FD93C25B34DB',
'C814E8904A7C9D9A2F2594A3153E77A0',
];
protected static array $defaultEquippedBonuses = [
'791F12E047DA9E26E246E3859C3F587E',
'03783FB54D88B7D88DD4509FCBBAFE68',
'1098BEE241B1515B44013A87EDB16BDC',
];
protected static array $defaultEquippedPowers = [
'7A541DCB4F04DAB2E10FAB84395BB967',
'08DC38B6470A7A5B0BA025B96279DAA8',
'0703E3634B0E4409623E2D8C06B14C79',
];
protected static array $additionalPerks = [
'2DA218B040C6098EAE0C8AA242BD990D',
'67E1A8F742207F6CC692318D7C756B26',
'6835F1E643D0588CBA2469A8D683E55C',
'7905E5BB41428DE91C5B5AACA923F092',
'914B88A0447F525E74E34589A1EAC77E',
'AA00BB584A47234168A63D9F14C4C4E8',
'C403AF2649F907BF16420A9F7F5DF944',
'DF733C3844D6574A5A59B8AFA30F9CB1',
'E4B12FB94D398B7F289339A42B6988FB',
'F5D3AAFB419D0F14DDA3F6A334F4A6F0',
'2889E0714D1ED17B740EA8B2E0CC040B',
'3AFC7E854BEA742DD8B844BE3F2FA00B',
'46E73E2A464EA7524C92C2AF5C805E77',
'7493289B4C0E2DE6698961A7E24648B6',
'80B7670F45426B15B960888E3A8D3589',
'932C517242D89178AE68AD9321C71499',
'CA91B3F84D45FFC44986029B5F77CF06',
'D156E4EF413E02102F3ED7B0C6EB4E11',
'DE624DB646B9EEAA7CBDFF9A62D96293',
'E2605091465BCD32D4F9948A18EA205B',
'2046082F4049FFABD5A933A4559B3AE0',
'4EEC7CAE437702447F22A5B4F316B988',
'5F114E9042232BBAF42A328DA24CA0DC',
'6DED7E4743CBE13A028B2390F2EAEFA8',
'7D7A6F2D4E7FCB1E1A64D389285AD695',
'A52327C54A4B539B52EFEFB51E948A8F',
'B10B38854D122428908A1DAB55E7E424',
'B6CCC7FB4025BF4289E68F9A69C8A052',
'DDD6AA3C469DD4BE5EF13D994AA09120',
'E6F42CD6478D940657AEAC86A83176BD',
'3C9D2E0A44ED015979667DBA4F080B49',
'42A381F2430D5581EDBD0F8AE66A6380',
'7249B6B74147CF225063578D5BA4DEA4',
'B946D9AB4A69E09B6BCBB0BECB632EB4',
'C937869841E6575A6DEB91B8D4AB51FD',
'CD905C5D4ECB6597E44920B4EF494AAA',
'D280DDA04D5EB4E8317C338DB979A455',
'DD6708E941B7F392087653A60FC390AE',
'E98409444718D31F2426E3B7470EC8F5',
'FCAED2A74A7CD99B47F0BFBD5E8C245B',
'326BC4D94285F74B62EEFFA3E45652F8',
'447D825F49939E3DACD807B8BA501D29',
'7EEA14B84BB8E453A006479D71296288',
'8B5AC04E4395ABDE3E9ABA806A6E6A79',
'97D7970A47CDE0451384D098E7E4A681',
'9AD951AD4EDB660AF3BEF18A0BC549D6',
'ADDFA63141E620D8F7D7A8A6C2C7E92B',
'B4147B2D4BC4E90272740091A43A12D3',
'B9EDA06B441115936D7782B428D2E4E3',
'BD37B5154E3FE64FA79F76B83766F4F8',
'2CFAE45B46DFA24E069FC3867531929F',
'64993A47498BE7E7B461B6847593961D',
'77741326480FAD549F4ED4AE8D3876C0',
'7CE5AFBF459102E5728DCDAA6F88C0F1',
'8FAB4E1F497D33849A4811AF4D202F04',
'951F103D40661F24216440A47FC4CFA7',
'A0A54D22430433E3BA95958E745B6075',
'B39D44DE4A41506524F7A7BF20D69900',
'BD5E67DE4CFBBD4A7A06889F782D5B03',
'E6E9C4B247BB78B7ED513397D8AD77F8',
];
protected static array $additionalWeapons = [
'EC7BE7FF44840117459D8FBE2AE5BE27',
'4D4481224066F26EB62F08957BAAB7F8',
'1E9F4B0B411B0CFF9009638EFBBB68BB',
'31E332854F033E7370DB219F194871FA',
'7A70DC4F40A5BC51F3944CAADE0D434B',
'42029CB64E6D0E28CF818ABF164C7DE4',
'FB23E04C4730F3451388DF8CD2FAF31A',
'F8240052491F02CD1F1B73854173F0EB',
'E4B6A31141FB3AF9271E18882CFC0DB6',
'B83A141A45FB8D96D48A5185CD607AA3',
'EAF5179F4F62DCC06CE3E29F4E86207E',
'479BE509436547C4222CF6BB01802009',
'F317A5504A82074040F104A0AE68B360',
'A17BA09141027848493CAA9D5EDC9D72',
'6F3359C54870B7B8A4D7B9A8C561D001',
'BBA2090F49BA1F26443400AC8ABD6A7D',
'B02BE54A4758C5169593BC9EFF9DA028',
'A87672CA4D2BBFF35E273C82F2524278',
'90F742AD4BDE1CBF81B4B0BE57271C9B',
'6562B26B48C9C791C82A3EAE344EBEE1',
'23C4DCE74DB1D6CDC9147587F5C42450',
'EC2B43B6444929A1346A12B64D4DC8D3',
'369D5D0C4175FD4445EF67BEF060B270',
'D33211F643BF66DE32E555928266B97A',
'4D3110C745832FC4FAD3CDBB2988CDD3',
'4BCE89A640F8687625ABF58B35A734AC',
'377368444AFD0D25687CEBA2B721CEA9',
'FF5ADA454579CD95C8536DB944C75F24',
'22C48CEE49DC29EED48A82A7423DCCE6',
'0606F8464D4C7EB70601CC84C50BCAC6',
];
protected static array $additionalPowers = [
'2FBD62CA46D16FB8923AD58491AA3B7A',
'7F68BAD343E4840AB693E898E44E8090',
'568754AF4288DBC3D112289DB4258377',
'E450C2EC4B17B1E1E713BCB142B6A909',
'A96456FA40BF0F9B1A4C5295BBACF575',
'C9E54DEF403446AF47C34BABEDD83425',
'8B7AF40C49D383DE834D6B8C1287DB20',
'F5D3A40044241624408988A606433448',
'29D80B9944ECCB0D647F8D95D7264F2D',
];
}

View File

@ -11,6 +11,7 @@ enum Characters: string
case Poacher = 'Poacher';
case Inquisitor = 'Inquisitor';
case Mass = 'Mass';
case CircuitBreaker = 'CircuitBreaker';
// Runners
case Smoke = 'Smoke';
@ -67,6 +68,7 @@ public static function tryFromUuid(UuidInterface $uuid)
'c300e3a8-4e57-1d54-9e01-4b9051a18be8' => Characters::Ink,
'755d4dfe-40da-1512-b01e-3d8cff3c8d4d' => Characters::Sawbones,
'38a4ef81-4082-2e49-8b2f-d196b757f7ad' => Characters::Switch,
'b6328b45-c9aa-4832-9368-df84ec5f6102' => Characters::CircuitBreaker,
default => null,
};
}

View File

@ -18,7 +18,8 @@ public function getCharacterList(): array {
Hunter::Inquisitor,
Hunter::Stalker,
Hunter::Poacher,
Hunter::Mass
Hunter::Mass,
Hunter::CircuitBreaker
],
self::Runner => [
Runner::Smoke,

View File

@ -3,6 +3,7 @@
namespace App\Enums\Game;
use App\Classes\Character\CharacterItemConfig;
use App\Classes\Character\HunterItemConfig\CircuitBreakerItemConfig;
use App\Classes\Character\HunterItemConfig\InquisitorItemConfig;
use App\Classes\Character\HunterItemConfig\PoacherItemConfig;
use App\Classes\Character\HunterItemConfig\StalkerItemConfig;
@ -14,6 +15,7 @@ enum Hunter: string
case Poacher = 'Poacher';
case Inquisitor = 'Inquisitor';
case Mass = 'Mass';
case CircuitBreaker = 'CircuitBreaker';
public function getTag()
{
@ -27,6 +29,7 @@ public static function tryFromTag(string $tag): Hunter|null
'Hunter.Poacher' => Hunter::Poacher,
'Hunter.Inquisitor' => Hunter::Inquisitor,
'Hunter.Mass' => Hunter::Mass,
'Hunter.CircuitBreaker' => Hunter::CircuitBreaker,
default => null,
};
}
@ -38,6 +41,7 @@ public function getGroupType(): ItemGroupType
Hunter::Poacher => ItemGroupType::HunterPoacher,
Hunter::Inquisitor => ItemGroupType::HunterInquisitor,
Hunter::Mass => ItemGroupType::HunterVeteran,
Hunter::CircuitBreaker => ItemGroupType::HunterCircuitBreaker,
};
}
@ -51,6 +55,7 @@ public function getItemConfigClass(): string
Hunter::Poacher => PoacherItemConfig::class,
Hunter::Inquisitor => InquisitorItemConfig::class,
Hunter::Mass => VeteranItemConfig::class,
Hunter::CircuitBreaker => CircuitBreakerItemConfig::class,
};
}
}

View File

@ -18,6 +18,7 @@ enum ItemGroupType: string
case HunterInquisitor = 'HunterGroupB';
case HunterPoacher = 'HunterGroupC';
case HunterVeteran = 'HunterGroupD';
case HunterCircuitBreaker = 'HunterGroupE';
// Not used by game but needed for InitOrGetGroups
case PlayerProgression = 'PlayerProgression';
@ -36,6 +37,7 @@ public function getCharacter(): Characters|false
ItemGroupType::HunterInquisitor => Characters::Inquisitor,
ItemGroupType::HunterPoacher => Characters::Poacher,
ItemGroupType::HunterVeteran => Characters::Mass,
ItemGroupType::HunterCircuitBreaker => Characters::CircuitBreaker,
default => false,
};
}

View File

@ -15,6 +15,7 @@ enum MetadataGroup: string
case Inquisitor = 'HunterGroupB';
case Poacher = 'HunterGroupC';
case Veteran = 'HunterGroupD';
case CircuitBreaker = 'HunterGroupE';
case Profile = 'ProfileMetadata';