[Multiplayer ARPG] Acts, Waypoints, and Quests

Published by July 22, 2017 3:44 am Leave your thoughts Category:

I made a lot of progress in the past week. Waypoints, acts, and Quests – three of the features I wasn’t sure how to implement into Project Peril, resulting in much procrastination. I finally took the time to sit down and think through how these systems will be implemented neatly while keeping it easy to create acts, quests, and waypoints via script or internal tools. I’m quite happy with the result, and it took me just a few minutes to whip up a an act with a few waypoints and a quest that requires new heroes to kill a monster standing at the gate before being granted access to the town of Act 1.

 

HILLCOCK = {}
HILLCOCK.id = 1
HILLCOCK.printName = "Hillcock"
HILLCOCK.description = "Slay the monster at the gate"

--

function HILLCOCK:init(izone)
    local room = izone.ZoneWrapper.Map:GetQuestRoom(self.id)
    local position = room.Center
    local entityId = izone:SpawnMonster(10, position)
    local zone = izone.ZoneWrapper.LuaZone.Table
    zone:add_entity_listener(entityId, "on_death", self, self.on_complete)
end

function HILLCOCK:on_complete(izone)
    -- update player state
end

 

Apart from all that, I’m rewriting how inventories are managed on the client.  The way the inventory system was previously coded made it really hard to display stashes, trade screens, and NPC screens because it was kinda hard-coded to support only the player’s inventory.  As soon as this feature is complete (it’s just about there already), I will begin working on trading and NPCs who sell items.

Leave a Reply

Your email address will not be published. Required fields are marked *