Updated Combat System to Include Healing During Combat
This commit is contained in:
		
							parent
							
								
									cef7b1895b
								
							
						
					
					
						commit
						487c46d7b8
					
				
							
								
								
									
										
											BIN
										
									
								
								Content/Blueprints/Combat_UI/BookCombat_UI.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Content/Blueprints/Combat_UI/BookCombat_UI.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Content/Blueprints/Combat_UI/CombatCharacter.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Content/Blueprints/Combat_UI/CombatCharacter.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Content/Blueprints/Items/BP_Azos.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Content/Blueprints/Items/BP_Azos.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Content/Blueprints/Items/BP_Eis.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Content/Blueprints/Items/BP_Eis.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Content/Blueprints/Items/BP_Iroquoid.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Content/Blueprints/Items/BP_Iroquoid.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Content/Blueprints/Items/BP_Probertium.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Content/Blueprints/Items/BP_Probertium.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							@ -3,7 +3,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include "InventoryComponent.h"
 | 
					#include "InventoryComponent.h"
 | 
				
			||||||
#include "Items/BaseItem.h"
 | 
					#include "Items/BaseItem.h"
 | 
				
			||||||
#include "the_twilight_abyss/PlayerTemp/TempCharacter.h"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Sets default values for this component's properties
 | 
					// Sets default values for this component's properties
 | 
				
			||||||
@ -23,7 +22,7 @@ void UInventoryComponent::BeginPlay()
 | 
				
			|||||||
	Super::BeginPlay();
 | 
						Super::BeginPlay();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	//activates the AddItem function for every DefaultItem that inherits BaseItem
 | 
						//activates the AddItem function for every DefaultItem that inherits BaseItem
 | 
				
			||||||
	for(auto & BaseItem : DefaultItems)
 | 
						for (auto& BaseItem : DefaultItems)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		AddItem(BaseItem);
 | 
							AddItem(BaseItem);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@ -40,7 +39,7 @@ bool UInventoryComponent::AddItem(class UBaseItem* BaseItem)
 | 
				
			|||||||
	BaseItem->StoredItems = this;
 | 
						BaseItem->StoredItems = this;
 | 
				
			||||||
	BaseItem->World = GetWorld();
 | 
						BaseItem->World = GetWorld();
 | 
				
			||||||
	bool isNewItem = true;
 | 
						bool isNewItem = true;
 | 
				
			||||||
	for (auto & Item : Items)
 | 
						for (auto& Item : Items)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		//if the item is the same as the item that is being added
 | 
							//if the item is the same as the item that is being added
 | 
				
			||||||
		if (Item->ItemDisplayName.ToString() == BaseItem->ItemDisplayName.ToString())
 | 
							if (Item->ItemDisplayName.ToString() == BaseItem->ItemDisplayName.ToString())
 | 
				
			||||||
@ -64,7 +63,7 @@ bool UInventoryComponent::AddItem(class UBaseItem* BaseItem)
 | 
				
			|||||||
// remove only gets called once on the same item
 | 
					// remove only gets called once on the same item
 | 
				
			||||||
bool UInventoryComponent::Remove(class UBaseItem* BaseItem)
 | 
					bool UInventoryComponent::Remove(class UBaseItem* BaseItem)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	if(BaseItem)
 | 
						if (BaseItem)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		UE_LOG(LogTemp, Display, TEXT("ItEM HAS BEEN REMOVED"));
 | 
							UE_LOG(LogTemp, Display, TEXT("ItEM HAS BEEN REMOVED"));
 | 
				
			||||||
		BaseItem->StoredItems = nullptr;
 | 
							BaseItem->StoredItems = nullptr;
 | 
				
			||||||
@ -91,3 +90,46 @@ void UInventoryComponent::RemoveItem(UEatableItems* Item)
 | 
				
			|||||||
	OnInventoryUpdated.Broadcast();
 | 
						OnInventoryUpdated.Broadcast();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int UInventoryComponent::GetItemAmount(const int& ItemID)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						if (Items.Num() > 0)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							for (UBaseItem* const& Item : Items)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								if (Item->ItemID == ItemID)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									return Item->StackCount;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return -1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void UInventoryComponent::RemoveItemID(const int& ItemID)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						if (Items.Num() > 0)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							for (UBaseItem* const& Item : Items)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								if (Item->ItemID == ItemID)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									RemoveItem(Cast<UEatableItems>(Item));
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					UBaseItem* UInventoryComponent::GetItemByID(const int& ItemID)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						if (Items.Num() > 0)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							for (UBaseItem* const& Item : Items)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								if (Item->ItemID == ItemID)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									return Item;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return nullptr;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -45,4 +45,13 @@ public:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	UFUNCTION()
 | 
						UFUNCTION()
 | 
				
			||||||
	void RemoveItem(UEatableItems* Item);
 | 
						void RemoveItem(UEatableItems* Item);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						UFUNCTION()
 | 
				
			||||||
 | 
						int GetItemAmount(const int& ItemID);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						UFUNCTION()
 | 
				
			||||||
 | 
						void RemoveItemID(const int& ItemID);
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						UFUNCTION()
 | 
				
			||||||
 | 
						UBaseItem* GetItemByID(const int& ItemID);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
				
			|||||||
@ -22,8 +22,9 @@ void UEatableItems::Use(ATempCharacter* Character)
 | 
				
			|||||||
		{
 | 
							{
 | 
				
			||||||
			if (Character->Health < 100)
 | 
								if (Character->Health < 100)
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
				UStatusSystem* StatusSystem = Character->FindComponentByClass<UStatusSystem>();
 | 
									// UStatusSystem* StatusSystem = Character->FindComponentByClass<UStatusSystem>();
 | 
				
			||||||
				StatusSystem->AddStatusEffect(NewObject<UStatusEffect>(Character, HealOverTimeStatusEffect));
 | 
									// StatusSystem->AddStatusEffect(NewObject<UStatusEffect>(Character, HealOverTimeStatusEffect));
 | 
				
			||||||
 | 
									Character->Health += 20;
 | 
				
			||||||
				Character->Inventory->RemoveItem(this);
 | 
									Character->Inventory->RemoveItem(this);
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			else if (Character->Health >= 100)
 | 
								else if (Character->Health >= 100)
 | 
				
			||||||
 | 
				
			|||||||
@ -25,6 +25,6 @@ protected:
 | 
				
			|||||||
	TSubclassOf<UStatusEffect> HealOverTimeStatusEffect;
 | 
						TSubclassOf<UStatusEffect> HealOverTimeStatusEffect;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
 | 
						UPROPERTY()
 | 
				
			||||||
	ATurnBaseCombatV2* TurnBaseCombat;
 | 
						ATurnBaseCombatV2* TurnBaseCombat;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
				
			|||||||
@ -48,6 +48,7 @@ void ATurnBaseCombatV2::StartCombat(AActor* Enemy, const bool bWasShot)
 | 
				
			|||||||
	bIsInCombat = true;
 | 
						bIsInCombat = true;
 | 
				
			||||||
	UBlackboardComponent* EnemyBlackboard = Cast<AAIController>(Enemy->GetInstigatorController())->GetBlackboardComponent();
 | 
						UBlackboardComponent* EnemyBlackboard = Cast<AAIController>(Enemy->GetInstigatorController())->GetBlackboardComponent();
 | 
				
			||||||
	Cast<UQuestSystem>(PlayerActor->GetComponentByClass(UQuestSystem::StaticClass()))->QuestWidgetInstance->SetVisibility(ESlateVisibility::Hidden);
 | 
						Cast<UQuestSystem>(PlayerActor->GetComponentByClass(UQuestSystem::StaticClass()))->QuestWidgetInstance->SetVisibility(ESlateVisibility::Hidden);
 | 
				
			||||||
 | 
						HealingJellyAmountTextBlock->SetText(FText::FromString(FString::FromInt(FMath::Clamp(Cast<ATempCharacter>(PlayerActor)->Inventory->GetItemAmount(0), 0, 99))));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	//Disable Character Movement
 | 
						//Disable Character Movement
 | 
				
			||||||
	APlayerController* PlayerController = GetWorld()->GetFirstPlayerController();
 | 
						APlayerController* PlayerController = GetWorld()->GetFirstPlayerController();
 | 
				
			||||||
@ -237,6 +238,7 @@ void ATurnBaseCombatV2::BeginPlay()
 | 
				
			|||||||
	BattleLogTextBlock = Cast<UTextBlock>(HUD->GetWidgetFromName("BattleLog"));
 | 
						BattleLogTextBlock = Cast<UTextBlock>(HUD->GetWidgetFromName("BattleLog"));
 | 
				
			||||||
	EscapePercentageTextBlock = Cast<UTextBlock>(BookHUD->GetWidgetFromName("EscapePercentage_Text"));
 | 
						EscapePercentageTextBlock = Cast<UTextBlock>(BookHUD->GetWidgetFromName("EscapePercentage_Text"));
 | 
				
			||||||
	DamageMultiplierTextBlock = Cast<UTextBlock>(BookHUD->GetWidgetFromName("DamageMultiplier_Text"));
 | 
						DamageMultiplierTextBlock = Cast<UTextBlock>(BookHUD->GetWidgetFromName("DamageMultiplier_Text"));
 | 
				
			||||||
 | 
						HealingJellyAmountTextBlock = Cast<UTextBlock>(BookHUD->GetWidgetFromName("HealingAmount_Text"));
 | 
				
			||||||
	PlayerHealthBar = Cast<UProgressBar>(BookHUD->GetWidgetFromName("PlayerHealthBar"));
 | 
						PlayerHealthBar = Cast<UProgressBar>(BookHUD->GetWidgetFromName("PlayerHealthBar"));
 | 
				
			||||||
	EnemyHealthBar = Cast<UProgressBar>(HUD->GetWidgetFromName("EnemyHealthBar"));
 | 
						EnemyHealthBar = Cast<UProgressBar>(HUD->GetWidgetFromName("EnemyHealthBar"));
 | 
				
			||||||
	ProbertiumResourceBar = Cast<UProgressBar>(BookHUD->GetWidgetFromName("ProbertiumResourceBar"));
 | 
						ProbertiumResourceBar = Cast<UProgressBar>(BookHUD->GetWidgetFromName("ProbertiumResourceBar"));
 | 
				
			||||||
@ -250,6 +252,7 @@ void ATurnBaseCombatV2::BeginPlay()
 | 
				
			|||||||
	IButton = Cast<UButton>(BookHUD->GetWidgetFromName("Iroquoid_Button"));
 | 
						IButton = Cast<UButton>(BookHUD->GetWidgetFromName("Iroquoid_Button"));
 | 
				
			||||||
	BackspaceButton = Cast<UButton>(BookHUD->GetWidgetFromName("Clear_Button"));
 | 
						BackspaceButton = Cast<UButton>(BookHUD->GetWidgetFromName("Clear_Button"));
 | 
				
			||||||
	RunButton = Cast<UButton>(BookHUD->GetWidgetFromName("Escape_Button"));
 | 
						RunButton = Cast<UButton>(BookHUD->GetWidgetFromName("Escape_Button"));
 | 
				
			||||||
 | 
						HealButton = Cast<UButton>(BookHUD->GetWidgetFromName("Heal_Button"));
 | 
				
			||||||
	CastButton->OnClicked.AddDynamic(this, &ATurnBaseCombatV2::CastButtonOnClick);
 | 
						CastButton->OnClicked.AddDynamic(this, &ATurnBaseCombatV2::CastButtonOnClick);
 | 
				
			||||||
	PButton->OnClicked.AddDynamic(this, &ATurnBaseCombatV2::PButtonOnClick);
 | 
						PButton->OnClicked.AddDynamic(this, &ATurnBaseCombatV2::PButtonOnClick);
 | 
				
			||||||
	EButton->OnClicked.AddDynamic(this, &ATurnBaseCombatV2::EButtonOnClick);
 | 
						EButton->OnClicked.AddDynamic(this, &ATurnBaseCombatV2::EButtonOnClick);
 | 
				
			||||||
@ -257,6 +260,7 @@ void ATurnBaseCombatV2::BeginPlay()
 | 
				
			|||||||
	IButton->OnClicked.AddDynamic(this, &ATurnBaseCombatV2::IButtonOnClick);
 | 
						IButton->OnClicked.AddDynamic(this, &ATurnBaseCombatV2::IButtonOnClick);
 | 
				
			||||||
	BackspaceButton->OnClicked.AddDynamic(this, &ATurnBaseCombatV2::BackspaceButtonOnClick);
 | 
						BackspaceButton->OnClicked.AddDynamic(this, &ATurnBaseCombatV2::BackspaceButtonOnClick);
 | 
				
			||||||
	RunButton->OnClicked.AddDynamic(this, &ATurnBaseCombatV2::RunButtonOnClick);
 | 
						RunButton->OnClicked.AddDynamic(this, &ATurnBaseCombatV2::RunButtonOnClick);
 | 
				
			||||||
 | 
						HealButton->OnClicked.AddDynamic(this, &ATurnBaseCombatV2::HealButtonOnClick);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void ATurnBaseCombatV2::ExecuteCast(FString Combo)
 | 
					void ATurnBaseCombatV2::ExecuteCast(FString Combo)
 | 
				
			||||||
@ -607,6 +611,7 @@ void ATurnBaseCombatV2::RunButtonOnClick()
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
	if (FMath::RandRange(0.0f, 1.0f) >= EscapePercentage)
 | 
						if (FMath::RandRange(0.0f, 1.0f) >= EscapePercentage)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
 | 
							GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("Escape Failed"));
 | 
				
			||||||
		EscapePercentage = CalculateEscapePercentage();
 | 
							EscapePercentage = CalculateEscapePercentage();
 | 
				
			||||||
		EscapePercentageTextBlock->SetText(FText::Join(FText::FromString(""), FText::FromString(FString::FromInt(EscapePercentage * 100)), FText::FromString("%")));
 | 
							EscapePercentageTextBlock->SetText(FText::Join(FText::FromString(""), FText::FromString(FString::FromInt(EscapePercentage * 100)), FText::FromString("%")));
 | 
				
			||||||
		SwitchTurn();
 | 
							SwitchTurn();
 | 
				
			||||||
@ -620,6 +625,17 @@ void ATurnBaseCombatV2::RunButtonOnClick()
 | 
				
			|||||||
	EndCombat();
 | 
						EndCombat();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void ATurnBaseCombatV2::HealButtonOnClick()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						if (Cast<ATempCharacter>(PlayerActor)->Inventory->GetItemAmount(0) >= 1)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							Cast<ATempCharacter>(PlayerActor)->Inventory->GetItemByID(0)->Use(Cast<ATempCharacter>(PlayerActor));
 | 
				
			||||||
 | 
							HealingJellyAmountTextBlock->SetText(FText::FromString(FString::FromInt(FMath::Clamp(Cast<ATempCharacter>(PlayerActor)->Inventory->GetItemAmount(0), 0, 99))));
 | 
				
			||||||
 | 
							UpdateResourceBars();
 | 
				
			||||||
 | 
							SwitchTurn();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void ATurnBaseCombatV2::UpdateComboString(const FString& NewCombo) const
 | 
					void ATurnBaseCombatV2::UpdateComboString(const FString& NewCombo) const
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	CurrentComboTextBlock->SetText(FText::FromString("?"));
 | 
						CurrentComboTextBlock->SetText(FText::FromString("?"));
 | 
				
			||||||
@ -693,6 +709,7 @@ void ATurnBaseCombatV2::DisableButtons() const
 | 
				
			|||||||
	BackspaceButton->SetIsEnabled(false);
 | 
						BackspaceButton->SetIsEnabled(false);
 | 
				
			||||||
	CastButton->SetIsEnabled(false);
 | 
						CastButton->SetIsEnabled(false);
 | 
				
			||||||
	RunButton->SetIsEnabled(false);
 | 
						RunButton->SetIsEnabled(false);
 | 
				
			||||||
 | 
						HealButton->SetIsEnabled(false);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void ATurnBaseCombatV2::EnableButtons() const
 | 
					void ATurnBaseCombatV2::EnableButtons() const
 | 
				
			||||||
@ -721,4 +738,6 @@ void ATurnBaseCombatV2::ToggleButtonIfResourceAvailable() const
 | 
				
			|||||||
	else AButton->SetIsEnabled(false);
 | 
						else AButton->SetIsEnabled(false);
 | 
				
			||||||
	if (IroquoidResource >= 1) IButton->SetIsEnabled(true);
 | 
						if (IroquoidResource >= 1) IButton->SetIsEnabled(true);
 | 
				
			||||||
	else IButton->SetIsEnabled(false);
 | 
						else IButton->SetIsEnabled(false);
 | 
				
			||||||
 | 
						if (Cast<ATempCharacter>(PlayerActor)->Inventory->GetItemAmount(0) >= 1) HealButton->SetIsEnabled(true);
 | 
				
			||||||
 | 
						else HealButton->SetIsEnabled(false);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -167,6 +167,8 @@ private:
 | 
				
			|||||||
	UTextBlock* EscapePercentageTextBlock;
 | 
						UTextBlock* EscapePercentageTextBlock;
 | 
				
			||||||
	UPROPERTY()
 | 
						UPROPERTY()
 | 
				
			||||||
	UTextBlock* DamageMultiplierTextBlock;
 | 
						UTextBlock* DamageMultiplierTextBlock;
 | 
				
			||||||
 | 
						UPROPERTY()
 | 
				
			||||||
 | 
						UTextBlock* HealingJellyAmountTextBlock;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	UPROPERTY()
 | 
						UPROPERTY()
 | 
				
			||||||
	UProgressBar* PlayerHealthBar;
 | 
						UProgressBar* PlayerHealthBar;
 | 
				
			||||||
@ -198,6 +200,8 @@ private:
 | 
				
			|||||||
	UButton* BackspaceButton;
 | 
						UButton* BackspaceButton;
 | 
				
			||||||
	UPROPERTY()
 | 
						UPROPERTY()
 | 
				
			||||||
	UButton* RunButton;
 | 
						UButton* RunButton;
 | 
				
			||||||
 | 
						UPROPERTY()
 | 
				
			||||||
 | 
						UButton* HealButton;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	UFUNCTION()
 | 
						UFUNCTION()
 | 
				
			||||||
	void CastButtonOnClick();
 | 
						void CastButtonOnClick();
 | 
				
			||||||
@ -215,6 +219,8 @@ private:
 | 
				
			|||||||
	void BackspaceButtonOnClick();
 | 
						void BackspaceButtonOnClick();
 | 
				
			||||||
	UFUNCTION()
 | 
						UFUNCTION()
 | 
				
			||||||
	void RunButtonOnClick();
 | 
						void RunButtonOnClick();
 | 
				
			||||||
 | 
						UFUNCTION()
 | 
				
			||||||
 | 
						void HealButtonOnClick();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	void UpdateComboString(const FString& NewCombo) const;
 | 
						void UpdateComboString(const FString& NewCombo) const;
 | 
				
			||||||
	static void UpdateActionPoints();
 | 
						static void UpdateActionPoints();
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user