server-nalc/mods/pclasses
sys4-fr 275559dccc Update 3d_armor and other dependences. 2018-07-22 18:53:57 +02:00
..
textures [mff_pclasses & pclasses] Enhance showcasing menus 2016-09-24 15:14:35 +02:00
README.md improve pclasses to fix class stats don't change on equip/unequip/destroy armor 2017-04-19 21:51:16 +02:00
adventurer.lua fix crash si class on_update() not defined 2017-04-20 02:22:17 +02:00
api.lua [mff_pclasses] Remember to remove hunter bonus 2017-04-20 00:05:26 +02:00
depends.txt [pclasses] Add information menus (informations not yet written) 2016-07-13 20:20:55 +02:00
init.lua Update 3d_armor and other dependences. 2018-07-22 18:53:57 +02:00
inventory.lua [mff_pclasses & pclasses] Enhance showcasing menus 2016-09-24 15:14:35 +02:00
nodes.lua [pclasses] Reduce verification radii previously overlapping 2016-01-14 21:08:36 +01:00

README.md

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
    • on_update 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.util.on_update

  • Arguments : pname
  • Update player's stats

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