IShopItem = interface
['{D6EFA6AF-05C3-4A54-984E-37F6A4809FC0}']
function GetCost: integer;
function GetDescription: string;
function GetId: string;
function GetType: string;
function GetLevel: integer;
function GetProperties: IMemVar;
end
IShop = interface
['{93AD660B-79F0-4CED-A37C-EFE384228D51}']
function Count: integer;
function Exists(const aItem: string): boolean;
function Enter(aInventory: IInventory): boolean;
function Find(const aItem: string): IShopItem;
function GetCategories: TList<string>;
function GetItems(const aCategory: string): TList<string>;
function Purchase(const aItem: string; aInventory: IInventory): boolean;
procedure Remove(const aItem: string);
end;
Found binaries at OneDrive
HBF)
- New Enemy Octopus
- NPC talk is more accurate
- Doors now can be hidden
- All entities can have a Hint
- Adding a shop
- New inventory class
- Now taken coins are shown and not left coins
- When in finish screen, last level is not shown
- New music when shopping
- New element cauldron
- When hero got a shield it can stop arrows
- Render screens code refactored
- NPC can yield coins
- Hero can attack if proper item is owned (sword, axe and knive)
- Enemy energy is now used
- Now shop offers boots! (faster walk, jumping, slippery...)
- Screen Prepare() method more handy
- Blocks can contain hidden coins
- New element Idol
- GameServices.GetHero returns now IHero
- Hero's shield is affected by arrows depending on its level (pushed backwards)
- Enemies killed with a weapon spawns a coin
- Shopping menu slowly improved
- During the same game, already taken coins do not appear again when revisiting a level
BB)
- New TMasterDetail<M, D> class
- Some functions changed parameters of type TDummySprite to ISprite
- TLevels simplified
- New TObjectHelper.CreateByName(), it creates any kind of class by name, very handy for the inventory
Hero with his sword and shield after purchasing them in the futuristic shop :-)