Server:Boats

From The Al`Kabor Project Wiki
Revision as of 18:13, 29 December 2023 by Nazwadi (talk | contribs) (Created page with "For TAKP server, the boats use spawn conditions and are timed with grids. If a grid is timed too short or too long, players will either get dropped off in the water or player...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

For TAKP server, the boats use spawn conditions and are timed with grids. If a grid is timed too short or too long, players will either get dropped off in the water or players will end up at the safe spot in the destination zone. Boat zones need to be static.

The following boats and their ID's are described in the server source code: https://github.com/EQMacEmu/Server/blob/main/common/eq_constants.h#L685

//These are NPCIDs in the database. All of these boats send a BoardBoat opcode when boarded.
enum Boats
{
    Stormbreaker = 770, //freporte-oot-butcherblock
    SirensBane  = 771,
    Sea_King = 772, //erudext-erudsxing-qeynos
    Golden_Maiden  = 773,
    Maidens_Voyage  = 838, //timorous-firiona
    Bloated_Belly = 839, //timorous-overthere
    Barrel_Barge = 840, //Shuttle timorous-oasis
    Muckskimmer = 841,
    Sabrina = 24056, //Shuttle in Erud
    Island_Shuttle = 96075, //Shuttle to Elf docks in timorous
    Captains_Skiff = 842, //Shuttle timorous-butcherblock
    Icebreaker = 110083, //iceclad
    pirate_runners_skiff = 843 //Shuttle iceclad-nro
}; 

Implementing a boat is achieved via entries to the database and the LUA scripting engine. Boat ID's are stored in the player profile packet (pp.boatname and pp.boatid).

The following database tables are used:

  • spawn2
  • spawngroup
  • spawn_conditions
  • grid_entries
  • grid
  • npc_types.boatid