🌟現在、鉄壁 鉄壁ヘッドショットには対応済みです。
鉄壁HSは通常HSと同じダメージになります。LMG及びDMR、チャージライフル、ハンマーポイント弾を除き、すべてのダメージ値が一致していることを確認しています。

「モジュール:Utility/Prototypes」の版間の差分

提供:Apex Data
ナビゲーションに移動 検索に移動
(ページの作成:「local proto = {} -- Define types local types = { Table = 'table', Boolean = 'boolean', Number = 'number', String = 'string', } -- Simple types function proto.Bool…」)
 
(typeが'table'の場合正しく処理されていない問題の修正)
45行目: 45行目:
end
end
for key, typename in pairs(protodef) do
for key, typename in pairs(protodef) do
if type(typename) == proto.Table then
if type(typename) == types.Table then
if not proto.checkTypes(obj[key], typename) then
if not proto.checkTypes(obj[key], typename) then
return false
return false

2021年5月13日 (木) 18:06時点における版

このモジュールについての説明文ページを モジュール:Utility/Prototypes/doc に作成できます

local proto = {}

-- Define types
local types = {
	Table = 'table',
	Boolean = 'boolean',
	Number  = 'number',
	String  = 'string',
}

-- Simple types
function proto.Boolean(obj)
	return type(obj) ~= types.Boolean
end
function proto.Number(obj)
	return type(obj) ~= types.Number
end
function proto.Integer(obj)
	return not (type(obj) == types.Number and math.floor(obj) == obj)
end
function proto.String(obj)
	return type(obj) ~= types.String
end

-- Complex types
function proto.NumberRange(from, to)
	return function(obj)
		if type(obj) ~= types.Number then
			return true
		end
		if type(from) == types.Number and obj < from then
			return true
		end
		if type(to) == types.Number and obj > to then
			return true
		end
		return false
	end
end

-- Check object types
function proto.validateTypes(obj, protodef)
	if type(obj) ~= types.Table then
		return false
	end
	for key, typename in pairs(protodef) do
		if type(typename) == types.Table then
			if not proto.checkTypes(obj[key], typename) then
				return false
			end
		elseif typename(obj[key]) then
			return false
		end
	end
	return true
end

return proto