From 980fe16f6ecf0637b8c2b3a2a0c9517474abd88d Mon Sep 17 00:00:00 2001 From: Arnaud Jamin Date: Fri, 24 Jan 2025 00:59:59 -0500 Subject: [PATCH] CogSample: Add invisibility cheat --- .../Debug/Cheats/GE_Cheat_Invisible.uasset | Bin 0 -> 24291 bytes Content/Core/Debug/DA_Debug_Engine.uasset | Bin 10776 -> 11235 bytes Source/CogSample/CogSampleCharacter.cpp | 16 ++++++++++++++++ Source/CogSample/CogSampleCharacter.h | 2 ++ .../CogSampleFunctionLibrary_Tag.cpp | 1 + .../CogSample/CogSampleFunctionLibrary_Tag.h | 1 + 6 files changed, 20 insertions(+) create mode 100644 Content/Core/Debug/Cheats/GE_Cheat_Invisible.uasset diff --git a/Content/Core/Debug/Cheats/GE_Cheat_Invisible.uasset b/Content/Core/Debug/Cheats/GE_Cheat_Invisible.uasset new file mode 100644 index 0000000000000000000000000000000000000000..5cda6f31fac3cf1634726879d7a9d51f4842f9a5 GIT binary patch literal 24291 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 UBQJGFCd_KH|98VvMH~444|6NPn*aa+ literal 0 HcmV?d00001 diff --git a/Content/Core/Debug/DA_Debug_Engine.uasset b/Content/Core/Debug/DA_Debug_Engine.uasset index cc7952caef14766f8852930ca8a439451238d07d..58af9a9dd4cc016d8d436637c8f0402009dac0c0 100644 GIT binary patch delta 1591 zcmZXUTS!zv7{}+hm)!O2dbYA%&)&SOySa;(XcM9cQCu%Xgxy{u*+_At3^T-{D}e-2 z79UuGh>%GXq|1SN%IKjeA4IK02*MDx+e3k9S-5>Ot9C9QeE*sM%x`9A&dko;{nLkT z73;@ELg14zZ#}`N!EE4YjgSm8Jj)LpNLC4<{S`Js3RxE+d6~3_kds)_ynxwQ_W4r7 zk9g$z%X=TXp3dn;ufB>~2Kq|7x4(Wg>030>ndv+=x99fd4B~)+5S`+GBrxcL9M~j< zq{CcH&xOFP_oY`iwZ>XvM^Ds~U~k8?pSDR~4Q8D?1JTNgy7I>Q=$X1Ts;-=byZUdy zeCn8qu9!vj zWeK1*Fulq23Db{EjaJ%Q$n+r7i%k2Ojxb$d>Pe?$glQAgPNqXlXPH`sfTe2XG-wf` zYf!WltgLEG*Z^^UBhJ_^c>UjSy{p6U(vmPHy?rLkASR7*5o`_-4ECMkDw2ZDa^$ZT zNmC(yr)Cyjh3wTL78P<%i&#}ipB711AtPEuP$9pxh)#v%xHLP`tB~DV#Gpc2wTMxL z^lFiHDr8uTq^gj4Ekch_evBTsW=CcfQk6tzgkrdF7dDk(Hw}8)f9PRhoK7Nbeja`b zt}Tlz&0l0!jbhbQFz8(>V>Nsr={pC_eml4vINII@Q-U61jv`|-zJf!d)Z^eeGyOXz z63-I}FAR!4n9O{@eTOSzJ}iqtc!zlzbF(uD53%gW@;v4!W-aEDvn9op2B%!djA!YG z<{_S)CH;1Fa5j3A2;K1N^9V0|P8iOO!ZlBb6JRPU25zqhBu^B&y#=ttdtBO@bw>xa Uz9^Jtn;`7-z#DH=l6>`se+ls&6aWAK delta 1659 zcmai!O=uHA6vt=NBsH7eZBjp)O}a@V>843)Tfahuf>JbA4??LZiY-R8&y~PDTXp=5NPBgTkGC4Dbr2RKo;8=TxDhe(SI3XoG5z0; zWlN7mi&MPj-O?5}U~%IX_sHVrE$)}a>5_SeLl$?z;wCI^PKrRk>=Wi;LTq5O*N~Cp zu2=Yf_rXCqBxGP(j-$R~>Q?Byjp-4lV@&Tdea`ed({LTF%rG5cdXs6H=^|6bM{Ckd z2bhlg;&Nv7ec{cjKEpZxdgzrmV72a#=*#$Ye~Re)-Hu7`5nf4>#H3MHA*u$U&>}(J zANwcbz%nzk#7Dd~q&~>qMY17Xd_=Y(gM37>Avr!$XG3QA2t91`iB<(;F_pdAvde6J7^V8P0yCTMQ_!>*9cwkfYBU=8_n6$n106f8)UaWxBvhE diff --git a/Source/CogSample/CogSampleCharacter.cpp b/Source/CogSample/CogSampleCharacter.cpp index a74b44c..9a24d42 100644 --- a/Source/CogSample/CogSampleCharacter.cpp +++ b/Source/CogSample/CogSampleCharacter.cpp @@ -292,6 +292,7 @@ void ACogSampleCharacter::RegisterToAbilitySystemEvents() // Register to Tag change events //---------------------------------------- GhostTagDelegateHandle = AbilitySystem->RegisterGameplayTagEvent(Tag_Status_Ghost, EGameplayTagEventType::NewOrRemoved).AddUObject(this, &ACogSampleCharacter::OnGhostTagNewOrRemoved); + GhostTagDelegateHandle = AbilitySystem->RegisterGameplayTagEvent(Tag_Status_Invisible, EGameplayTagEventType::NewOrRemoved).AddUObject(this, &ACogSampleCharacter::OnInvisibleTagNewOrRemoved); //---------------------------------------- // Register to Attribute change events @@ -323,6 +324,7 @@ void ACogSampleCharacter::UnregisterFromAbilitySystemEvents() // Unregister to Tags events //---------------------------------------- AbilitySystem->UnregisterGameplayTagEvent(GhostTagDelegateHandle, Tag_Status_Ghost, EGameplayTagEventType::NewOrRemoved); + AbilitySystem->UnregisterGameplayTagEvent(GhostTagDelegateHandle, Tag_Status_Invisible, EGameplayTagEventType::NewOrRemoved); //---------------------------------------- // Unregister to GameplayEffect events @@ -687,6 +689,20 @@ void ACogSampleCharacter::OnGhostTagNewOrRemoved(const FGameplayTag InTag, int32 #endif //UE_WITH_CHEAT_MANAGER } + +// ---------------------------------------------------------------------------------------------------------------- +void ACogSampleCharacter::OnInvisibleTagNewOrRemoved(const FGameplayTag InTag, int32 NewCount) +{ +#if UE_WITH_CHEAT_MANAGER + + check(InTag == Tag_Status_Invisible); + + bool bHasInvisibleTags = NewCount > 0; + SetActorHiddenInGame(bHasInvisibleTags); + +#endif //UE_WITH_CHEAT_MANAGER +} + //-------------------------------------------------------------------------------------------------------------------------- void ACogSampleCharacter::OnScaleAttributeChanged(const FOnAttributeChangeData& Data) { diff --git a/Source/CogSample/CogSampleCharacter.h b/Source/CogSample/CogSampleCharacter.h index 0d4d6ce..594c15d 100644 --- a/Source/CogSample/CogSampleCharacter.h +++ b/Source/CogSample/CogSampleCharacter.h @@ -338,6 +338,8 @@ protected: void OnGhostTagNewOrRemoved(const FGameplayTag InTag, int32 NewCount); + void OnInvisibleTagNewOrRemoved(const FGameplayTag InTag, int32 NewCount); + void OnScaleAttributeChanged(const FOnAttributeChangeData& Data); void UpdateActiveAbilitySlots(); diff --git a/Source/CogSample/CogSampleFunctionLibrary_Tag.cpp b/Source/CogSample/CogSampleFunctionLibrary_Tag.cpp index 3135fae..e14d315 100644 --- a/Source/CogSample/CogSampleFunctionLibrary_Tag.cpp +++ b/Source/CogSample/CogSampleFunctionLibrary_Tag.cpp @@ -39,6 +39,7 @@ UE_DEFINE_GAMEPLAY_TAG(Tag_GameplayCue_DamageReceived, "GameplayCue.DamageReceiv UE_DEFINE_GAMEPLAY_TAG(Tag_Status_Dead, "Status.Dead"); UE_DEFINE_GAMEPLAY_TAG(Tag_Status_Ghost, "Status.Ghost"); UE_DEFINE_GAMEPLAY_TAG(Tag_Status_Immobilized, "Status.Immobilized"); +UE_DEFINE_GAMEPLAY_TAG(Tag_Status_Invisible, "Status.Invisible"); UE_DEFINE_GAMEPLAY_TAG(Tag_Status_Immune_Damage, "Status.Immune.Damage"); UE_DEFINE_GAMEPLAY_TAG(Tag_Status_Revived, "Status.Revived"); UE_DEFINE_GAMEPLAY_TAG(Tag_Status_Silenced, "Status.Silenced"); diff --git a/Source/CogSample/CogSampleFunctionLibrary_Tag.h b/Source/CogSample/CogSampleFunctionLibrary_Tag.h index d4808db..a6ae167 100644 --- a/Source/CogSample/CogSampleFunctionLibrary_Tag.h +++ b/Source/CogSample/CogSampleFunctionLibrary_Tag.h @@ -42,6 +42,7 @@ UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag_Status_Dead); UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag_Status_Ghost); UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag_Status_Immobilized); UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag_Status_Immune_Damage); +UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag_Status_Invisible); UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag_Status_NoCooldown); UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag_Status_NoCost); UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag_Status_Revived);