1
0
mirror of https://github.com/sys4-fr/server-nalc.git synced 2024-11-05 10:00:26 +01:00
server-nalc/mods/pclasses
LeMagnesium 0091be67ac [action_timers & pclasses] Limit class switch to one per houre
- Create a wrapper for the action_timers
- Limit the use of class switch orbs to one use per hour
- Related to #183
2015-10-16 21:07:58 +02:00
..
textures Added automated arbalest to throwing mod 2015-08-11 12:02:43 +02:00
adventurer.lua Updated pclasses 2015-08-20 17:18:57 +02:00
api.lua Updated pclasses 2015-08-20 17:18:57 +02:00
depends.txt Add a first completed version of the armor set 'Black Mithril' 2015-07-27 00:11:54 +02:00
init.lua Updated pclasses 2015-08-20 17:18:57 +02:00
inventory.lua Flush both graveyards when using chatcommand 2015-08-26 16:12:29 +02:00
nodes.lua [action_timers & pclasses] Limit class switch to one per houre 2015-10-16 21:07:58 +02:00
README.md Updated pclasses 2015-08-20 17:18:57 +02:00

Player Classes

Yet another class mod for Minetest.

TODO

  • Flush and read system for pclasses.datas.players

Namespaces

pclasses

  • All our stuff

pclasses.api

  • All functions used to declare, get, set classes

pclasses.api.util

  • Some utility functions

pclasses.conf

  • Some configuration values

pclasses.classes

  • All classes and their specs

pclasses.data

  • Miscellaneous data

pclasses.data.players

  • List of all players' class. Index is player's name and value is the class's name

pclasses.data.hud_ids

  • Surely useful in the future with a hypothetical hud to show current class

Functions

pclasses.api.register_class

  • Arguments : cname, def
  • Registers a class and its specifications
  • Def is a definition table that can contain many functions/values :
    • on_assigned which is a function, receiving as argument the player name
    • on_unassigned which is a function, receiving as argument the player name
    • switch_params, which is a table, containing parameters for the switch pedestal :
      • holo_item is mandatory. It's the itemstring of the item to be put over the pedestal
      • color is optional. Default is white. It's a RGB table.
      • tile is optional. Default is none. It's a string of the texture to be applied over the pedestal

pclasses.register_class_switch

  • Arguments : cname, params
  • Used internally to create switch pedestals
  • params is the def table given to pclasses.api.register_class, documented above

pclasses.api.get_class_by_name

  • Argument : cname
  • Return the class' specs (table) corresponding a class name or nil if not found

pclasses.api.get_player_class

  • Argument : pname (player's name)
  • Return the player's current class' name

pclasses.api.get_class_players

  • Argument : cname
  • Return a list (table) of all players with class cname

pclasses.api.set_player_class

  • Arguments : pname, cname
  • Assign a player the cname class
  • Returns true if achieved, false if not

pclasses.api.util.does_wear_full_armor

  • Arguments : pname, material, noshield
  • Returns true if player pname is wearing the full armor made out of material
  • noshield must be true when the full armor has no shield

pclasses.api.util.can_have_item

  • Arguments : pname, itemname
  • Returns true if player pname can have items itemstring in his main inventory, according to his class

pclasses.api.reserve_item

  • Arguments : cname, itemstring
  • Adds an entry in the reserved items' table. Players will need to belong to class cname in order to have items itemstring in their main inventory
  • Note : You can reserve the same item for two classes, any player of either of both can then have the item

pclasses.api.create_graveyard_inventory

  • Argument : player
  • Creates a detached inventory dedicated to 'dead' items (confiscated reserved items)
  • Used internally, should not be used outside of pclasses

pclasses.api.vacuum_graveyard

  • Argument : player
  • Check all of player's graveyard inventory to get them back items they obtained to right to have