def GetHealthCost(self, pawn: unrealsdk.UObject, vendor: unrealsdk.UObject) -> int: if pawn.GetHealth() == pawn.GetMaxHealth(): return 0 # Not sure how this'd happen but just in case if vendor not in self.VialCosts: return 0 # Again going to assume you haven't modded how much a vial heals full_heal_cost = 4 * self.VialCosts[vendor] missing_health = 1 - (pawn.GetHealth() / pawn.GetMaxHealth()) return max(1, int(full_heal_cost * missing_health))
def GetHealthCost(self, Pawn: unrealsdk.UObject, Vendor: unrealsdk.UObject) -> int: if Pawn.GetHealth() == Pawn.GetMaxHealth(): return 0 vial = None for item in unrealsdk.FindAll("WillowUsableItem"): if item.Owner != Vendor: continue if item.DefinitionData is None or item.DefinitionData.ItemDefinition is None: continue name = item.DefinitionData.ItemDefinition.Name if name == "BuffDrink_HealingInstant": vial = item break else: return 0 # Again going to assume you haven't modded how much a vial heals full_heal_cost = 4 * Vendor.GetSellingPriceForInventory( vial, Pawn.Controller, 1) missing_health = 1 - (Pawn.GetHealth() / Pawn.GetMaxHealth()) return max(1, int(full_heal_cost * missing_health))
def BuyHealth(self, Pawn: unrealsdk.UObject, Vendor: unrealsdk.UObject) -> None: Pawn.SetHealth(Pawn.GetMaxHealth())
def BuyHealth(self, pawn: unrealsdk.UObject, vendor: unrealsdk.UObject) -> None: pawn.SetHealth(pawn.GetMaxHealth())