nmmo.entity.npc module#

class nmmo.entity.npc.Aggressive(realm, pos, iden)#

Bases: NPC

Limits()#
Query = namespace(table=<function <lambda>>, by_id=<function <lambda>>, by_ids=<function <lambda>>, window=<function <lambda>>)#
State = namespace(attr_name_to_col={'id': 0, 'npc_type': 1, 'row': 2, 'col': 3, 'damage': 4, 'time_alive': 5, 'freeze': 6, 'item_level': 7, 'attacker_id': 8, 'latest_combat_tick': 9, 'message': 10, 'gold': 11, 'health': 12, 'food': 13, 'water': 14, 'melee_level': 15, 'range_level': 16, 'mage_level': 17, 'fishing_level': 18, 'herbalism_level': 19, 'prospecting_level': 20, 'carving_level': 21, 'alchemy_level': 22}, num_attributes=23, table=<function SerializedState.subclass.<locals>.Subclass.<lambda>>)#
property alive#
apply_damage(dmg, style)#
property attack_level: int#
config: Config#
decide(realm)#
property ent_id#
property in_combat: bool#
property is_npc: bool#
property is_player: bool#
packet()#
classmethod parse_array(data) SimpleNamespace#
property pos#
receive_damage(source, dmg)#
static spawn(realm, pos, iden)#
static subclass(name: str, attributes: List[str])#
update(realm, actions)#

Update occurs after actions, e.g. does not include history

class nmmo.entity.npc.Equipment(total, melee_attack, range_attack, mage_attack, melee_defense, range_defense, mage_defense)#

Bases: object

property packet#
total(getter)#
class nmmo.entity.npc.NPC(realm, pos, iden, name, npc_type)#

Bases: Entity

Limits()#
Query = namespace(table=<function <lambda>>, by_id=<function <lambda>>, by_ids=<function <lambda>>, window=<function <lambda>>)#
State = namespace(attr_name_to_col={'id': 0, 'npc_type': 1, 'row': 2, 'col': 3, 'damage': 4, 'time_alive': 5, 'freeze': 6, 'item_level': 7, 'attacker_id': 8, 'latest_combat_tick': 9, 'message': 10, 'gold': 11, 'health': 12, 'food': 13, 'water': 14, 'melee_level': 15, 'range_level': 16, 'mage_level': 17, 'fishing_level': 18, 'herbalism_level': 19, 'prospecting_level': 20, 'carving_level': 21, 'alchemy_level': 22}, num_attributes=23, table=<function SerializedState.subclass.<locals>.Subclass.<lambda>>)#
property alive#
apply_damage(dmg, style)#
property attack_level: int#
config: Config#
property ent_id#
property in_combat: bool#
property is_npc: bool#
property is_player: bool#
packet()#
classmethod parse_array(data) SimpleNamespace#
property pos#
receive_damage(source, dmg)#
static spawn(realm, pos, iden)#
static subclass(name: str, attributes: List[str])#
update(realm, actions)#

Update occurs after actions, e.g. does not include history

class nmmo.entity.npc.Passive(realm, pos, iden)#

Bases: NPC

Limits()#
Query = namespace(table=<function <lambda>>, by_id=<function <lambda>>, by_ids=<function <lambda>>, window=<function <lambda>>)#
State = namespace(attr_name_to_col={'id': 0, 'npc_type': 1, 'row': 2, 'col': 3, 'damage': 4, 'time_alive': 5, 'freeze': 6, 'item_level': 7, 'attacker_id': 8, 'latest_combat_tick': 9, 'message': 10, 'gold': 11, 'health': 12, 'food': 13, 'water': 14, 'melee_level': 15, 'range_level': 16, 'mage_level': 17, 'fishing_level': 18, 'herbalism_level': 19, 'prospecting_level': 20, 'carving_level': 21, 'alchemy_level': 22}, num_attributes=23, table=<function SerializedState.subclass.<locals>.Subclass.<lambda>>)#
property alive#
apply_damage(dmg, style)#
property attack_level: int#
config: Config#
decide(realm)#
property ent_id#
property in_combat: bool#
property is_npc: bool#
property is_player: bool#
packet()#
classmethod parse_array(data) SimpleNamespace#
property pos#
receive_damage(source, dmg)#
static spawn(realm, pos, iden)#
static subclass(name: str, attributes: List[str])#
update(realm, actions)#

Update occurs after actions, e.g. does not include history

class nmmo.entity.npc.PassiveAggressive(realm, pos, iden)#

Bases: NPC

Limits()#
Query = namespace(table=<function <lambda>>, by_id=<function <lambda>>, by_ids=<function <lambda>>, window=<function <lambda>>)#
State = namespace(attr_name_to_col={'id': 0, 'npc_type': 1, 'row': 2, 'col': 3, 'damage': 4, 'time_alive': 5, 'freeze': 6, 'item_level': 7, 'attacker_id': 8, 'latest_combat_tick': 9, 'message': 10, 'gold': 11, 'health': 12, 'food': 13, 'water': 14, 'melee_level': 15, 'range_level': 16, 'mage_level': 17, 'fishing_level': 18, 'herbalism_level': 19, 'prospecting_level': 20, 'carving_level': 21, 'alchemy_level': 22}, num_attributes=23, table=<function SerializedState.subclass.<locals>.Subclass.<lambda>>)#
property alive#
apply_damage(dmg, style)#
property attack_level: int#
config: Config#
decide(realm)#
property ent_id#
property in_combat: bool#
property is_npc: bool#
property is_player: bool#
packet()#
classmethod parse_array(data) SimpleNamespace#
property pos#
receive_damage(source, dmg)#
static spawn(realm, pos, iden)#
static subclass(name: str, attributes: List[str])#
update(realm, actions)#

Update occurs after actions, e.g. does not include history