85 lines
3.1 KiB
Python
85 lines
3.1 KiB
Python
# -*- coding: utf-8 -*-
|
|
from odoo import models, fields
|
|
|
|
|
|
class YtCodexResource(models.Model):
|
|
"""图鉴-资源(材料/加工品/特殊)"""
|
|
_name = 'yt.codex.resource'
|
|
_description = '图鉴-资源'
|
|
_order = 'category, sequence, id'
|
|
|
|
name = fields.Char(string='名称', required=True, translate=True)
|
|
code = fields.Char(string='编码', required=True, index=True)
|
|
icon = fields.Char(string='图标', default='📦')
|
|
category = fields.Selection([
|
|
('material', '材料'),
|
|
('processed', '加工品'),
|
|
('special', '特殊'),
|
|
], string='分类', required=True, default='material')
|
|
quality = fields.Selection([
|
|
('common', '普通'),
|
|
('uncommon', '优秀'),
|
|
('rare', '精良'),
|
|
('epic', '史诗'),
|
|
('legendary', '传说'),
|
|
], string='基准品质', default='common')
|
|
description = fields.Char(string='描述')
|
|
source = fields.Char(string='来源')
|
|
uses = fields.Char(string='用途')
|
|
recipe = fields.Json(string='配方') # [{"code":"wood","num":3}]
|
|
sequence = fields.Integer(string='排序', default=10)
|
|
|
|
|
|
class YtCodexCreature(models.Model):
|
|
"""图鉴-生物"""
|
|
_name = 'yt.codex.creature'
|
|
_description = '图鉴-生物'
|
|
_order = 'sequence, id'
|
|
|
|
name = fields.Char(string='名称', required=True, translate=True)
|
|
code = fields.Char(string='编码', required=True, index=True)
|
|
icon = fields.Char(string='图标', default='🐾')
|
|
habitat = fields.Char(string='栖息地')
|
|
tameable = fields.Boolean(string='可驯养', default=False)
|
|
diet = fields.Char(string='食性')
|
|
products = fields.Json(string='产物')
|
|
description = fields.Char(string='描述')
|
|
sequence = fields.Integer(string='排序', default=10)
|
|
|
|
|
|
class YtCodexMonster(models.Model):
|
|
"""图鉴-野怪/精英/Boss"""
|
|
_name = 'yt.codex.monster'
|
|
_description = '图鉴-野怪'
|
|
_order = 'tier, level_min, sequence'
|
|
|
|
name = fields.Char(string='名称', required=True, translate=True)
|
|
code = fields.Char(string='编码', required=True, index=True)
|
|
icon = fields.Char(string='图标', default='👹')
|
|
tier = fields.Selection([
|
|
('normal', '普通野怪'),
|
|
('elite', '精英野怪'),
|
|
('boss', 'Boss'),
|
|
], string='等级', required=True, default='normal')
|
|
level_min = fields.Integer(string='最小等级', default=1)
|
|
level_max = fields.Integer(string='最大等级', default=5)
|
|
habitat = fields.Char(string='栖息地')
|
|
description = fields.Char(string='描述')
|
|
drops = fields.Json(string='掉落')
|
|
sequence = fields.Integer(string='排序', default=10)
|
|
|
|
|
|
class YtCodexRace(models.Model):
|
|
"""图鉴-种族"""
|
|
_name = 'yt.codex.race'
|
|
_description = '图鉴-种族'
|
|
_order = 'sequence, id'
|
|
|
|
name = fields.Char(string='名称', required=True, translate=True)
|
|
code = fields.Char(string='编码', required=True, index=True)
|
|
icon = fields.Char(string='图标', default='🧑')
|
|
layer = fields.Char(string='所属层域')
|
|
description = fields.Char(string='描述')
|
|
traits = fields.Json(string='天赋/特性')
|
|
sequence = fields.Integer(string='排序', default=10)
|