Exemplo n.º 1
0
    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))
Exemplo n.º 2
0
    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))
Exemplo n.º 3
0
 def BuyHealth(self, Pawn: unrealsdk.UObject,
               Vendor: unrealsdk.UObject) -> None:
     Pawn.SetHealth(Pawn.GetMaxHealth())
Exemplo n.º 4
0
 def BuyHealth(self, pawn: unrealsdk.UObject, vendor: unrealsdk.UObject) -> None:
     pawn.SetHealth(pawn.GetMaxHealth())