mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-10-23 05:51:39 +00:00
sync rules
This commit is contained in:
parent
99b0af36fd
commit
a26b3123b5
901 changed files with 215240 additions and 4077 deletions
|
|
@ -30,14 +30,14 @@ Route all output there: `--stats-file=$LUAU_TMP\stats.json`, write benchmark fil
|
||||||
Check in this order:
|
Check in this order:
|
||||||
|
|
||||||
1. **Filename suffix** (highest priority):
|
1. **Filename suffix** (highest priority):
|
||||||
- `*.server.luau` / `*.server.lua` -> **server** (`--!native` is high-value)
|
- `*.server.luau` / `*.server.lua` -> **server** (native codegen budget is server-side; benefit depends on code content)
|
||||||
- `*.client.luau` / `*.client.lua` -> **client** (`--!native` less beneficial due to device diversity)
|
- `*.client.luau` / `*.client.lua` -> **client** (native codegen less effective due to device architecture diversity)
|
||||||
- `*.legacy.luau` / `*.legacy.lua` -> **ambiguous** (could be cloned/moved at runtime). Ask the user.
|
- `*.legacy.luau` / `*.legacy.lua` -> **ambiguous** (could be cloned/moved at runtime). Ask the user.
|
||||||
- `*.luau` / `*.lua` (no suffix) -> ModuleScript, fall through to path check.
|
- `*.luau` / `*.lua` (no suffix) -> ModuleScript, fall through to path check.
|
||||||
2. **Path-based inference** (for ModuleScripts and ambiguous cases):
|
2. **Path-based inference** (for ModuleScripts and ambiguous cases):
|
||||||
- `ServerScriptService`/`ServerStorage` in path -> server-side module
|
- `ServerScriptService`/`ServerStorage` in path -> server-side module
|
||||||
- `StarterPlayer`/`StarterGui`/`StarterCharacterScripts`/`ReplicatedFirst` in path -> client-side module
|
- `StarterPlayer`/`StarterGui`/`StarterCharacterScripts`/`ReplicatedFirst` in path -> client-side module
|
||||||
- `ReplicatedStorage`/`shared` in path -> shared module (conservative `--!native`)
|
- `ReplicatedStorage`/`shared` in path -> shared module
|
||||||
- Ambiguous or outside Roblox project -> ask the user
|
- Ambiguous or outside Roblox project -> ask the user
|
||||||
|
|
||||||
### Quiz the user
|
### Quiz the user
|
||||||
|
|
@ -45,7 +45,7 @@ Check in this order:
|
||||||
Use the AskQuestion tool with these three questions:
|
Use the AskQuestion tool with these three questions:
|
||||||
|
|
||||||
**Question 1: "Compilation optimization intensity"**
|
**Question 1: "Compilation optimization intensity"**
|
||||||
- `minimal` -- Headers (`--!strict`/`--!native`/`--!optimize 2`), type annotations on all function signatures, deprecated pattern replacements only
|
- `minimal` -- Headers (`--!strict`/`--!optimize 2`), type annotations on all function signatures, deprecated pattern replacements, native codegen analysis
|
||||||
- `moderate` -- + function restructuring for inlining, import hoisting, compound operators, fastcall enablement, allocation reduction
|
- `moderate` -- + function restructuring for inlining, import hoisting, compound operators, fastcall enablement, allocation reduction
|
||||||
- `insane` -- + every micro-optimization from the pattern catalog, full bytecode analysis, register pressure optimization, closure caching analysis
|
- `insane` -- + every micro-optimization from the pattern catalog, full bytecode analysis, register pressure optimization, closure caching analysis
|
||||||
|
|
||||||
|
|
@ -70,7 +70,7 @@ Use the AskQuestion tool with these three questions:
|
||||||
| Function restructuring | No | Yes (Priority 3) | Aggressive splitting |
|
| Function restructuring | No | Yes (Priority 3) | Aggressive splitting |
|
||||||
| Bytecode verification | After all changes | After each priority | After each change |
|
| Bytecode verification | After all changes | After each priority | After each change |
|
||||||
| Algorithmic changes | Per algo quiz | Per algo quiz | Per algo quiz |
|
| Algorithmic changes | Per algo quiz | Per algo quiz | Per algo quiz |
|
||||||
| `@native` vs `--!native` | `--!native` unless big file | Selective `@native` on hot functions | Full per-function analysis |
|
| Native codegen strategy | Per-function analysis; `@native` on beneficial functions; `--!native` only if most are native-worthy | Selective `@native` on hot computational functions | Full per-function cost/benefit with budget tracking |
|
||||||
|
|
||||||
**Restructuring scope** scales with compilation intensity:
|
**Restructuring scope** scales with compilation intensity:
|
||||||
- **minimal**: No restructuring. Only additive changes (headers, annotations, pattern swaps).
|
- **minimal**: No restructuring. Only additive changes (headers, annotations, pattern swaps).
|
||||||
|
|
@ -236,10 +236,11 @@ Using both the source (already read in Phase 1) and tool output from Phase 2, id
|
||||||
|
|
||||||
Apply changes in priority order. Re-run `luau-compile --remarks -O2 --vector-lib=Vector3 --vector-ctor=new --vector-type=Vector3 <file>` after structural changes to verify the compiler benefits.
|
Apply changes in priority order. Re-run `luau-compile --remarks -O2 --vector-lib=Vector3 --vector-ctor=new --vector-type=Vector3 <file>` after structural changes to verify the compiler benefits.
|
||||||
|
|
||||||
### Priority 1 -- Headers and type safety (always apply)
|
### Priority 1 -- Headers, type safety, and native codegen (always apply)
|
||||||
|
|
||||||
**Add headers:**
|
**Add headers:**
|
||||||
- `--!strict` / `--!native` / `--!optimize 2`. (`--!optimize 2` is default in live but not Studio testing.)
|
- `--!strict` / `--!optimize 2`. (`--!optimize 2` is default in live but not Studio testing.)
|
||||||
|
- **Do NOT blindly add `--!native`.** Native codegen is analyzed separately (see "Native codegen strategy" below).
|
||||||
|
|
||||||
**Remove deoptimizers:**
|
**Remove deoptimizers:**
|
||||||
- Replace `getfenv`/`setfenv` -- disables builtins, imports, and optimizations globally.
|
- Replace `getfenv`/`setfenv` -- disables builtins, imports, and optimizations globally.
|
||||||
|
|
@ -260,6 +261,27 @@ Getting the file to pass `--!strict` cleanly is the single most impactful compil
|
||||||
- For generic code: use proper generics (`<T>`) instead of `any`. If the function truly accepts anything, use `unknown` and narrow explicitly.
|
- For generic code: use proper generics (`<T>`) instead of `any`. If the function truly accepts anything, use `unknown` and narrow explicitly.
|
||||||
- Track type coverage: count `any` in `--annotate` output. The goal is zero (or as close as practical).
|
- Track type coverage: count `any` in `--annotate` output. The goal is zero (or as close as practical).
|
||||||
|
|
||||||
|
**Native codegen strategy -- `--!native` vs `@native` vs neither:**
|
||||||
|
|
||||||
|
Native codegen has two limits: a 1M instruction cap per module and a per-experience memory ceiling shared across all native scripts. Applying `--!native` indiscriminately wastes both budgets on functions that don't benefit, crowding out functions that would.
|
||||||
|
|
||||||
|
1. **Classify every function** in the file by its dominant work:
|
||||||
|
- **Native-worthy**: Tight computational loops, math-heavy logic (`Vector3`/`CFrame` arithmetic, `buffer` ops, `bit32` ops, numerical algorithms, physics calculations). These get genuine speedups from JIT compilation.
|
||||||
|
- **Not native-worthy**: Roblox API calls (`Instance:Clone()`, `:FindFirstChild()`, `:GetChildren()`, event connections), table construction without computation (allocation-bound), heavy Luau library calls (`string.format`, pattern matching -- C implementations native codegen can't speed up), one-shot initialization, coroutine/task scheduling. The dominant cost is the API/library call or GC, not Luau instruction dispatch.
|
||||||
|
|
||||||
|
2. **Decision matrix**:
|
||||||
|
- **All/most functions are native-worthy** (math utility modules, physics solvers, buffer serializers): Use `--!native` on the whole file.
|
||||||
|
- **Some functions are native-worthy** (mixed scripts with hot computational loops alongside API-heavy code): Use `@native` on individual functions that benefit. **This is the common case for real game scripts.**
|
||||||
|
- **No functions are native-worthy** (typical game scripts: event handlers, UI logic, Roblox API orchestration): Skip native codegen entirely. Don't waste the budget.
|
||||||
|
|
||||||
|
3. **`@native` placement rules**:
|
||||||
|
- Place `@native` directly above the function declaration.
|
||||||
|
- Inner/nested functions do NOT inherit `@native` -- annotate them individually if needed.
|
||||||
|
- Top-level module code runs once at `require()` time; `@native` has no meaningful benefit there.
|
||||||
|
- Prioritize functions identified as hot paths in Phase 1 (RunService handlers, loop bodies, recursive functions) -- but only if their work is computational, not API-bound.
|
||||||
|
|
||||||
|
4. **Budget awareness**: Check native codegen stats from `--record-stats`. If the module's native instruction count is high, be more selective with `@native` to leave budget for other scripts in the experience.
|
||||||
|
|
||||||
### Priority 2 -- Low-hanging structural wins
|
### Priority 2 -- Low-hanging structural wins
|
||||||
|
|
||||||
- Hoist library functions: `local floor = math.floor` enables GETIMPORT fastcall. Fastcall builtins: `assert`, `type`, `typeof`, `rawget`/`rawset`/`rawequal`, `getmetatable`/`setmetatable`, `tonumber`/`tostring`, most `math.*` (not `noise`, `random`/`randomseed`), `bit32.*`, some `string.*`/`table.*`. Partial specializations: `assert` (unused return + truthy), `bit32.extract` (constant field/width), `select(n, ...)` O(1).
|
- Hoist library functions: `local floor = math.floor` enables GETIMPORT fastcall. Fastcall builtins: `assert`, `type`, `typeof`, `rawget`/`rawset`/`rawequal`, `getmetatable`/`setmetatable`, `tonumber`/`tostring`, most `math.*` (not `noise`, `random`/`randomseed`), `bit32.*`, some `string.*`/`table.*`. Partial specializations: `assert` (unused return + truthy), `bit32.extract` (constant field/width), `select(n, ...)` O(1).
|
||||||
|
|
@ -392,6 +414,7 @@ These principles govern every optimization decision:
|
||||||
- **Local functions for inlining** -- even at the cost of duplicating imported behavior in high-traffic code.
|
- **Local functions for inlining** -- even at the cost of duplicating imported behavior in high-traffic code.
|
||||||
- **Quantify everything** -- before/after metrics for every optimization pass. No "I think this is faster" -- prove it.
|
- **Quantify everything** -- before/after metrics for every optimization pass. No "I think this is faster" -- prove it.
|
||||||
- **Type annotations drive native codegen quality** -- every `any` type is a missed specialization opportunity. The JIT uses annotations directly with no runtime analysis.
|
- **Type annotations drive native codegen quality** -- every `any` type is a missed specialization opportunity. The JIT uses annotations directly with no runtime analysis.
|
||||||
|
- **Native codegen is a budget, not a checkbox** -- `--!native` on every file wastes the per-experience native code memory limit on functions that don't benefit. Apply `@native` selectively to computational hot functions; reserve `--!native` for genuinely math-heavy modules.
|
||||||
- **Event-driven over polling** -- avoid per-frame calculations when events suffice.
|
- **Event-driven over polling** -- avoid per-frame calculations when events suffice.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
@ -484,15 +507,37 @@ The compiler narrows types after certain checks, improving both type safety and
|
||||||
|
|
||||||
## Reference: Native Codegen
|
## Reference: Native Codegen
|
||||||
|
|
||||||
**`@native` vs `--!native`:**
|
**`--!native` (whole-file) -- use sparingly:**
|
||||||
- `--!native`: entire script. Good for math-heavy utility modules.
|
- Compiles every function in the file to native code, consuming the per-module 1M instruction limit and the per-experience memory budget.
|
||||||
- `@native`: per-function. Better for selective hot functions or near the 1M instruction limit.
|
- Only appropriate for files where most/all functions are computational: math utilities, physics solvers, buffer serializers, numerical algorithms.
|
||||||
- Inner functions do NOT inherit `@native`.
|
- Wasteful on typical game scripts where most functions are Roblox API calls, table construction, or string operations -- these don't benefit from native codegen but still eat the budget.
|
||||||
- Top-level code runs once; `@native` has minimal benefit there.
|
|
||||||
|
**`@native` (per-function) -- preferred for most files:**
|
||||||
|
- Annotate only functions that perform computational work benefiting from JIT: tight loops, `Vector3`/`CFrame` arithmetic, `buffer` ops, `bit32` ops, numerical math.
|
||||||
|
- Place directly above the function declaration. Inner functions do NOT inherit it.
|
||||||
|
- Top-level code runs once at `require()` time; `@native` provides no meaningful benefit there.
|
||||||
|
- This is the correct default strategy for mixed scripts with both hot computational code and API-heavy orchestration.
|
||||||
|
|
||||||
|
**Functions that do NOT benefit from `@native`:**
|
||||||
|
- Roblox API calls (`Instance:Clone()`, `:FindFirstChild()`, `:GetChildren()`, `:WaitForChild()`, event connections) -- execution time is in C++/engine, not Luau bytecode
|
||||||
|
- Table construction without computation (allocation-bound; the allocator is C code native codegen can't speed up)
|
||||||
|
- Heavy Luau library calls (`string.format`, `string.match`, `string.gmatch` -- C implementations that native codegen can't accelerate)
|
||||||
|
- One-shot initialization code
|
||||||
|
- Event handler registration and wiring
|
||||||
|
- `require()` calls and module setup
|
||||||
|
- Coroutine/task scheduling (`task.spawn`, `task.defer`, `task.wait`)
|
||||||
|
|
||||||
|
**Functions that benefit from `@native`:**
|
||||||
|
- Tight numerical loops (physics, interpolation, noise generation)
|
||||||
|
- Mathematical operations on table data (reading values, computing, writing back -- the Roblox docs explicitly cite this)
|
||||||
|
- `Vector3`/`CFrame` arithmetic (native generates specialized vector code with proper type annotations)
|
||||||
|
- `buffer` read/write operations (efficient native lowering)
|
||||||
|
- `bit32` operations (maps to CPU instructions)
|
||||||
|
- Hot paths called every frame (RunService handlers with computational work, not API orchestration)
|
||||||
|
|
||||||
**Hurts native:** `getfenv`/`setfenv`, wrong types to typed functions, non-numeric math args, breakpoints, size limits (64K instructions/block, 32K blocks/function, 1M/module).
|
**Hurts native:** `getfenv`/`setfenv`, wrong types to typed functions, non-numeric math args, breakpoints, size limits (64K instructions/block, 32K blocks/function, 1M/module).
|
||||||
|
|
||||||
**Helps native:** Type annotations (especially `Vector3`), small functions, consistent table shapes, `buffer` ops, `bit32` ops.
|
**Budget management:** The 1M instruction limit is per-module; the memory budget for native code is per-experience, shared across ALL native scripts. Use `--record-stats=function` to check each function's native instruction count and `debug.dumpcodesize()` in Studio to see per-experience usage. A few well-chosen `@native` functions outperform blanket `--!native` across many files.
|
||||||
|
|
||||||
## Reference: CLI Tools
|
## Reference: CLI Tools
|
||||||
|
|
||||||
|
|
|
||||||
152
.cursor/rules/luau-rfcs/const-keyword.md
Normal file
152
.cursor/rules/luau-rfcs/const-keyword.md
Normal file
|
|
@ -0,0 +1,152 @@
|
||||||
|
# Const Keyword
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
Introduce a `const` keyword for local variable bindings that prevents reassignment after initialization. A const declaration makes the binding immutable, not the value, so tables and other mutable objects remain mutable through the binding.
|
||||||
|
|
||||||
|
## Motivation
|
||||||
|
|
||||||
|
When introducing the [`export`](https://github.com/luau-lang/rfcs/pull/42) keyword we will need to introduce the concept of `const`-ness to the language. Modules with exports return a frozen table of values; however, the variables used to declare those exports are not themselves immutable. This makes it possible to write code such as the following:
|
||||||
|
|
||||||
|
```luau
|
||||||
|
export foo = 5
|
||||||
|
|
||||||
|
export function increment()
|
||||||
|
foo += 1
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
This results in different values for `foo` depending on where it is accessed from:
|
||||||
|
|
||||||
|
```luau
|
||||||
|
-- Inside the module
|
||||||
|
print(foo) --> 5
|
||||||
|
increment()
|
||||||
|
print(foo) --> 6
|
||||||
|
|
||||||
|
-- Outside the module
|
||||||
|
print(module.foo) --> 5
|
||||||
|
module.increment()
|
||||||
|
print(module.foo) --> 5
|
||||||
|
```
|
||||||
|
|
||||||
|
To address this, we propose that all exported values are `const` by default, preventing reassignment within the module and ensuring that exported bindings represent stable values.
|
||||||
|
|
||||||
|
However, this is not the only use-case for `const`. A `const` binding provides a clear guarantee that a name will always refer to the same value for the lifetime of its scope. This property is useful beyond module exports: it makes code easier to reason about, avoids accidental rebinding in closures or long-lived scopes, and allows tools and the typechecker to treat such bindings as stable references rather than values that may change over time. Since `export` already requires this guarantee to behave correctly, exposing `const` as a general language feature avoids introducing special-case rules and provides a simple, consistent way to express immutability of bindings where it is desired.
|
||||||
|
|
||||||
|
## Design
|
||||||
|
### Syntax
|
||||||
|
|
||||||
|
Allow `const` in declarations anywhere `local` is allowed:
|
||||||
|
|
||||||
|
```luau
|
||||||
|
const x = 5
|
||||||
|
const f = function() end
|
||||||
|
const t = { a = 1 }
|
||||||
|
```
|
||||||
|
|
||||||
|
Typed declarations remain valid:
|
||||||
|
|
||||||
|
```luau
|
||||||
|
const x: number = 5
|
||||||
|
const t: { a: number } = { a = 1 }
|
||||||
|
```
|
||||||
|
Multi-assignment is also supported:
|
||||||
|
|
||||||
|
```luau
|
||||||
|
const a, b = 1, 2
|
||||||
|
```
|
||||||
|
|
||||||
|
A `function` can be declared as `const`:
|
||||||
|
|
||||||
|
```luau
|
||||||
|
const function f()
|
||||||
|
-- do something
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
### Semantics
|
||||||
|
|
||||||
|
A `const` variable is equivalent to a variable declared with `local` however `const` variables cannot be reassigned after they are initialized:
|
||||||
|
|
||||||
|
```luau
|
||||||
|
const x = 1
|
||||||
|
x = 2 -- error
|
||||||
|
```
|
||||||
|
|
||||||
|
This includes any assignment form that writes to the binding, such as compound assignment:
|
||||||
|
|
||||||
|
```luau
|
||||||
|
const x = 1
|
||||||
|
x += 1 -- error
|
||||||
|
```
|
||||||
|
|
||||||
|
It applies to the variable's binding, not to the value it refers to. If a const variable refers to a mutable value such as a table, that value can still be modified:
|
||||||
|
|
||||||
|
```luau
|
||||||
|
const t = { count = 0 }
|
||||||
|
t.count += 1 -- ok (mutating the table)
|
||||||
|
t = {} -- error (reassigning the binding)
|
||||||
|
```
|
||||||
|
|
||||||
|
`const` is not a replacement for `table.freeze` which should be used to prohibit mutation of table contents. The two features address different problems and can be used together:
|
||||||
|
|
||||||
|
```luau
|
||||||
|
const t = table.freeze({
|
||||||
|
count = 0,
|
||||||
|
})
|
||||||
|
|
||||||
|
t.count += 1 -- error (mutating a frozen table)
|
||||||
|
t = {} -- error (reassigning the binding)
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Initialization
|
||||||
|
|
||||||
|
A `const` binding must be initialized at the point of declaration:
|
||||||
|
|
||||||
|
```
|
||||||
|
const x -- error: const variable must be initialized
|
||||||
|
```
|
||||||
|
|
||||||
|
This keeps the feature simple, avoids "definite assignment" rules, and makes the "never reassigned" intent explicit.
|
||||||
|
|
||||||
|
#### Scope and Shadowing
|
||||||
|
|
||||||
|
`const` follows normal lexical scoping rules. Shadowing creates a new binding and is allowed:
|
||||||
|
|
||||||
|
```luau
|
||||||
|
const x = 1
|
||||||
|
do
|
||||||
|
const x = 2 -- ok: new binding in inner scope
|
||||||
|
end
|
||||||
|
|
||||||
|
const y = 1
|
||||||
|
const y = 2 -- also ok: rebinding as const in same scope
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Captures / Up-Values
|
||||||
|
|
||||||
|
If a `const` variable is captured by an inner function, it remains non-reassignable from within that function as well:
|
||||||
|
|
||||||
|
```luau
|
||||||
|
const x = 1
|
||||||
|
const function f()
|
||||||
|
x = 2 -- error
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
### Grammar / Parsing
|
||||||
|
|
||||||
|
`const` is a contextual keyword that is only valid in positions where `local` is valid. This makes the introduction fully backwards compatible with existing code.
|
||||||
|
|
||||||
|
## Drawbacks
|
||||||
|
|
||||||
|
- Potential false sense of immutability: developers may misread const as implying deep immutability. This is mitigated by clear documentation and examples, but the risk remains.
|
||||||
|
- Lua introduced `const` in the form `local foo <const> = 5` which is inconsistent with this syntax. However, we've already decided we won't adopt Lua const syntax, therefore consider this an acceptable change.
|
||||||
|
|
||||||
|
## Alternatives
|
||||||
|
|
||||||
|
- Lint-only "never reassigned" rule: A linter can infer locals that are never reassigned and warn on future changes. This avoids new syntax, but loses the ability to declare intent directly in code (e.g., a new assignment becomes a warning rather than a clear violation of an explicit constraint).
|
||||||
|
- Deep immutability / freezing: Enforcing immutability of tables (recursively) would address mutation bugs but introduces complexity, runtime overhead, questions around metatables/userdata, and awkward interactions with existing patterns. This is explicitly out of scope for this proposal.
|
||||||
|
- Annotations instead of a keyword: An attribute-like syntax (comment directive or type-level modifier) could avoid reserving a keyword, but is less readable, less discoverable, and harder to standardize across tooling.
|
||||||
|
- Do nothing: Continue relying on convention and review. This keeps the language smaller but preserves a common footgun and prevents tooling from enforcing a widely useful invariant.
|
||||||
206475
.cursor/rules/roblox-api/Full-API-Dump.json
Normal file
206475
.cursor/rules/roblox-api/Full-API-Dump.json
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -59,3 +59,165 @@ Standalone files in `roblox/en-us/`:
|
||||||
Use glob and grep to search `.cursor/rules/roblox/` for Roblox-specific documentation files.
|
Use glob and grep to search `.cursor/rules/roblox/` for Roblox-specific documentation files.
|
||||||
|
|
||||||
**Tip:** Check `roblox/common/navigation/` for YAML files that organize documentation by category (analytics, avatar, cloud, engine, monetization, etc.). These navigation files help locate relevant docs quickly.
|
**Tip:** Check `roblox/common/navigation/` for YAML files that organize documentation by category (analytics, avatar, cloud, engine, monetization, etc.). These navigation files help locate relevant docs quickly.
|
||||||
|
|
||||||
|
## Roblox Full API Dump
|
||||||
|
|
||||||
|
The file `.cursor/rules/roblox-api/Full-API-Dump.json` is the authoritative source for every Roblox API class, member, and enum. It is pulled directly from the [RobloxAPI/build-archive](https://github.com/RobloxAPI/build-archive) on each sync and reflects the current production build.
|
||||||
|
|
||||||
|
**File facts:**
|
||||||
|
- ~206,000 lines, ~7.5 MB
|
||||||
|
- `"Classes"` section: lines 1–189,995 (863 classes, 7,690 members)
|
||||||
|
- `"Enums"` section: starts at line 189,996 (552 enums)
|
||||||
|
|
||||||
|
### Field order in the file
|
||||||
|
|
||||||
|
The JSON fields within each object appear in alphabetical order on disk. This is critical for understanding grep results:
|
||||||
|
|
||||||
|
```
|
||||||
|
Class object (fields in file order):
|
||||||
|
"Members": [...] ← member array comes FIRST
|
||||||
|
"MemoryCategory": "Instances"
|
||||||
|
"Name": "ClassName" ← ALWAYS immediately after MemoryCategory
|
||||||
|
"Superclass": "ParentClass" ← ALWAYS immediately after Name
|
||||||
|
"Tags": [...]
|
||||||
|
|
||||||
|
Property member (fields in file order):
|
||||||
|
"Category": "Part"
|
||||||
|
"Default": "value"
|
||||||
|
"MemberType": "Property"
|
||||||
|
"Name": "MemberName" ← ALWAYS immediately after MemberType
|
||||||
|
"Security": "None" | { "Read": "...", "Write": "..." }
|
||||||
|
"Serialization": { "CanLoad": bool, "CanSave": bool }
|
||||||
|
"ThreadSafety": "ReadSafe"
|
||||||
|
"ValueType": { "Category": "Primitive|DataType|Enum|Class", "Name": "typeName" }
|
||||||
|
"Tags": [...] (optional)
|
||||||
|
|
||||||
|
Function / Event / Callback member (fields in file order):
|
||||||
|
"MemberType": "Function" (or "Event" or "Callback")
|
||||||
|
"Name": "MethodName" ← ALWAYS immediately after MemberType
|
||||||
|
"Parameters": [ { "Name": "param", "Type": { "Category": "...", "Name": "..." } } ]
|
||||||
|
"ReturnType": { "Category": "...", "Name": "..." } (Function/Callback only)
|
||||||
|
"Security": "None"
|
||||||
|
"ThreadSafety": "..."
|
||||||
|
|
||||||
|
Enum object (fields in file order):
|
||||||
|
"Items": [ { "Name": "ItemName", "Value": N }, ... ] ← items come FIRST
|
||||||
|
"Name": "EnumName" ← enum name comes LAST, after all items
|
||||||
|
```
|
||||||
|
|
||||||
|
### Disambiguating "Name" entries
|
||||||
|
|
||||||
|
The line directly **before** a `"Name":` entry tells you what kind of entry it is:
|
||||||
|
|
||||||
|
- `"MemoryCategory": "...",` before `"Name":` → **class definition**
|
||||||
|
- `"MemberType": "...",` before `"Name":` → **member definition** (Property/Function/Event/Callback)
|
||||||
|
- `"Value": N` after `"Name":` → **enum item**
|
||||||
|
- Everything else → a type reference inside `"Type":`, `"ValueType":`, or `"ReturnType":` — not a top-level entity
|
||||||
|
|
||||||
|
### Grep patterns
|
||||||
|
|
||||||
|
**1. Look up a class definition**
|
||||||
|
|
||||||
|
```
|
||||||
|
rg -n '"Name": "BasePart"' .cursor/rules/roblox-api/Full-API-Dump.json
|
||||||
|
```
|
||||||
|
|
||||||
|
Find the result where the line above contains `"MemoryCategory":`. Read forward 6 lines to get `Superclass` and `Tags`. Note: the class's `Members` array begins thousands of lines above that line — large classes like `BasePart` span 2,500+ lines of members.
|
||||||
|
|
||||||
|
**2. Look up a specific member by name**
|
||||||
|
|
||||||
|
```
|
||||||
|
rg -n '"Name": "Anchored"' .cursor/rules/roblox-api/Full-API-Dump.json
|
||||||
|
```
|
||||||
|
|
||||||
|
Find results where the line 1–3 lines above contains `"MemberType":` — those are member definitions. Use Read at that line ±15 lines to capture the full member object (Security, ThreadSafety, ValueType or Parameters/ReturnType, and Tags).
|
||||||
|
|
||||||
|
**3. Identify which class owns a member**
|
||||||
|
|
||||||
|
From the member's line number N, search backward through the file for the nearest `"MemoryCategory":` line. The `"Name":` on the very next line is the owning class name. Many common members (like `Anchored`) appear in multiple classes — check the owning class to confirm you have the right one.
|
||||||
|
|
||||||
|
**4. Check whether a member is defined on a class vs inherited**
|
||||||
|
|
||||||
|
Grep for the class Name to get its definition line number L (where `"MemoryCategory":` is on the line above). Then grep for the member Name and find the match whose line number is closest to and **below** L — that is the member as defined directly on that class.
|
||||||
|
|
||||||
|
**5. List all Functions available on a class**
|
||||||
|
|
||||||
|
```
|
||||||
|
rg -n '"MemberType": "Function"' .cursor/rules/roblox-api/Full-API-Dump.json -A 1
|
||||||
|
```
|
||||||
|
|
||||||
|
Each `-A 1` line is the function name. To scope to a specific class, find the class's definition line L from pattern 1, then find the previous class's definition line P. Members for the target class fall between lines P and L. Filter the `rg` output to that line range. Alternatively, use Read on the class's member block directly.
|
||||||
|
|
||||||
|
**6. List all Events available on a class**
|
||||||
|
|
||||||
|
```
|
||||||
|
rg -n '"MemberType": "Event"' .cursor/rules/roblox-api/Full-API-Dump.json -A 1
|
||||||
|
```
|
||||||
|
|
||||||
|
Same scoping approach as functions above.
|
||||||
|
|
||||||
|
**7. List all Properties available on a class**
|
||||||
|
|
||||||
|
```
|
||||||
|
rg -n '"MemberType": "Property"' .cursor/rules/roblox-api/Full-API-Dump.json -A 1
|
||||||
|
```
|
||||||
|
|
||||||
|
Same scoping approach. The `-A 1` line is always the property name since `"MemberType"` is always the line directly before `"Name"` in a member object.
|
||||||
|
|
||||||
|
**8. Look up an enum and all its values**
|
||||||
|
|
||||||
|
Enum names appear **after** their items in the file, so use `-B` to read upward:
|
||||||
|
|
||||||
|
```
|
||||||
|
rg -n -B 150 '"Name": "Material"' .cursor/rules/roblox-api/Full-API-Dump.json
|
||||||
|
```
|
||||||
|
|
||||||
|
Use the result in the Enums section (line 189,996+). Increase to `-B 300` for large enums.
|
||||||
|
|
||||||
|
**9. Find all direct subclasses of a class**
|
||||||
|
|
||||||
|
```
|
||||||
|
rg -n '"Superclass": "BasePart"' .cursor/rules/roblox-api/Full-API-Dump.json -A 1
|
||||||
|
```
|
||||||
|
|
||||||
|
The `-A 1` line after each match is the subclass `Name`.
|
||||||
|
|
||||||
|
### Cross-referencing the dump with the docs
|
||||||
|
|
||||||
|
The dump and the docs in `.cursor/rules/roblox/` are complementary — use either as the entry point:
|
||||||
|
|
||||||
|
- **Dump → Docs:** You confirmed a class or member exists in the dump (name, types, security level). Now search the docs to understand correct usage patterns, recommended approaches, and gotchas the API signature alone does not convey.
|
||||||
|
- **Docs → Dump:** The docs mention a class, function, or concept. Look it up in the dump to get the exact parameter types, return type, thread safety, security level, and deprecation status — detail the docs often omit or leave vague.
|
||||||
|
|
||||||
|
To find relevant docs after identifying a class or member:
|
||||||
|
- `Glob` into the relevant subdirectory: e.g. `roblox/en-us/physics/**` for physics, `roblox/en-us/scripting/**` for scripting patterns
|
||||||
|
- `Grep` across all docs: e.g. `rg "TweenService" .cursor/rules/roblox/` to find every file that discusses a class
|
||||||
|
- `roblox/en-us/reference/` contains YAML-format API reference files with additional context
|
||||||
|
- `roblox/common/navigation/` YAML files map topics to doc files — a fast way to find which doc covers a given system
|
||||||
|
|
||||||
|
The docs explain intent and usage; the dump is the ground truth for the API contract. Consult both before writing code against an unfamiliar API.
|
||||||
|
|
||||||
|
### Security levels
|
||||||
|
|
||||||
|
| Value | Accessible from |
|
||||||
|
|---|---|
|
||||||
|
| `"None"` | Any script |
|
||||||
|
| `"LocalUserSecurity"` | LocalScript only |
|
||||||
|
| `"PluginSecurity"` | Plugin scripts only |
|
||||||
|
| `"RobloxScriptSecurity"` | CoreScript / internal — **not accessible** from user scripts |
|
||||||
|
|
||||||
|
Security can be split per operation: `{ "Read": "None", "Write": "RobloxScriptSecurity" }` means readable but not writable from user scripts.
|
||||||
|
|
||||||
|
### Tags to check before using a member
|
||||||
|
|
||||||
|
| Tag | Meaning |
|
||||||
|
|---|---|
|
||||||
|
| `"Deprecated"` | Avoid — check for `"PreferredDescriptorName"` in the same Tags array for the replacement |
|
||||||
|
| `"NotCreatable"` | Cannot use `Instance.new()` — must obtain from the DataModel |
|
||||||
|
| `"Service"` | Obtain via `game:GetService("ServiceName")` |
|
||||||
|
| `"ReadOnly"` | Property cannot be set |
|
||||||
|
| `"NotReplicated"` | Changes do not sync across the client/server boundary |
|
||||||
|
|
||||||
|
### Large class warning
|
||||||
|
|
||||||
|
Classes like `BasePart`, `Instance`, and `Humanoid` have 500–2,500 lines of members. Never attempt to read an entire class block. Always grep for the specific member, function, or event you need.
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,8 @@ navigation:
|
||||||
path: /cloud/guides/data-stores/throttling
|
path: /cloud/guides/data-stores/throttling
|
||||||
- title: Assets
|
- title: Assets
|
||||||
path: /cloud/guides/usage-assets
|
path: /cloud/guides/usage-assets
|
||||||
|
- title: Configs
|
||||||
|
path: /cloud/guides/configs
|
||||||
- title: Secrets stores
|
- title: Secrets stores
|
||||||
path: /cloud/guides/secrets-store
|
path: /cloud/guides/secrets-store
|
||||||
- title: User inventories
|
- title: User inventories
|
||||||
|
|
|
||||||
|
|
@ -130,6 +130,11 @@ navigation:
|
||||||
type: engineapi
|
type: engineapi
|
||||||
source: /reference/engine/classes/AnimationFromVideoCreatorService.yaml
|
source: /reference/engine/classes/AnimationFromVideoCreatorService.yaml
|
||||||
ignoreTranslation: true
|
ignoreTranslation: true
|
||||||
|
- title: AnimationNodeDefinition
|
||||||
|
path: /reference/engine/classes/AnimationNodeDefinition
|
||||||
|
type: engineapi
|
||||||
|
source: /reference/engine/classes/AnimationNodeDefinition.yaml
|
||||||
|
ignoreTranslation: true
|
||||||
- title: AnimationRigData
|
- title: AnimationRigData
|
||||||
path: /reference/engine/classes/AnimationRigData
|
path: /reference/engine/classes/AnimationRigData
|
||||||
type: engineapi
|
type: engineapi
|
||||||
|
|
@ -332,6 +337,27 @@ navigation:
|
||||||
type: engineapi
|
type: engineapi
|
||||||
source: /reference/engine/classes/BadgeService.yaml
|
source: /reference/engine/classes/BadgeService.yaml
|
||||||
ignoreTranslation: true
|
ignoreTranslation: true
|
||||||
|
- title: BaseCoreGuiConfiguration
|
||||||
|
path: /reference/engine/classes/BaseCoreGuiConfiguration
|
||||||
|
type: engineapi
|
||||||
|
source: /reference/engine/classes/BaseCoreGuiConfiguration.yaml
|
||||||
|
ignoreTranslation: true
|
||||||
|
section:
|
||||||
|
- title: CapturesViewConfiguration
|
||||||
|
path: /reference/engine/classes/CapturesViewConfiguration
|
||||||
|
type: engineapi
|
||||||
|
source: /reference/engine/classes/CapturesViewConfiguration.yaml
|
||||||
|
ignoreTranslation: true
|
||||||
|
- title: PlayerListConfiguration
|
||||||
|
path: /reference/engine/classes/PlayerListConfiguration
|
||||||
|
type: engineapi
|
||||||
|
source: /reference/engine/classes/PlayerListConfiguration.yaml
|
||||||
|
ignoreTranslation: true
|
||||||
|
- title: SelfViewConfiguration
|
||||||
|
path: /reference/engine/classes/SelfViewConfiguration
|
||||||
|
type: engineapi
|
||||||
|
source: /reference/engine/classes/SelfViewConfiguration.yaml
|
||||||
|
ignoreTranslation: true
|
||||||
- title: BasePlayerGui
|
- title: BasePlayerGui
|
||||||
path: /reference/engine/classes/BasePlayerGui
|
path: /reference/engine/classes/BasePlayerGui
|
||||||
type: engineapi
|
type: engineapi
|
||||||
|
|
@ -775,6 +801,11 @@ navigation:
|
||||||
type: engineapi
|
type: engineapi
|
||||||
source: /reference/engine/classes/CookiesService.yaml
|
source: /reference/engine/classes/CookiesService.yaml
|
||||||
ignoreTranslation: true
|
ignoreTranslation: true
|
||||||
|
- title: CoreGuiConfiguration
|
||||||
|
path: /reference/engine/classes/CoreGuiConfiguration
|
||||||
|
type: engineapi
|
||||||
|
source: /reference/engine/classes/CoreGuiConfiguration.yaml
|
||||||
|
ignoreTranslation: true
|
||||||
- title: CoreScriptDebuggingManagerHelper
|
- title: CoreScriptDebuggingManagerHelper
|
||||||
path: /reference/engine/classes/CoreScriptDebuggingManagerHelper
|
path: /reference/engine/classes/CoreScriptDebuggingManagerHelper
|
||||||
type: engineapi
|
type: engineapi
|
||||||
|
|
@ -1363,11 +1394,6 @@ navigation:
|
||||||
type: engineapi
|
type: engineapi
|
||||||
source: /reference/engine/classes/GuidRegistryService.yaml
|
source: /reference/engine/classes/GuidRegistryService.yaml
|
||||||
ignoreTranslation: true
|
ignoreTranslation: true
|
||||||
- title: HandRigDescription
|
|
||||||
path: /reference/engine/classes/HandRigDescription
|
|
||||||
type: engineapi
|
|
||||||
source: /reference/engine/classes/HandRigDescription.yaml
|
|
||||||
ignoreTranslation: true
|
|
||||||
- title: HapticEffect
|
- title: HapticEffect
|
||||||
path: /reference/engine/classes/HapticEffect
|
path: /reference/engine/classes/HapticEffect
|
||||||
type: engineapi
|
type: engineapi
|
||||||
|
|
@ -1661,6 +1687,11 @@ navigation:
|
||||||
type: engineapi
|
type: engineapi
|
||||||
source: /reference/engine/classes/MLService.yaml
|
source: /reference/engine/classes/MLService.yaml
|
||||||
ignoreTranslation: true
|
ignoreTranslation: true
|
||||||
|
- title: MakeupDescription
|
||||||
|
path: /reference/engine/classes/MakeupDescription
|
||||||
|
type: engineapi
|
||||||
|
source: /reference/engine/classes/MakeupDescription.yaml
|
||||||
|
ignoreTranslation: true
|
||||||
- title: MarkerCurve
|
- title: MarkerCurve
|
||||||
path: /reference/engine/classes/MarkerCurve
|
path: /reference/engine/classes/MarkerCurve
|
||||||
type: engineapi
|
type: engineapi
|
||||||
|
|
@ -2385,6 +2416,11 @@ navigation:
|
||||||
type: engineapi
|
type: engineapi
|
||||||
source: /reference/engine/classes/ReflectionService.yaml
|
source: /reference/engine/classes/ReflectionService.yaml
|
||||||
ignoreTranslation: true
|
ignoreTranslation: true
|
||||||
|
- title: RemoteCommandService
|
||||||
|
path: /reference/engine/classes/RemoteCommandService
|
||||||
|
type: engineapi
|
||||||
|
source: /reference/engine/classes/RemoteCommandService.yaml
|
||||||
|
ignoreTranslation: true
|
||||||
- title: RemoteDebuggerServer
|
- title: RemoteDebuggerServer
|
||||||
path: /reference/engine/classes/RemoteDebuggerServer
|
path: /reference/engine/classes/RemoteDebuggerServer
|
||||||
type: engineapi
|
type: engineapi
|
||||||
|
|
@ -3077,6 +3113,11 @@ navigation:
|
||||||
type: engineapi
|
type: engineapi
|
||||||
source: /reference/engine/classes/UIStroke.yaml
|
source: /reference/engine/classes/UIStroke.yaml
|
||||||
ignoreTranslation: true
|
ignoreTranslation: true
|
||||||
|
- title: UniqueIdLookupService
|
||||||
|
path: /reference/engine/classes/UniqueIdLookupService
|
||||||
|
type: engineapi
|
||||||
|
source: /reference/engine/classes/UniqueIdLookupService.yaml
|
||||||
|
ignoreTranslation: true
|
||||||
- title: UserGameSettings
|
- title: UserGameSettings
|
||||||
path: /reference/engine/classes/UserGameSettings
|
path: /reference/engine/classes/UserGameSettings
|
||||||
type: engineapi
|
type: engineapi
|
||||||
|
|
@ -3467,6 +3508,11 @@ navigation:
|
||||||
type: engineapi
|
type: engineapi
|
||||||
source: /reference/engine/datatypes/Secret.yaml
|
source: /reference/engine/datatypes/Secret.yaml
|
||||||
ignoreTranslation: true
|
ignoreTranslation: true
|
||||||
|
- title: SecurityCapabilities
|
||||||
|
path: /reference/engine/datatypes/SecurityCapabilities
|
||||||
|
type: engineapi
|
||||||
|
source: /reference/engine/datatypes/SecurityCapabilities.yaml
|
||||||
|
ignoreTranslation: true
|
||||||
- title: SharedTable
|
- title: SharedTable
|
||||||
path: /reference/engine/datatypes/SharedTable
|
path: /reference/engine/datatypes/SharedTable
|
||||||
type: engineapi
|
type: engineapi
|
||||||
|
|
@ -3571,6 +3617,11 @@ navigation:
|
||||||
type: engineapi
|
type: engineapi
|
||||||
source: /reference/engine/enums/AdornCullingMode.yaml
|
source: /reference/engine/enums/AdornCullingMode.yaml
|
||||||
ignoreTranslation: true
|
ignoreTranslation: true
|
||||||
|
- title: AdornShading
|
||||||
|
path: /reference/engine/enums/AdornShading
|
||||||
|
type: engineapi
|
||||||
|
source: /reference/engine/enums/AdornShading.yaml
|
||||||
|
ignoreTranslation: true
|
||||||
- title: AdShape
|
- title: AdShape
|
||||||
path: /reference/engine/enums/AdShape
|
path: /reference/engine/enums/AdShape
|
||||||
type: engineapi
|
type: engineapi
|
||||||
|
|
@ -3646,6 +3697,11 @@ navigation:
|
||||||
type: engineapi
|
type: engineapi
|
||||||
source: /reference/engine/enums/AnimationClipFromVideoStatus.yaml
|
source: /reference/engine/enums/AnimationClipFromVideoStatus.yaml
|
||||||
ignoreTranslation: true
|
ignoreTranslation: true
|
||||||
|
- title: AnimationNodeType
|
||||||
|
path: /reference/engine/enums/AnimationNodeType
|
||||||
|
type: engineapi
|
||||||
|
source: /reference/engine/enums/AnimationNodeType.yaml
|
||||||
|
ignoreTranslation: true
|
||||||
- title: AnimationPriority
|
- title: AnimationPriority
|
||||||
path: /reference/engine/enums/AnimationPriority
|
path: /reference/engine/enums/AnimationPriority
|
||||||
type: engineapi
|
type: engineapi
|
||||||
|
|
@ -3956,6 +4012,11 @@ navigation:
|
||||||
type: engineapi
|
type: engineapi
|
||||||
source: /reference/engine/enums/CameraMode.yaml
|
source: /reference/engine/enums/CameraMode.yaml
|
||||||
ignoreTranslation: true
|
ignoreTranslation: true
|
||||||
|
- title: CameraNavigationModel
|
||||||
|
path: /reference/engine/enums/CameraNavigationModel
|
||||||
|
type: engineapi
|
||||||
|
source: /reference/engine/enums/CameraNavigationModel.yaml
|
||||||
|
ignoreTranslation: true
|
||||||
- title: CameraPanMode
|
- title: CameraPanMode
|
||||||
path: /reference/engine/enums/CameraPanMode
|
path: /reference/engine/enums/CameraPanMode
|
||||||
type: engineapi
|
type: engineapi
|
||||||
|
|
@ -4226,6 +4287,11 @@ navigation:
|
||||||
type: engineapi
|
type: engineapi
|
||||||
source: /reference/engine/enums/DebuggerStatus.yaml
|
source: /reference/engine/enums/DebuggerStatus.yaml
|
||||||
ignoreTranslation: true
|
ignoreTranslation: true
|
||||||
|
- title: DefaultScriptSyncFileType
|
||||||
|
path: /reference/engine/enums/DefaultScriptSyncFileType
|
||||||
|
type: engineapi
|
||||||
|
source: /reference/engine/enums/DefaultScriptSyncFileType.yaml
|
||||||
|
ignoreTranslation: true
|
||||||
- title: DevCameraOcclusionMode
|
- title: DevCameraOcclusionMode
|
||||||
path: /reference/engine/enums/DevCameraOcclusionMode
|
path: /reference/engine/enums/DevCameraOcclusionMode
|
||||||
type: engineapi
|
type: engineapi
|
||||||
|
|
@ -4291,6 +4357,11 @@ navigation:
|
||||||
type: engineapi
|
type: engineapi
|
||||||
source: /reference/engine/enums/DialogTone.yaml
|
source: /reference/engine/enums/DialogTone.yaml
|
||||||
ignoreTranslation: true
|
ignoreTranslation: true
|
||||||
|
- title: DigitsRigDescriptionSide
|
||||||
|
path: /reference/engine/enums/DigitsRigDescriptionSide
|
||||||
|
type: engineapi
|
||||||
|
source: /reference/engine/enums/DigitsRigDescriptionSide.yaml
|
||||||
|
ignoreTranslation: true
|
||||||
- title: DisplaySize
|
- title: DisplaySize
|
||||||
path: /reference/engine/enums/DisplaySize
|
path: /reference/engine/enums/DisplaySize
|
||||||
type: engineapi
|
type: engineapi
|
||||||
|
|
@ -4396,6 +4467,16 @@ navigation:
|
||||||
type: engineapi
|
type: engineapi
|
||||||
source: /reference/engine/enums/FieldOfViewMode.yaml
|
source: /reference/engine/enums/FieldOfViewMode.yaml
|
||||||
ignoreTranslation: true
|
ignoreTranslation: true
|
||||||
|
- title: FileMode
|
||||||
|
path: /reference/engine/enums/FileMode
|
||||||
|
type: engineapi
|
||||||
|
source: /reference/engine/enums/FileMode.yaml
|
||||||
|
ignoreTranslation: true
|
||||||
|
- title: FileSystemWalkMode
|
||||||
|
path: /reference/engine/enums/FileSystemWalkMode
|
||||||
|
type: engineapi
|
||||||
|
source: /reference/engine/enums/FileSystemWalkMode.yaml
|
||||||
|
ignoreTranslation: true
|
||||||
- title: FillDirection
|
- title: FillDirection
|
||||||
path: /reference/engine/enums/FillDirection
|
path: /reference/engine/enums/FillDirection
|
||||||
type: engineapi
|
type: engineapi
|
||||||
|
|
@ -4536,11 +4617,6 @@ navigation:
|
||||||
type: engineapi
|
type: engineapi
|
||||||
source: /reference/engine/enums/HandlesStyle.yaml
|
source: /reference/engine/enums/HandlesStyle.yaml
|
||||||
ignoreTranslation: true
|
ignoreTranslation: true
|
||||||
- title: HandRigDescriptionSide
|
|
||||||
path: /reference/engine/enums/HandRigDescriptionSide
|
|
||||||
type: engineapi
|
|
||||||
source: /reference/engine/enums/HandRigDescriptionSide.yaml
|
|
||||||
ignoreTranslation: true
|
|
||||||
- title: HapticEffectType
|
- title: HapticEffectType
|
||||||
path: /reference/engine/enums/HapticEffectType
|
path: /reference/engine/enums/HapticEffectType
|
||||||
type: engineapi
|
type: engineapi
|
||||||
|
|
@ -4796,6 +4872,11 @@ navigation:
|
||||||
type: engineapi
|
type: engineapi
|
||||||
source: /reference/engine/enums/LuauTypeCheckMode.yaml
|
source: /reference/engine/enums/LuauTypeCheckMode.yaml
|
||||||
ignoreTranslation: true
|
ignoreTranslation: true
|
||||||
|
- title: MakeupType
|
||||||
|
path: /reference/engine/enums/MakeupType
|
||||||
|
type: engineapi
|
||||||
|
source: /reference/engine/enums/MakeupType.yaml
|
||||||
|
ignoreTranslation: true
|
||||||
- title: MarketplaceBulkPurchasePromptStatus
|
- title: MarketplaceBulkPurchasePromptStatus
|
||||||
path: /reference/engine/enums/MarketplaceBulkPurchasePromptStatus
|
path: /reference/engine/enums/MarketplaceBulkPurchasePromptStatus
|
||||||
type: engineapi
|
type: engineapi
|
||||||
|
|
@ -5031,6 +5112,11 @@ navigation:
|
||||||
type: engineapi
|
type: engineapi
|
||||||
source: /reference/engine/enums/PathWaypointAction.yaml
|
source: /reference/engine/enums/PathWaypointAction.yaml
|
||||||
ignoreTranslation: true
|
ignoreTranslation: true
|
||||||
|
- title: PeoplePageLayout
|
||||||
|
path: /reference/engine/enums/PeoplePageLayout
|
||||||
|
type: engineapi
|
||||||
|
source: /reference/engine/enums/PeoplePageLayout.yaml
|
||||||
|
ignoreTranslation: true
|
||||||
- title: PermissionLevelShown
|
- title: PermissionLevelShown
|
||||||
path: /reference/engine/enums/PermissionLevelShown
|
path: /reference/engine/enums/PermissionLevelShown
|
||||||
type: engineapi
|
type: engineapi
|
||||||
|
|
@ -5161,6 +5247,11 @@ navigation:
|
||||||
type: engineapi
|
type: engineapi
|
||||||
source: /reference/engine/enums/PromptCreateAvatarResult.yaml
|
source: /reference/engine/enums/PromptCreateAvatarResult.yaml
|
||||||
ignoreTranslation: true
|
ignoreTranslation: true
|
||||||
|
- title: PromptExperienceDetailsResult
|
||||||
|
path: /reference/engine/enums/PromptExperienceDetailsResult
|
||||||
|
type: engineapi
|
||||||
|
source: /reference/engine/enums/PromptExperienceDetailsResult.yaml
|
||||||
|
ignoreTranslation: true
|
||||||
- title: PromptPublishAssetResult
|
- title: PromptPublishAssetResult
|
||||||
path: /reference/engine/enums/PromptPublishAssetResult
|
path: /reference/engine/enums/PromptPublishAssetResult
|
||||||
type: engineapi
|
type: engineapi
|
||||||
|
|
|
||||||
|
|
@ -91,6 +91,7 @@ If you wish to upload an accessory using these joints as a UGC item, there are a
|
||||||
- Vertices cannot be partially weighted to these joints. If you want to use them you must skin the vertex to the joint with a weight of `1.0`.
|
- Vertices cannot be partially weighted to these joints. If you want to use them you must skin the vertex to the joint with a weight of `1.0`.
|
||||||
- If these joints are present in the mesh, then the accessory must be set to `WrapLayerAutoSkin.EnabledOverride`.
|
- If these joints are present in the mesh, then the accessory must be set to `WrapLayerAutoSkin.EnabledOverride`.
|
||||||
- Body part meshes containing these joints will be rejected by validation.
|
- Body part meshes containing these joints will be rejected by validation.
|
||||||
|
- Eyebrow and Eyelash accessory types are required to have the special skinning joints and be set to `WrapLayerAutoSkin.EnabledOverride`.
|
||||||
|
|
||||||
### Modify character cages
|
### Modify character cages
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -58,8 +58,8 @@ To create a custom Roblox accessory for your own experience or to sell on the Ma
|
||||||
- [Clothing creation tutorial](../../art/accessories/creating/index.md) - a step-by-step process of creating your own avatar-ready clothing from scratch in Blender.
|
- [Clothing creation tutorial](../../art/accessories/creating/index.md) - a step-by-step process of creating your own avatar-ready clothing from scratch in Blender.
|
||||||
- [Additional tools, resources, and guides](#resources) provided by Roblox to standardize and expedite the creation process.
|
- [Additional tools, resources, and guides](#resources) provided by Roblox to standardize and expedite the creation process.
|
||||||
|
|
||||||
<Alert severity = 'info'>
|
<Alert severity = 'warning'>
|
||||||
If you are a developer and are looking for information on manually equipping or configuring layered clothing accessories within an experience, including implementing layered clothing on a non-standard character model, see [Character appearance](../../characters/appearance.md).
|
If you are a developer and are looking for information on manually equipping or configuring layered clothing accessories within an experience, including [implementing layered clothing on a non-standard character model](../../characters/appearance.md#layered-clothing-on-non-r15), see [Character appearance](../../characters/appearance.md).
|
||||||
</Alert>
|
</Alert>
|
||||||
|
|
||||||
Roblox also supports [classic clothing](#classic-clothing), 2D images that can be applied to your character's surface.
|
Roblox also supports [classic clothing](#classic-clothing), 2D images that can be applied to your character's surface.
|
||||||
|
|
|
||||||
|
|
@ -16,297 +16,557 @@ The references below are not final and are subject to change. We encourage you t
|
||||||
<th style="text-align: center;"><b>Dynamic</b></th>
|
<th style="text-align: center;"><b>Dynamic</b></th>
|
||||||
</tr></thead>
|
</tr></thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr><td>**\$.\$**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Dollar_Dot_Dollar_10831558.png" /></td></tr>
|
<tr><td>**\$.\$**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/DollarDotDollar_10831558.png" /></td></tr>
|
||||||
<tr><td>**-_-**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Dash_Underscore_Dash_15637848.png" /></td></tr>
|
<tr><td>**-_-**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/DashUnderscoreDash_15637848.png" /></td></tr>
|
||||||
<tr><td>**8-Bit Heart Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/8bit_Heart_Face_2568799765.png" /></td></tr>
|
<tr><td>**8-Bit Heart Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/8bitHeartFace_2568799765.png" /></td></tr>
|
||||||
<tr><td>**:-/**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Colon_Dash_Slash_7075469.png" /></td></tr>
|
<tr><td>**:'(**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ColonApostropheCloseParenthesis_15133453.png" /></td></tr>
|
||||||
<tr><td>**:-[**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Colon_Open_Bracket_15470193.png" /></td></tr>
|
<tr><td>**:-/**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ColonDashSlash_7075469.png" /></td></tr>
|
||||||
<tr><td>**:-o**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Colon_Dash_O_7317773.png" /></td></tr>
|
<tr><td>**:-?**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ColonDashQuestionMark_15858152.png" /></td></tr>
|
||||||
<tr><td>**:/**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Colon_Dash_Backslash_15471035.png" /></td></tr>
|
<tr><td>**:-[**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ColonOpenBracket_15470193.png" /></td></tr>
|
||||||
<tr><td>**:3**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/3_15432080.png" /></td></tr>
|
<tr><td>**:-o**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ColonDashO_7317773.png" /></td></tr>
|
||||||
<tr><td>**:]**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Hehe_18151826.png" /></td></tr>
|
<tr><td>**:/**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ColonDashBackslash_15471035.png" /></td></tr>
|
||||||
<tr><td>**:D**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/D1_16132514.png" /></td></tr>
|
<tr><td>**:D**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/D1_16132514.png" /></td></tr>
|
||||||
<tr><td>**:P**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/P_14861743.png" /></td></tr>
|
<tr><td>**:P**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/P_14861743.png" /></td></tr>
|
||||||
<tr><td>**=)**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Equal_Close_Parenthesis_14817393.png" /></td></tr>
|
<tr><td>**=)**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/EqualCloseParenthesis_14817393.png" /></td></tr>
|
||||||
<tr><td>**>:3**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Three_One_15177601.png" /></td></tr>
|
<tr><td>**>_<**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/GreaterThanUnderScoreLessThan_15324577.png" /></td></tr>
|
||||||
<tr><td>**>_<**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Greater_Than_Underscore_Less_Than_15324577.png" /></td></tr>
|
<tr><td>**>_>**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/GreaterThanUnderscoreGreaterThan_16387711.png" /></td></tr>
|
||||||
<tr><td>**^_^**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Caret_Underscore_Caret_15366173.png" /></td></tr>
|
<tr><td>**^_^**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/CaretUnderscoreCaret_15366173.png" /></td></tr>
|
||||||
<tr><td>**Adorable Puppy**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Adorable_Puppy_11389372.png" /></td></tr>
|
<tr><td>**Adorable Puppy**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/AdorablePuppy_11389372.png" /></td></tr>
|
||||||
|
<tr><td>**Adoration**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Adoration_28878297.png" /></td></tr>
|
||||||
|
<tr><td>**Aghast**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Aghast_9250633.png" /></td></tr>
|
||||||
|
<tr><td>**Alexandra Ninniflip - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/AlexandraNinniflipFace_2553655919.png" /></td></tr>
|
||||||
<tr><td>**Alien**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Alien_31317701.png" /></td></tr>
|
<tr><td>**Alien**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Alien_31317701.png" /></td></tr>
|
||||||
<tr><td>**Alien Ambassador**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Alien_Ambassador_11913700.png" /></td></tr>
|
<tr><td>**Alien Ambassador**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/AlienAmbassador_11913700.png" /></td></tr>
|
||||||
<tr><td>**Alright**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Alright_7131541.png" /></td></tr>
|
<tr><td>**Alright**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Alright_7131541.png" /></td></tr>
|
||||||
<tr><td>**Amelia Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Amelia_Face_293302465.png" /></td></tr>
|
<tr><td>**Amelia Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/AmeliaFace_293302465.png" /></td></tr>
|
||||||
<tr><td>**And then we'll take over the world!**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/And_Then_Well_Take_Over_The_World_12732366.png" /></td></tr>
|
<tr><td>**And then we'll take over the world!**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/AndThenWellTakeOverTheWorld_12732366.png" /></td></tr>
|
||||||
<tr><td>**Angry Zombie**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Angry_Zombie_173789114.png" /></td></tr>
|
<tr><td>**Angelic**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Angelic_45084008.png" /></td></tr>
|
||||||
|
<tr><td>**Angry Zombie**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/AngryZombie_173789114.png" /></td></tr>
|
||||||
<tr><td>**Anguished**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Anguished_8560975.png" /></td></tr>
|
<tr><td>**Anguished**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Anguished_8560975.png" /></td></tr>
|
||||||
<tr><td>**Anime Surprise**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Anime_Surprise_416846300.png" /></td></tr>
|
<tr><td>**Anime Surprise**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/AnimeSurprise_416846300.png" /></td></tr>
|
||||||
<tr><td>**Award-Winning Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Award_Winning_Smile_6531983163.png" /></td></tr>
|
<tr><td>**Astral Isle Clan: Windsor the Blue - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/AstralIsleClanWindsorTheBlueFace_2627730985.png" /></td></tr>
|
||||||
<tr><td>**Awesome Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Awesome_Face_30394850.png" /></td></tr>
|
<tr><td>**Atlantean Warrior Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/AtlanteanWarriorFace_3241221587.png" /></td></tr>
|
||||||
<tr><td>**Awkward Eyeroll**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Awkward_Eyeroll_150182378.png" /></td></tr>
|
<tr><td>**Aurora Spark - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/AuroraSparkFace_2979703241.png" /></td></tr>
|
||||||
<tr><td>**Awkward Grin**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Awkward_Grin_150182501.png" /></td></tr>
|
<tr><td>**Awesome Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/AwesomeFace_30394850.png" /></td></tr>
|
||||||
<tr><td>**Awkward....**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Awkward_23932048.png" /></td></tr>
|
<tr><td>**Awkward Eyeroll**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/AwkwardEyeroll_150182378.png" /></td></tr>
|
||||||
<tr><td>**Bad Dog**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Bad_Dog_10678423.png" /></td></tr>
|
<tr><td>**Awkward Grin**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/AwkwardGrin_150182501.png" /></td></tr>
|
||||||
<tr><td>**Beaming with Pride**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Beaming_With_Pride_3267567501.png" /></td></tr>
|
<tr><td>**Bad Dog**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/BadDog_10678423.png" /></td></tr>
|
||||||
<tr><td>**Beast Mode**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Beast_Mode_128992838.png" /></td></tr>
|
<tr><td>**Bad News Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/BadNewsFace_268603331.png" /></td></tr>
|
||||||
<tr><td>**Big Grin - Tai Verdes**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Big_Grin_Tai_Verdes_7987180607.png" /></td></tr>
|
<tr><td>**Bakonette**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Bakonette_7243836687.png" /></td></tr>
|
||||||
<tr><td>**Big Sad Eyes**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Big_Sad_Eyes_391496223.png" /></td></tr>
|
<tr><td>**Ballerina Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/BallerinaFace_2571850406.png" /></td></tr>
|
||||||
|
<tr><td>**Bandage**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Bandage_20418682.png" /></td></tr>
|
||||||
|
<tr><td>**Battle Ready Kenji Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/BattleReadyKenjiFace_3116216863.png" /></td></tr>
|
||||||
|
<tr><td>**Beast Mode**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/BeastMode_128992838.png" /></td></tr>
|
||||||
|
<tr><td>**Beekeeper - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/BeekeeperFace_2553407112.png" /></td></tr>
|
||||||
|
<tr><td>**Beekeeper - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/FestiveBeekeeperFace_2553407112.png" /></td></tr>
|
||||||
|
<tr><td>**Big Grin - Tai Verdes**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/BigGrinTaiVerdes_7987180607.png" /></td></tr>
|
||||||
|
<tr><td>**Big Sad Eyes**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/BigSadEyes_391496223.png" /></td></tr>
|
||||||
|
<tr><td>**Biohazard First Responder - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/BiohazardFirstResponderFace_4927805902.png" /></td></tr>
|
||||||
|
<tr><td>**Bird of Prey**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/BirdOfPrey_10907547.png" /></td></tr>
|
||||||
<tr><td>**BiteyMcFace**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Biteymcface_743690770.png" /></td></tr>
|
<tr><td>**BiteyMcFace**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Biteymcface_743690770.png" /></td></tr>
|
||||||
<tr><td>**Blerg!**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Blerg_12777646.png" /></td></tr>
|
<tr><td>**Blerg!**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Blerg_12777646.png" /></td></tr>
|
||||||
|
<tr><td>**Bling**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Bling_25975243.png" /></td></tr>
|
||||||
<tr><td>**Blinky**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Blinky_7506135.png" /></td></tr>
|
<tr><td>**Blinky**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Blinky_7506135.png" /></td></tr>
|
||||||
<tr><td>**Blizzard Beast Mode**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Blizzard_Beast_Mode_209995252.png" /></td></tr>
|
<tr><td>**Blizzard Beast Mode**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/BlizzardBeastMode_209995252.png" /></td></tr>
|
||||||
<tr><td>**Blue Amazeface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Blue_Amazeface_835095003.png" /></td></tr>
|
<tr><td>**Blue Amazeface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/BlueAmazeface_835095003.png" /></td></tr>
|
||||||
<tr><td>**Blue Bubble Trouble**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Blue_Bubble_Trouble_330296924.png" /></td></tr>
|
<tr><td>**Blue Bubble Trouble**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/BlueBubbleTrouble_330296924.png" /></td></tr>
|
||||||
<tr><td>**Blue Goof**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Blue_Goof_1191162013.png" /></td></tr>
|
<tr><td>**Blue Eyeroll**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/BlueEyeroll_323191979.png" /></td></tr>
|
||||||
<tr><td>**Blue Rock Star Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Blue_Rock_Star_Smile_1428409936.png" /></td></tr>
|
<tr><td>**Blue Galaxy Gaze**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/BlueGalaxyGaze_440739518.png" /></td></tr>
|
||||||
<tr><td>**Blue Starface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Blue_Starface_119812715.png" /></td></tr>
|
<tr><td>**Blue Goof**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/BlueGoof_1191162013.png" /></td></tr>
|
||||||
<tr><td>**Blue Starry Sight**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Blue_Starry_Sight_2222775067.png" /></td></tr>
|
<tr><td>**Blue Moonstruck**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/BlueMoonstruck_878941449.png" /></td></tr>
|
||||||
<tr><td>**Blue Ultimate Dragon Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Blue_Ultimate_Dragon_Face_1772529256.png" /></td></tr>
|
<tr><td>**Blue Rock Star Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/BlueRockStarSmile_1428409936.png" /></td></tr>
|
||||||
|
<tr><td>**Blue Starface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/BlueStarface_119812715.png" /></td></tr>
|
||||||
|
<tr><td>**Blue Starry Sight**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/BlueStarrySight_2222775067.png" /></td></tr>
|
||||||
|
<tr><td>**Blue Trance**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/BlueTrance_244160970.png" /></td></tr>
|
||||||
|
<tr><td>**Blue Ultimate Dragon Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/BlueUltimateDragonFace_1772529256.png" /></td></tr>
|
||||||
|
<tr><td>**Blue Wistful Wink**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/BlueWistfulWink_583721561.png" /></td></tr>
|
||||||
|
<tr><td>**Blue-eyed Awesome Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/BlueeyedAwesomeFace_386188363.png" /></td></tr>
|
||||||
<tr><td>**Bluffing**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Bluffing_147144673.png" /></td></tr>
|
<tr><td>**Bluffing**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Bluffing_147144673.png" /></td></tr>
|
||||||
<tr><td>**Bombo Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Bombo_Face_121947053.png" /></td></tr>
|
|
||||||
<tr><td>**Bored**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Bored_66330106.png" /></td></tr>
|
<tr><td>**Bored**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Bored_66330106.png" /></td></tr>
|
||||||
<tr><td>**Braces**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Braces_30394484.png" /></td></tr>
|
<tr><td>**Braces**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Braces_30394484.png" /></td></tr>
|
||||||
<tr><td>**Bubble Trouble**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Bubble_Trouble_19264845.png" /></td></tr>
|
<tr><td>**Bubble Trouble**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/BubbleTrouble_19264845.png" /></td></tr>
|
||||||
<tr><td>**Butterfly Wink - Lil Nas X (LNX)**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Butterfly_Wink_Lil_Nas_XLNX_7657646351.png" /></td></tr>
|
<tr><td>**Butterfly**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Butterfly_24727929.png" /></td></tr>
|
||||||
<tr><td>**Cat Eye - Zara Larsson**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Cat_Eye_Zara_Larsson_7893455671.png" /></td></tr>
|
<tr><td>**C.Y.N.D.I - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/CyndiFace_2535415411.png" /></td></tr>
|
||||||
<tr><td>**Check It**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Check_It_7074786.png" /></td></tr>
|
<tr><td>**Camoface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Camoface_24441888.png" /></td></tr>
|
||||||
<tr><td>**Cheerful Grin**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Cheerful_Grin_33321848.png" /></td></tr>
|
<tr><td>**Casey's Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/CaseysFace_301827157.png" /></td></tr>
|
||||||
<tr><td>**Cheerful Hello**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Cheerful_Hello_362051644.png" /></td></tr>
|
<tr><td>**Cat Eye - Zara Larsson**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/CatEyeZaraLarsson_7893455671.png" /></td></tr>
|
||||||
|
<tr><td>**Catching Snowflakes**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/CatchingSnowflakes_1213472762.png" /></td></tr>
|
||||||
|
<tr><td>**Champion Of The Tide Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ChampionOfTheTideFace_3381167752.png" /></td></tr>
|
||||||
|
<tr><td>**Cheerful Grin**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/CheerfulGrin_33321848.png" /></td></tr>
|
||||||
|
<tr><td>**Cheerful Hello**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/CheerfulHello_362051644.png" /></td></tr>
|
||||||
|
<tr><td>**Chester Finkleton - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ChesterFinkletonFace_2648884861.png" /></td></tr>
|
||||||
|
<tr><td>**Chichiri the Wise Youkai Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ChichiriTheWiseYoukaiFace_3210252812.png" /></td></tr>
|
||||||
<tr><td>**Chill**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Chill_7074764.png" /></td></tr>
|
<tr><td>**Chill**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Chill_7074764.png" /></td></tr>
|
||||||
<tr><td>**Chill McCool**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Chill_Mccool_376813144.png" /></td></tr>
|
<tr><td>**Chill McCool**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ChillMccool_376813144.png" /></td></tr>
|
||||||
|
<tr><td>**Chippy McTooth**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ChippyMctooth_7317769.png" /></td></tr>
|
||||||
<tr><td>**Chubs**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Chubs_7076110.png" /></td></tr>
|
<tr><td>**Chubs**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Chubs_7076110.png" /></td></tr>
|
||||||
<tr><td>**City Life Man - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/City_Life_Man_Face_2490662812.png" /></td></tr>
|
<tr><td>**City Life Man - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/CityLifeManFace_2490662812.png" /></td></tr>
|
||||||
<tr><td>**City Life Woman - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/City_Life_Woman_Face_2492678267.png" /></td></tr>
|
<tr><td>**City Life Woman - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/CityLifeWomanFace_2492678267.png" /></td></tr>
|
||||||
<tr><td>**Claire's Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Claires_Face_301827089.png" /></td></tr>
|
<tr><td>**Claire's Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ClairesFace_301827089.png" /></td></tr>
|
||||||
<tr><td>**Classic Alien Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Classic_Alien_Face_159199178.png" /></td></tr>
|
<tr><td>**Classic Alien Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ClassicAlienFace_159199178.png" /></td></tr>
|
||||||
<tr><td>**Classic Female - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Classic_Female_Face_4018627046.png" /></td></tr>
|
<tr><td>**Classic Female - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ClassicFemaleFace_4018627046.png" /></td></tr>
|
||||||
<tr><td>**Classic Female v2 - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Classic_Female_V2_Face_4637266368.png" /></td></tr>
|
<tr><td>**Classic Female v2 - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ClassicFemaleV2Face_4637266368.png" /></td></tr>
|
||||||
<tr><td>**Classic Goof**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Classic_Goof_7074661.png" /></td></tr>
|
<tr><td>**Classic Goof**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ClassicGoof_7074661.png" /></td></tr>
|
||||||
<tr><td>**Classic Male - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Classic_Male_Face_4018617474.png" /></td></tr>
|
<tr><td>**Classic Male - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ClassicMaleFace_4018617474.png" /></td></tr>
|
||||||
<tr><td>**Classic Male v2 - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Classic_Male_V2_Face_4637244809.png" /></td></tr>
|
<tr><td>**Classic Vampire**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ClassicVampire_7074836.png" /></td></tr>
|
||||||
<tr><td>**Classic Vampire**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Classic_Vampire_7074836.png" /></td></tr>
|
<tr><td>**Clown Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ClownFace_23644960.png" /></td></tr>
|
||||||
|
<tr><td>**Clown School Dropout**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ClownSchoolDropout_21392863.png" /></td></tr>
|
||||||
<tr><td>**Commando**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Commando_10527010.png" /></td></tr>
|
<tr><td>**Commando**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Commando_10527010.png" /></td></tr>
|
||||||
<tr><td>**Concerned**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Concerned_9250660.png" /></td></tr>
|
<tr><td>**Concerned**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Concerned_9250660.png" /></td></tr>
|
||||||
<tr><td>**Crazy Happy**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Crazy_Happy_45515121.png" /></td></tr>
|
<tr><td>**Country Morning**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/CountryMorning_51241522.png" /></td></tr>
|
||||||
|
<tr><td>**Crank and Zap Mech - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/CrankAndZapMechFace_5885801791.png" /></td></tr>
|
||||||
|
<tr><td>**Crazy Abstract Artist**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/CrazyAbstractArtist_10907546.png" /></td></tr>
|
||||||
|
<tr><td>**Crazy Happy**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/CrazyHappy_45515121.png" /></td></tr>
|
||||||
<tr><td>**Crazybot 10000**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Crazybot10000_554650579.png" /></td></tr>
|
<tr><td>**Crazybot 10000**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Crazybot10000_554650579.png" /></td></tr>
|
||||||
<tr><td>**Crimson Evil Eye**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Crimson_Evil_Eye_1016184756.png" /></td></tr>
|
<tr><td>**Crimson Evil Eye**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/CrimsonEvilEye_1016184756.png" /></td></tr>
|
||||||
|
<tr><td>**Crimson Laser Vision**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/CrimsonLaserVision_45514606.png" /></td></tr>
|
||||||
|
<tr><td>**Crimson Starface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/CrimsonStarface_162200633.png" /></td></tr>
|
||||||
|
<tr><td>**Crybaby**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Crybaby_2620506513.png" /></td></tr>
|
||||||
<tr><td>**Cuckookrazybot 10000**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Cuckookrazybot10000_554663025.png" /></td></tr>
|
<tr><td>**Cuckookrazybot 10000**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Cuckookrazybot10000_554663025.png" /></td></tr>
|
||||||
<tr><td>**Cute Kitty**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Cute_Kitty_11389441.png" /></td></tr>
|
<tr><td>**Cute Kitty**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/CuteKitty_11389441.png" /></td></tr>
|
||||||
<tr><td>**Cutiemouse**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Cutiemouse_15885121.png" /></td></tr>
|
<tr><td>**Cutiemouse**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Cutiemouse_15885121.png" /></td></tr>
|
||||||
|
<tr><td>**Cyanskeleface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Cyanskeleface_2845815452.png" /></td></tr>
|
||||||
<tr><td>**D:**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/D_14812981.png" /></td></tr>
|
<tr><td>**D:**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/D_14812981.png" /></td></tr>
|
||||||
<tr><td>**D=**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Dequal_17138027.png" /></td></tr>
|
<tr><td>**D=**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Dequal_17138027.png" /></td></tr>
|
||||||
<tr><td>**Daring**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Daring_8329690.png" /></td></tr>
|
<tr><td>**Daring**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Daring_8329690.png" /></td></tr>
|
||||||
<tr><td>**Daring Beard**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Daring_Beard_110288809.png" /></td></tr>
|
<tr><td>**Daring Beard**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/DaringBeard_110288809.png" /></td></tr>
|
||||||
<tr><td>**Demented Mouse**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Demented_Mouse_12188176.png" /></td></tr>
|
<tr><td>**Daring Blonde Beard Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/DaringBlondeBeardFace_323191430.png" /></td></tr>
|
||||||
<tr><td>**Desert Commando**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Desert_Commando_323191683.png" /></td></tr>
|
<tr><td>**Dark Age Apprentice - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/DarkAgeApprenticeFace_2510119972.png" /></td></tr>
|
||||||
<tr><td>**Devil Nas X - Lil Nas X (LNX)**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Devil_Nas_X_Lil_Nas_XLNX_7657657626.png" /></td></tr>
|
<tr><td>**Daydreaming**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Daydreaming_29296146.png" /></td></tr>
|
||||||
<tr><td>**Devilish Smile - 24kGoldn**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Devilish_Smile24k_Goldn_9156271739.png" /></td></tr>
|
<tr><td>**DDotty Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/DdottySmile_667681953.png" /></td></tr>
|
||||||
<tr><td>**Dex's Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Dexs_Face_807335973.png" /></td></tr>
|
<tr><td>**Death's Grin**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/DeathsGrin_880471415.png" /></td></tr>
|
||||||
<tr><td>**Diamond Grill - Lil Nas X (LNX)**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Diamond_Grill_Lil_Nas_XLNX_7657627637.png" /></td></tr>
|
<tr><td>**Demented Mouse**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/DementedMouse_12188176.png" /></td></tr>
|
||||||
|
<tr><td>**Desert Commando**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/DesertCommando_323191683.png" /></td></tr>
|
||||||
|
<tr><td>**Devil Nas X - Lil Nas X (LNX)**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/DevilNasXLilNasXLNX_7657657626.png" /></td></tr>
|
||||||
|
<tr><td>**Devilish Smile - 24kGoldn**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/DevilishSmile24kGoldn_9156271739.png" /></td></tr>
|
||||||
|
<tr><td>**Dex's Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/DexsFace_807335973.png" /></td></tr>
|
||||||
|
<tr><td>**Diamond Grill - Lil Nas X (LNX)**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/DiamondGrillLilNasXLNX_7657627637.png" /></td></tr>
|
||||||
|
<tr><td>**Digital Artist - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/DigitalArtistFace_2936946480.png" /></td></tr>
|
||||||
|
<tr><td>**Digital Artist - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/DigitalShockArtistFace_2936946480.png" /></td></tr>
|
||||||
|
<tr><td>**Disapproving Unibrow**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/DisapprovingUnibrow_66330360.png" /></td></tr>
|
||||||
<tr><td>**Disbelief**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Disbelief_20337343.png" /></td></tr>
|
<tr><td>**Disbelief**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Disbelief_20337343.png" /></td></tr>
|
||||||
<tr><td>**Dizzy Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Dizzy_Face_10907551.png" /></td></tr>
|
<tr><td>**Disbelief Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/DisbeliefFace_34186804.png" /></td></tr>
|
||||||
|
<tr><td>**Distaught Alien Invader**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/DistaughtAlienInvader_11913668.png" /></td></tr>
|
||||||
|
<tr><td>**DIY Cardboard Knight - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/DiyCardboardKnightFace_2517411290.png" /></td></tr>
|
||||||
|
<tr><td>**Dizzy Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/DizzyFace_10907551.png" /></td></tr>
|
||||||
|
<tr><td>**DJ Databaze - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/DjDatabazeFace_3091071034.png" /></td></tr>
|
||||||
|
<tr><td>**Domino Deckard - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/DominoDeckardFace_6653133806.png" /></td></tr>
|
||||||
|
<tr><td>**Don't Wake Me Up**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/DontWakeMeUp_343619993.png" /></td></tr>
|
||||||
<tr><td>**Downcast**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Downcast_21352013.png" /></td></tr>
|
<tr><td>**Downcast**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Downcast_21352013.png" /></td></tr>
|
||||||
<tr><td>**Drill Sergeant**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Drill_Sergeant_141728899.png" /></td></tr>
|
<tr><td>**Dr. Bunton Madmind - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/DrBuntonMadmindFace_2807218396.png" /></td></tr>
|
||||||
<tr><td>**Drool**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Drool_7074893.png" /></td></tr>
|
<tr><td>**Dr. Fia Tyfoid - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Dr.FiaTyfoidFace_3410486318.png" /></td></tr>
|
||||||
<tr><td>**Drooling Noob**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Drooling_Noob_24067718.png" /></td></tr>
|
<tr><td>**Dr. Lauren, Artifact Excavator - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/DrLaurenArtifactExcavatorFace_2510140104.png" /></td></tr>
|
||||||
<tr><td>**Emerald Evil Eye**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Emerald_Evil_Eye_1016185535.png" /></td></tr>
|
<tr><td>**Dragonface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Dragonface_12908359.png" /></td></tr>
|
||||||
|
<tr><td>**Drill Sergeant**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/DrillSergeant_141728899.png" /></td></tr>
|
||||||
|
<tr><td>**Drooling Noob**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/DroolingNoob_24067718.png" /></td></tr>
|
||||||
|
<tr><td>**Druid of the Stag Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/DruidOfTheStagFace_3131093524.png" /></td></tr>
|
||||||
|
<tr><td>**Egg Crazed**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/EggCrazed_233616117.png" /></td></tr>
|
||||||
|
<tr><td>**Egg on your Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/EggOnYourFace_110207471.png" /></td></tr>
|
||||||
|
<tr><td>**Eita the Envious Youkai Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/EitaTheEnviousYoukaiFace_3210252000.png" /></td></tr>
|
||||||
|
<tr><td>**Elegant Evening Dress - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ElegantEveningDressFace_4916129740.png" /></td></tr>
|
||||||
|
<tr><td>**Elf Guardian of the Northern Border - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ElfGuardianOfTheNorthernBorderFace_2510329394.png" /></td></tr>
|
||||||
|
<tr><td>**Embarrassed**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Embarrassed_21272995.png" /></td></tr>
|
||||||
|
<tr><td>**Emerald Ambassador**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/EmeraldAmbassador_66330060.png" /></td></tr>
|
||||||
|
<tr><td>**Emerald Archfey Visage**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/EmeraldArchfeyVisage_2830499980.png" /></td></tr>
|
||||||
|
<tr><td>**Emerald Evil Eye**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/EmeraldEvilEye_1016185535.png" /></td></tr>
|
||||||
|
<tr><td>**Emerald Laser Vision**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/EmeraldLaserVision_66330165.png" /></td></tr>
|
||||||
|
<tr><td>**Emotionally Distressed Zombie**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/EmotionallyDistressedZombie_7506136.png" /></td></tr>
|
||||||
|
<tr><td>**Emperor**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Emperor_25267538.png" /></td></tr>
|
||||||
|
<tr><td>**Epic Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/EpicFace_42070576.png" /></td></tr>
|
||||||
|
<tr><td>**Epic Vampire Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/EpicVampireFace_181651981.png" /></td></tr>
|
||||||
|
<tr><td>**Erisyphia - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ErisyphiaFace_3141356565.png" /></td></tr>
|
||||||
<tr><td>**Err...**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Err_20418658.png" /></td></tr>
|
<tr><td>**Err...**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Err_20418658.png" /></td></tr>
|
||||||
<tr><td>**Exclamation Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Exclamation_Face_35168581.png" /></td></tr>
|
<tr><td>**Evil Skeptic**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/EvilSkeptic_110336757.png" /></td></tr>
|
||||||
|
<tr><td>**Exclamation Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ExclamationFace_35168581.png" /></td></tr>
|
||||||
|
<tr><td>**Existential Angst**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ExistentialAngst_7074814.png" /></td></tr>
|
||||||
<tr><td>**eXtreme**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Extreme_10831454.png" /></td></tr>
|
<tr><td>**eXtreme**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Extreme_10831454.png" /></td></tr>
|
||||||
<tr><td>**Eyes of Everflame**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Eyes_Of_Everflame_362051773.png" /></td></tr>
|
<tr><td>**Eyes of Everflame**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/EyesOfEverflame_362051773.png" /></td></tr>
|
||||||
<tr><td>**Eyes of Everfrost**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Eyes_Of_Everfrost_22972723.png" /></td></tr>
|
<tr><td>**Eyes of Everfrost**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/EyesOfEverfrost_22972723.png" /></td></tr>
|
||||||
|
<tr><td>**Ezebel Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/EzebelFace_293303927.png" /></td></tr>
|
||||||
|
<tr><td>**Facepalm**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Facepalm_30394594.png" /></td></tr>
|
||||||
|
<tr><td>**Fanciful Leprechaun Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/FancifulLeprechaunFace_2907641479.png" /></td></tr>
|
||||||
<tr><td>**Fang**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Fang_7075142.png" /></td></tr>
|
<tr><td>**Fang**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Fang_7075142.png" /></td></tr>
|
||||||
<tr><td>**Fast Car**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Fast_Car_22587894.png" /></td></tr>
|
<tr><td>**Fashion Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/FashionFace_2274764091.png" /></td></tr>
|
||||||
|
<tr><td>**Fast Car**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/FastCar_22587894.png" /></td></tr>
|
||||||
|
<tr><td>**Fawkes Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/FawkesFace_134522901.png" /></td></tr>
|
||||||
<tr><td>**Fearless**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Fearless_7074991.png" /></td></tr>
|
<tr><td>**Fearless**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Fearless_7074991.png" /></td></tr>
|
||||||
<tr><td>**Finn McCool**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Finn_Mc_Cool_10907549.png" /></td></tr>
|
<tr><td>**Finn McCool**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/FinnMcCool_10907549.png" /></td></tr>
|
||||||
|
<tr><td>**Football Player - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/FootballPlayerFace_2773409880.png" /></td></tr>
|
||||||
|
<tr><td>**Freckled Cheeks**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/FreckledCheeks_25556219.png" /></td></tr>
|
||||||
<tr><td>**Freckles**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Freckles_12145366.png" /></td></tr>
|
<tr><td>**Freckles**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Freckles_12145366.png" /></td></tr>
|
||||||
<tr><td>**Friendly Cyclops**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Friendly_Cyclops_30394438.png" /></td></tr>
|
<tr><td>**Friendly Cyclops**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/FriendlyCyclops_30394438.png" /></td></tr>
|
||||||
<tr><td>**Friendly Grin**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Friendly_Grin_25321961.png" /></td></tr>
|
<tr><td>**Friendly Grin**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/FriendlyGrin_25321961.png" /></td></tr>
|
||||||
<tr><td>**Friendly Pirate**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Friendly_Pirate_19366445.png" /></td></tr>
|
<tr><td>**Friendly Pirate**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/FriendlyPirate_19366445.png" /></td></tr>
|
||||||
<tr><td>**Friendly Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Friendly_Smile_616381207.png" /></td></tr>
|
<tr><td>**Friendly Puppy**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/FriendlyPuppy_27725434.png" /></td></tr>
|
||||||
|
<tr><td>**Friendly Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/FriendlySmile_616381207.png" /></td></tr>
|
||||||
|
<tr><td>**Friendly Trusting Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/FriendlyTrustingSmile_402304145.png" /></td></tr>
|
||||||
|
<tr><td>**Frightening Unibrow**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/FrighteningUnibrow_8560985.png" /></td></tr>
|
||||||
|
<tr><td>**Frightful**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Frightful_7699193.png" /></td></tr>
|
||||||
|
<tr><td>**Furious Finn Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/FuriousFinnFace_295492723.png" /></td></tr>
|
||||||
|
<tr><td>**Furious George**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/FuriousGeorge_277950647.png" /></td></tr>
|
||||||
|
<tr><td>**Futureglam Bounty Hunter Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/FutureglamBountyHunterFace_3013806177.png" /></td></tr>
|
||||||
|
<tr><td>**Genni the Snail Knight-Errant - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/GenniTheSnailKnighterrantFace_2628039027.png" /></td></tr>
|
||||||
<tr><td>**Ghostface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Ghostface_12467159.png" /></td></tr>
|
<tr><td>**Ghostface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Ghostface_12467159.png" /></td></tr>
|
||||||
<tr><td>**Gigglypuff**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Gigglypuff_35397243.png" /></td></tr>
|
<tr><td>**Gigglypuff**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Gigglypuff_35397243.png" /></td></tr>
|
||||||
<tr><td>**Glee**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Glee_7074729.png" /></td></tr>
|
<tr><td>**Glee**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Glee_7074729.png" /></td></tr>
|
||||||
<tr><td>**Glittering Eye - Zara Larsson**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Glittering_Eye_Zara_Larsson_7893460486.png" /></td></tr>
|
<tr><td>**Glided Diver - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/FearlessOceanDiverFace_5238862364.png" /></td></tr>
|
||||||
<tr><td>**Glory on the Gridiron**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Glory_On_The_Gridiron_21802396.png" /></td></tr>
|
<tr><td>**Glided Diver - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/GlidedDiverFace_5238862364.png" /></td></tr>
|
||||||
<tr><td>**Gold Mermaid Visage**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Gold_Mermaid_Visage_5122245866.png" /></td></tr>
|
<tr><td>**Glory on the Gridiron**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/GloryOnTheGridiron_21802396.png" /></td></tr>
|
||||||
<tr><td>**Golden Evil Eye**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Golden_Evil_Eye_1016185809.png" /></td></tr>
|
<tr><td>**Golden Bling Braces**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/GoldenBlingBraces_1191136166.png" /></td></tr>
|
||||||
<tr><td>**Golden Eyes - 24kGoldn**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Golden_Eyes24k_Goldn_9156275069.png" /></td></tr>
|
<tr><td>**Golden Evil Eye**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/GoldenEvilEye_1016185809.png" /></td></tr>
|
||||||
<tr><td>**Golden Shiny Teeth**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Golden_Shiny_Teeth_66319941.png" /></td></tr>
|
<tr><td>**Golden Eyes - 24kGoldn**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/GoldenEyes24kGoldn_9156275069.png" /></td></tr>
|
||||||
<tr><td>**Good Intentioned**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Good_Intentioned_7317793.png" /></td></tr>
|
<tr><td>**Golden Lightning Speaker**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/GoldenLightningSpeaker_66330231.png" /></td></tr>
|
||||||
|
<tr><td>**Golden Shiny Teeth**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/GoldenShinyTeeth_66319941.png" /></td></tr>
|
||||||
|
<tr><td>**Good Intentioned**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/GoodIntentioned_7317793.png" /></td></tr>
|
||||||
<tr><td>**Goofball**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Goofball_27134344.png" /></td></tr>
|
<tr><td>**Goofball**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Goofball_27134344.png" /></td></tr>
|
||||||
<tr><td>**Green Amazeface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Green_Amazeface_835094544.png" /></td></tr>
|
<tr><td>**Grandma's Lipstick**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/GrandmasLipstick_51241480.png" /></td></tr>
|
||||||
<tr><td>**Green Bubble Trouble**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Green_Bubble_Trouble_380754227.png" /></td></tr>
|
<tr><td>**Green Amazeface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/GreenAmazeface_835094544.png" /></td></tr>
|
||||||
<tr><td>**Green Goof**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Green_Goof_1191162539.png" /></td></tr>
|
<tr><td>**Green Bubble Trouble**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/GreenBubbleTrouble_380754227.png" /></td></tr>
|
||||||
<tr><td>**Green Starface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Green_Starface_119812738.png" /></td></tr>
|
<tr><td>**Green Drool Angry Zombie**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/GreenDroolAngryZombie_406001532.png" /></td></tr>
|
||||||
<tr><td>**Green Starry Sight**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Green_Starry_Sight_2222774106.png" /></td></tr>
|
<tr><td>**Green Galaxy Gaze**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/GreenGalaxyGaze_440739783.png" /></td></tr>
|
||||||
<tr><td>**Green Trance**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Green_Trance_260303894.png" /></td></tr>
|
<tr><td>**Green Glowing Eyes**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/GreenGlowingEyes_398676450.png" /></td></tr>
|
||||||
<tr><td>**Green Ultimate Dragon Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Green_Ultimate_Dragon_Face_1772531407.png" /></td></tr>
|
<tr><td>**Green Goof**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/GreenGoof_1191162539.png" /></td></tr>
|
||||||
<tr><td>**Green Wistful Wink**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Green_Wistful_Wink_583722932.png" /></td></tr>
|
<tr><td>**Green Starface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/GreenStarface_119812738.png" /></td></tr>
|
||||||
<tr><td>**Green-eyed Awesome Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Greeneyed_Awesome_Face_66330144.png" /></td></tr>
|
<tr><td>**Green Super Happy Joy**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/GreenSuperHappyJoy_323191596.png" /></td></tr>
|
||||||
<tr><td>**Gritty Bombo**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Gritty_Bombo_406000562.png" /></td></tr>
|
<tr><td>**Green Trance**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/GreenTrance_260303894.png" /></td></tr>
|
||||||
<tr><td>**Grr!**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Grr_19398554.png" /></td></tr>
|
<tr><td>**Green Ultimate Dragon Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/GreenUltimateDragonFace_1772531407.png" /></td></tr>
|
||||||
<tr><td>**Happy :D**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Happy_D_406000730.png" /></td></tr>
|
<tr><td>**Green Whatchoo Talkin' Bout**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/GreenWhatchooTalkinBout_323191787.png" /></td></tr>
|
||||||
<tr><td>**Happy Girl Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Happy_Girl_Face_293226229.png" /></td></tr>
|
<tr><td>**Green Wistful Wink**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/GreenWistfulWink_583722932.png" /></td></tr>
|
||||||
<tr><td>**Happy Wink**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Happy_Wink_236399287.png" /></td></tr>
|
<tr><td>**Green-eyed Awesome Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/GreeneyedAwesomeFace_66330144.png" /></td></tr>
|
||||||
|
<tr><td>**Gritty Bombo**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/GrittyBombo_406000562.png" /></td></tr>
|
||||||
|
<tr><td>**Grumpy Blox**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/GrumpyBlox_173789498.png" /></td></tr>
|
||||||
|
<tr><td>**Gwen "Axe Angel" Rosewood - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/GwenAxeAngelRosewoodFace_2859557339.png" /></td></tr>
|
||||||
|
<tr><td>**Happy Girl Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/HappyGirlFace_293226229.png" /></td></tr>
|
||||||
|
<tr><td>**Happy Wink**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/HappyWink_236399287.png" /></td></tr>
|
||||||
|
<tr><td>**Heart Gaze - Zara Larsson**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/HeartGazeZaraLarsson_7893468574.png" /></td></tr>
|
||||||
<tr><td>**Heeeeeey...**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Heeeeeey_21635565.png" /></td></tr>
|
<tr><td>**Heeeeeey...**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Heeeeeey_21635565.png" /></td></tr>
|
||||||
<tr><td>**Hilarious**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Hilarious_27861352.png" /></td></tr>
|
<tr><td>**Hilarious**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Hilarious_27861352.png" /></td></tr>
|
||||||
<tr><td>**Hmmm...**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Hmmm_7076076.png" /></td></tr>
|
<tr><td>**Hmmm...**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Hmmm_7076076.png" /></td></tr>
|
||||||
<tr><td>**Hold It In**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Hold_It_In_2222771916.png" /></td></tr>
|
<tr><td>**Hockey Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/HockeyFace_142464206.png" /></td></tr>
|
||||||
|
<tr><td>**Hold It In**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/HoldItIn_2222771916.png" /></td></tr>
|
||||||
<tr><td>**Huh?**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Huh_150182466.png" /></td></tr>
|
<tr><td>**Huh?**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Huh_150182466.png" /></td></tr>
|
||||||
<tr><td>**Hut Hut Hike!**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Hut_Hut_Hike_15470849.png" /></td></tr>
|
<tr><td>**Hut Hut Hike!**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/HutHutHike_15470849.png" /></td></tr>
|
||||||
<tr><td>**Hypnoface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Hypnoface_10770436.png" /></td></tr>
|
<tr><td>**Hypnoface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Hypnoface_10770436.png" /></td></tr>
|
||||||
<tr><td>**I <3 New Site Theme**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/I3_New_Site_Theme_32723404.png" /></td></tr>
|
<tr><td>**I <3 New Site Theme**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/I3NewSiteTheme_32723404.png" /></td></tr>
|
||||||
<tr><td>**I Am Not Amused**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/I_Am_Not_Amused_7131886.png" /></td></tr>
|
<tr><td>**I Am Not Amused**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/IAmNotAmused_7131886.png" /></td></tr>
|
||||||
<tr><td>**I Didn't Eat That Cookie**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/I_Didnt_Eat_That_Cookie_116042990.png" /></td></tr>
|
<tr><td>**I Didn't Eat That Cookie**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/IDidntEatThatCookie_116042990.png" /></td></tr>
|
||||||
<tr><td>**I Hate Noobs**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/I_Hate_Noobs_14030577.png" /></td></tr>
|
<tr><td>**I Hate Noobs**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/IHateNoobs_14030577.png" /></td></tr>
|
||||||
<tr><td>**I wuv u**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/I_Wuv_U_10907545.png" /></td></tr>
|
<tr><td>**I Lack Personal Confidence**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ILackPersonalConfidence_7506144.png" /></td></tr>
|
||||||
<tr><td>**It's Go Time!**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Its_Go_Time_7506141.png" /></td></tr>
|
<tr><td>**I wuv u**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/IWuvU_10907545.png" /></td></tr>
|
||||||
<tr><td>**Jack Frost Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Jack_Frost_Face_19396123.png" /></td></tr>
|
<tr><td>**iFace**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Iface_100290429.png" /></td></tr>
|
||||||
<tr><td>**Joyful Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Joyful_Smile_209995366.png" /></td></tr>
|
<tr><td>**ILOVEFOOTBOLL!**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Ilovefootboll_15470861.png" /></td></tr>
|
||||||
<tr><td>**Joyous Surprise**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Joyous_Surprise_28999228.png" /></td></tr>
|
<tr><td>**Imagine**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Imagine_30394316.png" /></td></tr>
|
||||||
<tr><td>**Just Trouble**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Just_Trouble_244160766.png" /></td></tr>
|
<tr><td>**Isabella**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Isabella_7243933492.png" /></td></tr>
|
||||||
<tr><td>**Know-It-All Grin**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Knowitall_Grin_26424808.png" /></td></tr>
|
<tr><td>**It's Go Time!**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ItsGoTime_7506141.png" /></td></tr>
|
||||||
<tr><td>**Krezak - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Krezak_Face_293309580.png" /></td></tr>
|
<tr><td>**It's so beautiful!**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ItsSoBeautiful_26674400.png" /></td></tr>
|
||||||
<tr><td>**Lady Lashes**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Lady_Lashes_29348122.png" /></td></tr>
|
<tr><td>**Jack Frost Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/JackFrostFace_19396123.png" /></td></tr>
|
||||||
<tr><td>**Laughing Fun**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Laughing_Fun_226217449.png" /></td></tr>
|
<tr><td>**Jacob: The Storm Breaker Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/JacobTheStormBreakerFace_599913343.png" /></td></tr>
|
||||||
<tr><td>**Lavender Amazeface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Lavender_Amazeface_835095306.png" /></td></tr>
|
<tr><td>**Jester Equinox - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/JesterEquinoxFace_2962660233.png" /></td></tr>
|
||||||
<tr><td>**Lazy Eye**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Lazy_Eye_7075502.png" /></td></tr>
|
<tr><td>**John's Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/JohnsFace_301827199.png" /></td></tr>
|
||||||
<tr><td>**Lightning Speaker**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Lightning_Speaker_22588801.png" /></td></tr>
|
<tr><td>**Joyful Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/JoyfulSmile_209995366.png" /></td></tr>
|
||||||
<tr><td>**Lin's Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Lins_Face_301826803.png" /></td></tr>
|
<tr><td>**Joyous Surprise**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/JoyousSurprise_28999228.png" /></td></tr>
|
||||||
<tr><td>**Look At My Nose**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Look_At_My_Nose_23311761.png" /></td></tr>
|
<tr><td>**Jungle Commando**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/JungleCommando_16678138.png" /></td></tr>
|
||||||
<tr><td>**Love**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/love_11611321.png" /></td></tr>
|
<tr><td>**Just Trouble**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/JustTrouble_244160766.png" /></td></tr>
|
||||||
|
<tr><td>**Kandi's Sprinkle Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/KandisSprinkleFace_8666865667.png" /></td></tr>
|
||||||
|
<tr><td>**Knight of Chivalry - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/KnightOfChivalryFace_2510299324.png" /></td></tr>
|
||||||
|
<tr><td>**Knight of Courage - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/KnightofCourageFace_2535711033.png" /></td></tr>
|
||||||
|
<tr><td>**Knight of Splintered Skies Ascendant - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/KnightOfSplinteredSkiesAscendantFace_2506721000.png" /></td></tr>
|
||||||
|
<tr><td>**Know-It-All Grin**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/KnowitallGrin_26424808.png" /></td></tr>
|
||||||
|
<tr><td>**Krezak - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/KrezakFace_293309580.png" /></td></tr>
|
||||||
|
<tr><td>**Kroma Blitz - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/KromaBlitzFace_2979689790.png" /></td></tr>
|
||||||
|
<tr><td>**Lady Darkshade - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/LadyDarkshadeFace_2807183388.png" /></td></tr>
|
||||||
|
<tr><td>**Lady Lashes**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/LadyLashes_29348122.png" /></td></tr>
|
||||||
|
<tr><td>**Laughing Fun**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/LaughingFun_226217449.png" /></td></tr>
|
||||||
|
<tr><td>**Lavender Amazeface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/LavenderAmazeface_835095306.png" /></td></tr>
|
||||||
|
<tr><td>**Lazy Eye**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/LazyEye_7075502.png" /></td></tr>
|
||||||
|
<tr><td>**Lightning Speaker**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/LightningSpeaker_22588801.png" /></td></tr>
|
||||||
|
<tr><td>**Lin's Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/LinsFace_301826803.png" /></td></tr>
|
||||||
|
<tr><td>**Lion**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Lion_11956548.png" /></td></tr>
|
||||||
|
<tr><td>**Look At My Nose**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/LookAtMyNose_23311761.png" /></td></tr>
|
||||||
|
<tr><td>**Lynn - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/LynnFace_2610492664.png" /></td></tr>
|
||||||
|
<tr><td>**Madbot 10000**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Madbot10000_554658475.png" /></td></tr>
|
||||||
|
<tr><td>**Magical Dragon**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/MagicalDragon_34871168.png" /></td></tr>
|
||||||
|
<tr><td>**Man Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ManFace_86487700.png" /></td></tr>
|
||||||
<tr><td>**Manicbot 10000**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Manicbot10000_554663566.png" /></td></tr>
|
<tr><td>**Manicbot 10000**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Manicbot10000_554663566.png" /></td></tr>
|
||||||
<tr><td>**Manlier Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Manlier_Face_76383151.png" /></td></tr>
|
<tr><td>**Manlier Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ManlierFace_76383151.png" /></td></tr>
|
||||||
<tr><td>**McLaren Big Grin**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Mclaren_Big_Grin_9062637857.png" /></td></tr>
|
<tr><td>**Masque**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Masque_22432782.png" /></td></tr>
|
||||||
|
<tr><td>**McLaren Big Grin**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/MclarenBigGrin_9062637857.png" /></td></tr>
|
||||||
|
<tr><td>**McLaren Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/MclarenSmile_9062620353.png" /></td></tr>
|
||||||
<tr><td>**Meanie**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Meanie_9250643.png" /></td></tr>
|
<tr><td>**Meanie**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Meanie_9250643.png" /></td></tr>
|
||||||
<tr><td>**Meow?**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Meow_10907529.png" /></td></tr>
|
<tr><td>**Meow?**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Meow_10907529.png" /></td></tr>
|
||||||
<tr><td>**Monarch Butterfly Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Monarch_Butterfly_Smile_383607653.png" /></td></tr>
|
<tr><td>**Merciless Ninja - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/MercilessNinjaFace_6652985701.png" /></td></tr>
|
||||||
<tr><td>**Monster Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Monster_Face_49045351.png" /></td></tr>
|
<tr><td>**Mermaid Mystique**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/MermaidMystique_8664096393.png" /></td></tr>
|
||||||
<tr><td>**Monster Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Monster_Smile_398675917.png" /></td></tr>
|
<tr><td>**Mick McCann**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/MickMccann_23264604.png" /></td></tr>
|
||||||
<tr><td>**Mr. Toilet - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Mr_Toilet_Face_4416933495.png" /></td></tr>
|
<tr><td>**Mildly Irritated Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/MildlyIrritatedFace_280988393.png" /></td></tr>
|
||||||
|
<tr><td>**Minerva Bright - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/MinervaBrightFace_2608317303.png" /></td></tr>
|
||||||
|
<tr><td>**Mischievous**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Mischievous_9250654.png" /></td></tr>
|
||||||
|
<tr><td>**Miss Scarlet**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/MissScarlet_334656210.png" /></td></tr>
|
||||||
|
<tr><td>**Mixologist's Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/MixologistsSmile_4645966393.png" /></td></tr>
|
||||||
|
<tr><td>**Mon Cheri Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/MonCheriFace_7243931574.png" /></td></tr>
|
||||||
|
<tr><td>**Monarch Butterfly Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/MonarchButterflySmile_383607653.png" /></td></tr>
|
||||||
|
<tr><td>**Monster Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/MonsterFace_49045351.png" /></td></tr>
|
||||||
|
<tr><td>**Monster Grumpy Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/MonsterGrumpyFace_7243924005.png" /></td></tr>
|
||||||
|
<tr><td>**Monster Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/MonsterSmile_398675917.png" /></td></tr>
|
||||||
|
<tr><td>**Mr. Bubbles**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/MrBubbles_31616411.png" /></td></tr>
|
||||||
|
<tr><td>**Mr. Chuckles**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/MrChuckles_10907541.png" /></td></tr>
|
||||||
|
<tr><td>**Mr. Oinkers**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/MrOinkers_11123827.png" /></td></tr>
|
||||||
|
<tr><td>**Mr. Toilet - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/MrToiletFace_4416933495.png" /></td></tr>
|
||||||
|
<tr><td>**Muttdawg**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Muttdawg_11647324.png" /></td></tr>
|
||||||
<tr><td>**Mysterious**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Mysterious_7132035.png" /></td></tr>
|
<tr><td>**Mysterious**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Mysterious_7132035.png" /></td></tr>
|
||||||
<tr><td>**Neoclassic Male v2 - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Neoclassic_Malev2_Face_4637291815.png" /></td></tr>
|
<tr><td>**NeoClassic Female v2 - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/NeoclassicFemaleV2Face_4637166178.png" /></td></tr>
|
||||||
<tr><td>**Nervous**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Nervous_23219981.png" /></td></tr>
|
<tr><td>**Nervous**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Nervous_23219981.png" /></td></tr>
|
||||||
<tr><td>**NetHack Addict**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Nethack_Addict_16357383.png" /></td></tr>
|
<tr><td>**NetHack Addict**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/NethackAddict_16357383.png" /></td></tr>
|
||||||
|
<tr><td>**Nibbles, Devourer of Worlds**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/NibblesDevourerOfWorlds_11913734.png" /></td></tr>
|
||||||
|
<tr><td>**Ninja**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Ninja_11453609.png" /></td></tr>
|
||||||
|
<tr><td>**No Z**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/NoZ_14405720.png" /></td></tr>
|
||||||
|
<tr><td>**Noriko the Gentle Youkai Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/NorikoTheGentleYoukaiFace_3210253450.png" /></td></tr>
|
||||||
|
<tr><td>**Not Again!**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/NotAgain_28119051.png" /></td></tr>
|
||||||
|
<tr><td>**Not So Friendly Eviscerator**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/NotSoFriendlyEviscerator_66330204.png" /></td></tr>
|
||||||
<tr><td>**Not sure if...**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Notsureif_173789324.png" /></td></tr>
|
<tr><td>**Not sure if...**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Notsureif_173789324.png" /></td></tr>
|
||||||
<tr><td>**Nouveau George**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Nouveau_George_398675764.png" /></td></tr>
|
<tr><td>**NOWAI!**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Nowai_51241862.png" /></td></tr>
|
||||||
<tr><td>**O.o**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Oo1_7074595.png" /></td></tr>
|
<tr><td>**O.o**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Oo1_7074595.png" /></td></tr>
|
||||||
<tr><td>**O_o**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Oo_66330265.png" /></td></tr>
|
<tr><td>**O_o**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Oo_66330265.png" /></td></tr>
|
||||||
|
<tr><td>**Oakley's Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/OakleysFace_301827237.png" /></td></tr>
|
||||||
<tr><td>**Obvious Wink**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Obvious_Wink_51241537.png" /></td></tr>
|
<tr><td>**Obvious Wink**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Obvious_Wink_51241537.png" /></td></tr>
|
||||||
<tr><td>**Oh Deer**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Oh_Deer_12145328.png" /></td></tr>
|
<tr><td>**Ochre Ogre**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/OchreOgre_16723499.png" /></td></tr>
|
||||||
<tr><td>**Old Timer**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Old_Timer_27003636.png" /></td></tr>
|
<tr><td>**Octavia, The Ivory Spider Girl - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/OctaviaTheIvorySpiderGirlFace_2986536321.png" /></td></tr>
|
||||||
<tr><td>**Orange Starface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Orange_Starface_162200666.png" /></td></tr>
|
<tr><td>**Ogre Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/OgreFace_391495894.png" /></td></tr>
|
||||||
<tr><td>**Overjoyed Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Overjoyed_Smile_1428416217.png" /></td></tr>
|
<tr><td>**Oh Deer**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/OhDeer_12145328.png" /></td></tr>
|
||||||
<tr><td>**Pink Galaxy Gaze**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Pink_Galaxy_Gaze_440738448.png" /></td></tr>
|
<tr><td>**Oh Noes Another Dog**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/OhNoesAnotherDog_13038397.png" /></td></tr>
|
||||||
<tr><td>**Pink Mermaid Princess**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Pink_Mermaid_Princess_1428418448.png" /></td></tr>
|
<tr><td>**Old Man Jenkins**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/OldManJenkins_13335647.png" /></td></tr>
|
||||||
<tr><td>**Pink Shades McCool**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Pink_Shades_Mccool_323192138.png" /></td></tr>
|
<tr><td>**Old Timer**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/OldTimer_27003636.png" /></td></tr>
|
||||||
<tr><td>**Pink Wistful Wink**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Pink_Wistful_Wink_583721990.png" /></td></tr>
|
<tr><td>**Oli Zigzag - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/OliZigzagFace_2979331491.png" /></td></tr>
|
||||||
<tr><td>**Poisonous Beast Mode**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Poisonous_Beast_Mode_2606177838.png" /></td></tr>
|
<tr><td>**Optimist**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Optimist_21024661.png" /></td></tr>
|
||||||
<tr><td>**Prideful Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Prideful_Smile_3267564334.png" /></td></tr>
|
<tr><td>**Orange Starface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/OrangeStarface_162200666.png" /></td></tr>
|
||||||
|
<tr><td>**Orange Trance**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/OrangeTrance_260303960.png" /></td></tr>
|
||||||
|
<tr><td>**Otakufaic**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Otakufaic_1665638148.png" /></td></tr>
|
||||||
|
<tr><td>**Overjoyed Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/OverjoyedSmile_1428416217.png" /></td></tr>
|
||||||
|
<tr><td>**Overseer: Assassin - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/OverseerAssassinFace_2761366151.png" /></td></tr>
|
||||||
|
<tr><td>**Overseer: Prophet Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/OverseerProphetFace_3040321462.png" /></td></tr>
|
||||||
|
<tr><td>**Owl**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Owl_11123805.png" /></td></tr>
|
||||||
|
<tr><td>**Paintball Enthusiast**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PaintballEnthusiast_23310997.png" /></td></tr>
|
||||||
|
<tr><td>**Performing Mime**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PerformingMime_5122343618.png" /></td></tr>
|
||||||
|
<tr><td>**Persephone's Girl Glam**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PersephonesGirlGlam_7243865988.png" /></td></tr>
|
||||||
|
<tr><td>**Pieface Jellyfreckles**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PiefaceJellyfreckles_19381787.png" /></td></tr>
|
||||||
|
<tr><td>**Pink Galaxy Gaze**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PinkGalaxyGaze_440738448.png" /></td></tr>
|
||||||
|
<tr><td>**Pink Mermaid Princess**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PinkMermaidPrincess_1428418448.png" /></td></tr>
|
||||||
|
<tr><td>**Pink Moonstruck**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PinkMoonstruck_878940145.png" /></td></tr>
|
||||||
|
<tr><td>**Pink Shades McCool**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PinkShadesMccool_323192138.png" /></td></tr>
|
||||||
|
<tr><td>**Pink Wistful Wink**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PinkWistfulWink_583721990.png" /></td></tr>
|
||||||
|
<tr><td>**Pizza Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PizzaFace_2845812591.png" /></td></tr>
|
||||||
|
<tr><td>**Playful Vampire**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PlayfulVampire_2409285794.png" /></td></tr>
|
||||||
|
<tr><td>**Poisonous Beast Mode**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PoisonousBeastMode_2606177838.png" /></td></tr>
|
||||||
|
<tr><td>**Police Officer Nash - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PoliceOfficerNashFace_2506787960.png" /></td></tr>
|
||||||
|
<tr><td>**Pony Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PonyFace_13656095.png" /></td></tr>
|
||||||
|
<tr><td>**Poor Man**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PoorMan_7699183.png" /></td></tr>
|
||||||
|
<tr><td>**Pop Queen Smilestar Spectacusmile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PopQueenSmilestarSpectacusmile_2274754557.png" /></td></tr>
|
||||||
|
<tr><td>**Prankster**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Prankster_20052135.png" /></td></tr>
|
||||||
|
<tr><td>**Prideful Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PridefulSmile_3267564334.png" /></td></tr>
|
||||||
|
<tr><td>**Princess Alexis**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PrincessAlexis_6590375198.png" /></td></tr>
|
||||||
<tr><td>**Puck**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Puck_20298988.png" /></td></tr>
|
<tr><td>**Puck**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Puck_20298988.png" /></td></tr>
|
||||||
<tr><td>**Pumpkin Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Pumpkin_Face_313549781_313549781.png" /></td></tr>
|
<tr><td>**Punk Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PunkFace_119812659.png" /></td></tr>
|
||||||
<tr><td>**Punk Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Punk_Face_119812659.png" /></td></tr>
|
<tr><td>**Purple Alien**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PurpleAlien_323192193.png" /></td></tr>
|
||||||
<tr><td>**Purple Bubble Trouble**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Purple_Bubble_Trouble_362051999.png" /></td></tr>
|
<tr><td>**Purple Bubble Trouble**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PurpleBubbleTrouble_362051999.png" /></td></tr>
|
||||||
<tr><td>**Purple Butterfly Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Purple_Butterfly_Smile_238983270.png" /></td></tr>
|
<tr><td>**Purple Butterfly Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PurpleButterflySmile_238983270.png" /></td></tr>
|
||||||
<tr><td>**Purple Mermaid Princess**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Purple_Mermaid_Princess_1428424821.png" /></td></tr>
|
<tr><td>**Purple Galaxy Gaze**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PurpleGalaxyGaze_440739240.png" /></td></tr>
|
||||||
<tr><td>**Purple Moonstruck**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Purple_Moonstruck_878942257.png" /></td></tr>
|
<tr><td>**Purple Mermaid Princess**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PurpleMermaidPrincess_1428424821.png" /></td></tr>
|
||||||
<tr><td>**Purple Wistful Wink**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Purple_Wistful_Wink_583722710.png" /></td></tr>
|
<tr><td>**Purple Moonstruck**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PurpleMoonstruck_878942257.png" /></td></tr>
|
||||||
<tr><td>**Pwnda Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Pwnda_Face_28281786.png" /></td></tr>
|
<tr><td>**Purple Starface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PurpleStarface_119812765.png" /></td></tr>
|
||||||
<tr><td>**Radioactive Beast Mode**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Radioactive_Beast_Mode_2225761296.png" /></td></tr>
|
<tr><td>**Purple Super Happy Joy**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PurpleSuperHappyJoy_376812961.png" /></td></tr>
|
||||||
<tr><td>**Raig Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Raig_Face_209994783.png" /></td></tr>
|
<tr><td>**Purple Trance**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PurpleTrance_260304187.png" /></td></tr>
|
||||||
|
<tr><td>**Purple Wistful Wink**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PurpleWistfulWink_583722710.png" /></td></tr>
|
||||||
|
<tr><td>**Pwnda Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/PwndaFace_28281786.png" /></td></tr>
|
||||||
|
<tr><td>**Quackface McGraw**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/QuackfaceMcgraw_11647296.png" /></td></tr>
|
||||||
|
<tr><td>**Quijibo**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Quijibo_10907532.png" /></td></tr>
|
||||||
|
<tr><td>**Raccoon**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Raccoon_27052537.png" /></td></tr>
|
||||||
|
<tr><td>**Rach - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/RachFace_2608325060.png" /></td></tr>
|
||||||
|
<tr><td>**Radioactive Beast Mode**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/RadioactiveBeastMode_2225761296.png" /></td></tr>
|
||||||
|
<tr><td>**Raig Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/RaigFace_209994783.png" /></td></tr>
|
||||||
|
<tr><td>**Rainbow Barf Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/RainbowBarfFace_1665629400.png" /></td></tr>
|
||||||
|
<tr><td>**Rainbow Spirit Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/RainbowSpiritFace_8666744565.png" /></td></tr>
|
||||||
<tr><td>**RAWR!**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Rawr_7076224.png" /></td></tr>
|
<tr><td>**RAWR!**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Rawr_7076224.png" /></td></tr>
|
||||||
<tr><td>**Red Goof**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Red_Goof_1191125008.png" /></td></tr>
|
<tr><td>**Really Embarrassed**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ReallyEmbarrassed_376812736.png" /></td></tr>
|
||||||
<tr><td>**Red Lip - Tate McRae**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Red_Lip_Tate_Mc_Rae_9650713776.png" /></td></tr>
|
<tr><td>**Red Fang**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/RedFang_16722419.png" /></td></tr>
|
||||||
<tr><td>**Red Ultimate Dragon Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Red_Ultimate_Dragon_Face_1772530315.png" /></td></tr>
|
<tr><td>**Red Glowing Eyes**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/RedGlowingEyes_180660043.png" /></td></tr>
|
||||||
<tr><td>**Red White and Starface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Red_White_And_Starface_445117183.png" /></td></tr>
|
<tr><td>**Red Goof**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/RedGoof_1191125008.png" /></td></tr>
|
||||||
<tr><td>**Retro Smiley**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Retro_Smiley_10770432.png" /></td></tr>
|
<tr><td>**Red Lip - Tate McRae**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/RedLipTateMcRae_9650713776.png" /></td></tr>
|
||||||
|
<tr><td>**Red RAWR**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/RedRawr_66330295.png" /></td></tr>
|
||||||
|
<tr><td>**Red Rock Star Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/RedRockStarSmile_376809691.png" /></td></tr>
|
||||||
|
<tr><td>**Red Serious Scar Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/RedSeriousScarFace_406000421.png" /></td></tr>
|
||||||
|
<tr><td>**Red Tango**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/RedTango_16652251.png" /></td></tr>
|
||||||
|
<tr><td>**Red Ultimate Dragon Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/RedUltimateDragonFace_1772530315.png" /></td></tr>
|
||||||
|
<tr><td>**Red White and Starface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/RedWhiteAndStarface_445117183.png" /></td></tr>
|
||||||
|
<tr><td>**Redonkulous**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Redonkulous_10907534.png" /></td></tr>
|
||||||
|
<tr><td>**Retro Smiley**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/RetroSmiley_10770432.png" /></td></tr>
|
||||||
<tr><td>**ROAR!!!**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ROAR_406001167.png" /></td></tr>
|
<tr><td>**ROAR!!!**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ROAR_406001167.png" /></td></tr>
|
||||||
<tr><td>**Robot Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Robot_Smile_30265169.png" /></td></tr>
|
<tr><td>**ROBLOX Madness Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/RobloxMadnessFace_130213380.png" /></td></tr>
|
||||||
<tr><td>**Rodeo Vampire - Lil Nas X (LNX)**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Rodeo_Vampire_Lil_Nas_Xlnx_5917448278.png" /></td></tr>
|
<tr><td>**Rock Star Singer - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/RockStarSingerFace_2517188619.png" /></td></tr>
|
||||||
<tr><td>**Rogueish Good Looks**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Rogueish_Good_Looks_1665511048.png" /></td></tr>
|
<tr><td>**Rodeo Vampire - Lil Nas X (LNX)**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/RodeoVampireLilNasXlnx_5917448278.png" /></td></tr>
|
||||||
<tr><td>**Rose Amazeface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Rose_Amazeface_835095880.png" /></td></tr>
|
<tr><td>**Rogue Era Magus - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/RogueEraMagusFace_2499710871.png" /></td></tr>
|
||||||
<tr><td>**Ruby Archfey Visage**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Ruby_Archfey_Visage_2830505884.png" /></td></tr>
|
<tr><td>**Rogueish Good Looks**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/RogueishGoodLooks_1665511048.png" /></td></tr>
|
||||||
|
<tr><td>**Rose Amazeface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/RoseAmazeface_835095880.png" /></td></tr>
|
||||||
|
<tr><td>**Rosey Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/RoseySmile_116043052.png" /></td></tr>
|
||||||
|
<tr><td>**Royal Eye of Horus Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/RoyalEyeOfHorusFace_2803774919.png" /></td></tr>
|
||||||
|
<tr><td>**Ruby Archfey Visage**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/RubyArchfeyVisage_2830505884.png" /></td></tr>
|
||||||
|
<tr><td>**Rudolph**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Rudolph_19397594.png" /></td></tr>
|
||||||
<tr><td>**Sad**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Sad_7699177.png" /></td></tr>
|
<tr><td>**Sad**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Sad_7699177.png" /></td></tr>
|
||||||
|
<tr><td>**Sad Clown**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SadClown_250654457.png" /></td></tr>
|
||||||
|
<tr><td>**Sad Zombie**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SadZombie_7131361.png" /></td></tr>
|
||||||
<tr><td>**Sadfaic**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Sadfaic_117522793.png" /></td></tr>
|
<tr><td>**Sadfaic**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Sadfaic_117522793.png" /></td></tr>
|
||||||
<tr><td>**Sapphire Evil Eye**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Sapphire_Evil_Eye_1016184964.png" /></td></tr>
|
<tr><td>**Sai-eye Tyler Joseph - Twenty One Pilots**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SaieyeTylerJosephTwentyOnePilots_7389910081.png" /></td></tr>
|
||||||
|
<tr><td>**Samantha - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SamanthaFace_2535487974.png" /></td></tr>
|
||||||
|
<tr><td>**Sammy "Slick" Witter - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SammySlickWitterFace_2907754927.png" /></td></tr>
|
||||||
|
<tr><td>**Sapphire Archfey Visage**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SapphireArchfeyVisage_2830502330.png" /></td></tr>
|
||||||
|
<tr><td>**Sapphire Evil Eye**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SapphireEvilEye_1016184964.png" /></td></tr>
|
||||||
|
<tr><td>**Sapphire Laser Vision**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SapphireLaserVision_209994074.png" /></td></tr>
|
||||||
<tr><td>**Scarecrow**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Scarecrow_26260927.png" /></td></tr>
|
<tr><td>**Scarecrow**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Scarecrow_26260927.png" /></td></tr>
|
||||||
<tr><td>**Scarecrow Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Scarecrow_Face_14721869.png" /></td></tr>
|
<tr><td>**Scarecrow Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ScarecrowFace_14721869.png" /></td></tr>
|
||||||
<tr><td>**Secret Service**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Secret_Service_20612949.png" /></td></tr>
|
<tr><td>**Secret Service**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SecretService_20612949.png" /></td></tr>
|
||||||
<tr><td>**Semi Colon Open Paren**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Semi_Colon_Open_Paren_16179646.png" /></td></tr>
|
<tr><td>**Seeing Stars**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SeeingStars_27599954.png" /></td></tr>
|
||||||
<tr><td>**Serena’s Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Serenas_Face_301826957.png" /></td></tr>
|
<tr><td>**Semi Colon Open Paren**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SemiColonOpenParen_16179646.png" /></td></tr>
|
||||||
<tr><td>**Serious Scar Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Serious_Scar_Face_255827175.png" /></td></tr>
|
<tr><td>**Serena’s Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SerenasFace_301826957.png" /></td></tr>
|
||||||
<tr><td>**Sharpnine's Face of Disappointment**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Sharpnines_Face_Of_Disappointment_209994270.png" /></td></tr>
|
<tr><td>**Serious Cat**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SeriousCat_10678414.png" /></td></tr>
|
||||||
|
<tr><td>**Serious Dog**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SeriousDog_10678418.png" /></td></tr>
|
||||||
|
<tr><td>**Serious Red Eye Scar**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SeriousRedEyeScar_494299198.png" /></td></tr>
|
||||||
|
<tr><td>**Serious Scar Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SeriousScarFace_255827175.png" /></td></tr>
|
||||||
|
<tr><td>**Sharkbait - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SharkbaitFace_3258567315.png" /></td></tr>
|
||||||
|
<tr><td>**Sharpnine's Face of Disappointment**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SharpninesFaceOfDisappointment_209994270.png" /></td></tr>
|
||||||
|
<tr><td>**Sharpnine's Face of Joy**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SharpninesFaceOfJoy_406002032.png" /></td></tr>
|
||||||
|
<tr><td>**Sheriff Buffington - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SheriffBuffingtonFace_2761348544.png" /></td></tr>
|
||||||
|
<tr><td>**Shhh...**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Shhh_7076159.png" /></td></tr>
|
||||||
|
<tr><td>**Shiny Teeth**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ShinyTeeth_20722130.png" /></td></tr>
|
||||||
<tr><td>**Shocked**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Shocked_147144644.png" /></td></tr>
|
<tr><td>**Shocked**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Shocked_147144644.png" /></td></tr>
|
||||||
<tr><td>**Sick Day**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Sick_Day_26619096.png" /></td></tr>
|
<tr><td>**Shutter Shades: The Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ShutterShadesTheFace_34673712.png" /></td></tr>
|
||||||
<tr><td>**Sigmund**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Sigmund_21311601.png" /></td></tr>
|
<tr><td>**Shy Lady**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ShyLady_10831438.png" /></td></tr>
|
||||||
|
<tr><td>**Sick Day**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SickDay_26619096.png" /></td></tr>
|
||||||
<tr><td>**Silence**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Silence_10860397.png" /></td></tr>
|
<tr><td>**Silence**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Silence_10860397.png" /></td></tr>
|
||||||
<tr><td>**Silly Fun**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Silly_Fun_7699174.png" /></td></tr>
|
<tr><td>**Silly Fun**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SillyFun_7699174.png" /></td></tr>
|
||||||
<tr><td>**Silver Punk Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Silver_Punk_Face_387256603.png" /></td></tr>
|
<tr><td>**Silver Punk Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SilverPunkFace_387256603.png" /></td></tr>
|
||||||
<tr><td>**Singing**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Singing_66330310.png" /></td></tr>
|
<tr><td>**Singing**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Singing_66330310.png" /></td></tr>
|
||||||
<tr><td>**Sinister**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Sinister_8329686.png" /></td></tr>
|
<tr><td>**Sir Rich McMoneyston, III**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SirRichMcmoneystonIII_10831390.png" /></td></tr>
|
||||||
|
<tr><td>**Skater Boi - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SkaterBoiFace_2739812348.png" /></td></tr>
|
||||||
|
<tr><td>**Skater Gurl - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SkaterGurlFace_2739787309.png" /></td></tr>
|
||||||
|
<tr><td>**Skeletar**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Skeletar_10770395.png" /></td></tr>
|
||||||
|
<tr><td>**Skeptic**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Skeptic_31117267.png" /></td></tr>
|
||||||
<tr><td>**Slickfang**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Slickfang_7317765.png" /></td></tr>
|
<tr><td>**Slickfang**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Slickfang_7317765.png" /></td></tr>
|
||||||
<tr><td>**Slithering Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Slithering_Smile_2830646491.png" /></td></tr>
|
<tr><td>**Slithering Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Slithering_Smile_2830646491.png" /></td></tr>
|
||||||
<tr><td>**Sly Guy Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Sly_Guy_Face_238983378.png" /></td></tr>
|
<tr><td>**Slobbery Villain**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SlobberyVillain_10907536.png" /></td></tr>
|
||||||
<tr><td>**Smil Nas X - Lil Nas X (LNX)**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Smil_Nas_X_Lil_Nas_XLNX_5917459717.png" /></td></tr>
|
<tr><td>**Sly Cat**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SlyCat_10678407.png" /></td></tr>
|
||||||
<tr><td>**Smiling Girl**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Smiling_Girl_209994875.png" /></td></tr>
|
<tr><td>**Sly Guy Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SlyGuyFace_238983378.png" /></td></tr>
|
||||||
<tr><td>**Smith McCool**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Smith_Mccool_27412825.png" /></td></tr>
|
<tr><td>**Smil Nas X - Lil Nas X (LNX)**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SmilNasXLilNasXLNX_5917459717.png" /></td></tr>
|
||||||
<tr><td>**Smug**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Smug_406001308.png" /></td></tr>
|
<tr><td>**Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Smile_144075659.png" /></td></tr>
|
||||||
<tr><td>**Sneaky Steve**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Sneaky_Steve_823012694.png" /></td></tr>
|
<tr><td>**Smiling Girl**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SmilingGirl_209994875.png" /></td></tr>
|
||||||
|
<tr><td>**Smith McCool**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SmithMccool_27412825.png" /></td></tr>
|
||||||
|
<tr><td>**Sneaky Green-Eyed Snake**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SneakyGreeneyedSnake_334656353.png" /></td></tr>
|
||||||
|
<tr><td>**Sneaky Steve**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SneakySteve_823012694.png" /></td></tr>
|
||||||
<tr><td>**Sniffles**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Sniffles_14516578.png" /></td></tr>
|
<tr><td>**Sniffles**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Sniffles_14516578.png" /></td></tr>
|
||||||
<tr><td>**So Funny**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/So_Funny_32058239.png" /></td></tr>
|
<tr><td>**Snow Queen Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SnowQueenSmile_2569005011.png" /></td></tr>
|
||||||
<tr><td>**So Super Excited - Blue**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/So_Super_Excited_Blue_2569001052.png" /></td></tr>
|
<tr><td>**Snowflake Eyes**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SnowflakeEyes_76233968067050.png" /></td></tr>
|
||||||
<tr><td>**So Super Excited - Pink**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/So_Super_Excited_Pink_2568801198.png" /></td></tr>
|
<tr><td>**Snowman Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SnowmanFace_19396550.png" /></td></tr>
|
||||||
<tr><td>**Sparkle Time Sparkle Eyes**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Sparkle_Time_Sparkle_Eyes_2620507161.png" /></td></tr>
|
<tr><td>**So Funny**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SoFunny_32058239.png" /></td></tr>
|
||||||
<tr><td>**Spring Bunny**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Spring_Bunny_110207437.png" /></td></tr>
|
<tr><td>**So Super Excited - Blue**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SoSuperExcitedBlue_2569001052.png" /></td></tr>
|
||||||
<tr><td>**Square Eyes**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Square_Eyes_22119034.png" /></td></tr>
|
<tr><td>**So Super Excited - Pink**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SoSuperExcitedPink_2568801198.png" /></td></tr>
|
||||||
<tr><td>**Squiggle Mouth**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Squiggle_Mouth_25166274.png" /></td></tr>
|
<tr><td>**So Super Excited - Purple**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SoSuperExcitedPurple_2568804274.png" /></td></tr>
|
||||||
<tr><td>**Squinty Assassin Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Squinty_Assassin_Face_880474146.png" /></td></tr>
|
<tr><td>**Sophisticated Spectacles**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SophisticatedSpectacles_25930613.png" /></td></tr>
|
||||||
|
<tr><td>**Sorority Star Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SororityStarFace_3690515434.png" /></td></tr>
|
||||||
|
<tr><td>**Sparkle Time Sparkle Eyes**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SparkleTimeSparkleEyes_2620507161.png" /></td></tr>
|
||||||
|
<tr><td>**Sparkling's Friendly Wink**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SparklingsFriendlyWink_6532619915.png" /></td></tr>
|
||||||
|
<tr><td>**Specter Informant - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SpecterInformantFace_2608277633.png" /></td></tr>
|
||||||
|
<tr><td>**Spring Bunny**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SpringBunny_110207437.png" /></td></tr>
|
||||||
|
<tr><td>**Squad Ghouls: Zoe Saberhagen - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SquadGhoulsZoeSaberhagenFace_2517100778.png" /></td></tr>
|
||||||
|
<tr><td>**Square Eyes**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SquareEyes_22119034.png" /></td></tr>
|
||||||
|
<tr><td>**Squiggle Mouth**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SquiggleMouth_25166274.png" /></td></tr>
|
||||||
|
<tr><td>**Squinty Assassin Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SquintyAssassinFace_880474146.png" /></td></tr>
|
||||||
<tr><td>**Stare**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Stare_8560971.png" /></td></tr>
|
<tr><td>**Stare**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Stare_8560971.png" /></td></tr>
|
||||||
<tr><td>**Starface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Starface_32873408.png" /></td></tr>
|
<tr><td>**Starface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Starface_32873408.png" /></td></tr>
|
||||||
<tr><td>**Stink Eye**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Stink_Eye_416846143.png" /></td></tr>
|
<tr><td>**Starry Eyed**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/StarryEyed_19959140.png" /></td></tr>
|
||||||
|
<tr><td>**Starry Eyes Sparkling**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/StarryEyesSparkling_7243903012.png" /></td></tr>
|
||||||
|
<tr><td>**Steampunk Inventor - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SnowSamuraiFace_5762596362.png" /></td></tr>
|
||||||
|
<tr><td>**Steampunk Inventor - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SteampunkInventorFace_5762596362.png" /></td></tr>
|
||||||
|
<tr><td>**Stink Eye**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/StinkEye_416846143.png" /></td></tr>
|
||||||
<tr><td>**Stitchface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Stitchface_8329679.png" /></td></tr>
|
<tr><td>**Stitchface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Stitchface_8329679.png" /></td></tr>
|
||||||
<tr><td>**Sunny Fun**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Sunny_Fun_51241171.png" /></td></tr>
|
<tr><td>**Sunny Fun**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SunnyFun_51241171.png" /></td></tr>
|
||||||
<tr><td>**Sunrise Eyes - Tai Verdes**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Sunrise_Eyes_Tai_Verdes_7987201392.png" /></td></tr>
|
<tr><td>**Sunrise Eyes - Tai Verdes**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SunriseEyesTaiVerdes_7987201392.png" /></td></tr>
|
||||||
<tr><td>**Super Happy Joy**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Super_Happy_Joy_280988698.png" /></td></tr>
|
<tr><td>**Sunstar - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SunstarFace_2506403983.png" /></td></tr>
|
||||||
|
<tr><td>**Super Happy Joy**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SuperHappyJoy_280988698.png" /></td></tr>
|
||||||
|
<tr><td>**Super Pink Heart Makeup**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SuperPinkHeartMakeup_6590371677.png" /></td></tr>
|
||||||
|
<tr><td>**Super Super Happy Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SuperSuperHappyFace_494291269.png" /></td></tr>
|
||||||
|
<tr><td>**Surprise!**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Surprise_23261769.png" /></td></tr>
|
||||||
<tr><td>**Suspicious**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Suspicious_209994929.png" /></td></tr>
|
<tr><td>**Suspicious**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Suspicious_209994929.png" /></td></tr>
|
||||||
<tr><td>**Sweat It Out**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Sweat_It_Out_20909103.png" /></td></tr>
|
<tr><td>**Sweat It Out**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/SweatItOut_20909103.png" /></td></tr>
|
||||||
<tr><td>**Tango**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Tango_16101765.png" /></td></tr>
|
<tr><td>**Tango**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Tango_16101765.png" /></td></tr>
|
||||||
<tr><td>**The Big Dog**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/The_Big_Dog_10860384.png" /></td></tr>
|
<tr><td>**Tattletale**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Tattletale_26343188.png" /></td></tr>
|
||||||
<tr><td>**The Friendly Eviscerator**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/The_Friendly_Eviscerator_22500129.png" /></td></tr>
|
<tr><td>**Teal Mermaid Queen**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/TealMermaidQueen_1428417334.png" /></td></tr>
|
||||||
<tr><td>**The Winning Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/The_Winning_Smile_616380929.png" /></td></tr>
|
<tr><td>**Teal Rock Star Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/TealRockStarSmile_334656546.png" /></td></tr>
|
||||||
<tr><td>**Thinking**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Thinking_29716262.png" /></td></tr>
|
<tr><td>**Tears of Sorrow**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/TearsOfSorrow_5122309127.png" /></td></tr>
|
||||||
<tr><td>**Tiger Chase Fear Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Tiger_Chase_Fear_Face_258198928.png" /></td></tr>
|
<tr><td>**Terrain Assault Specialist - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/TerrainAssaultSpecialistFace_2573925976.png" /></td></tr>
|
||||||
<tr><td>**Tired Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Tired_Face_141728790.png" /></td></tr>
|
<tr><td>**The Big Dog**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/TheBigDog_10860384.png" /></td></tr>
|
||||||
<tr><td>**Tohru: The Phantom Claw's Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Tohru_The_Phantom_Claws_Face_1384270693.png" /></td></tr>
|
<tr><td>**The Birdcaller - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/TheBirdcallerFace_2884418268.png" /></td></tr>
|
||||||
<tr><td>**Too Much Candy**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Too_Much_Candy_295763789.png" /></td></tr>
|
<tr><td>**The Dog Whisperer**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/TheDogWhisperer_34764447.png" /></td></tr>
|
||||||
|
<tr><td>**The First Time I Ever Played ROBLOX...**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/TheFirstTimeIEverPlayedRoblox_22070623.png" /></td></tr>
|
||||||
|
<tr><td>**The Friendly Eviscerator**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/TheFriendlyEviscerator_22500129.png" /></td></tr>
|
||||||
|
<tr><td>**The Phantom Phalanx: Cygnus-34 - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ThePhantomPhalanxCygnus34Face_2628025496.png" /></td></tr>
|
||||||
|
<tr><td>**THE SOUP IS DRY**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/TheSoupIsDry_2845990750.png" /></td></tr>
|
||||||
|
<tr><td>**The Winning Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/TheWinningSmile_616380929.png" /></td></tr>
|
||||||
|
<tr><td>**Tiger Chase Fear Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/TigerChaseFearFace_258198928.png" /></td></tr>
|
||||||
|
<tr><td>**Timmy McPwnage**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/TimmyMcpwnage_22023062.png" /></td></tr>
|
||||||
|
<tr><td>**Tired Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/TiredFace_141728790.png" /></td></tr>
|
||||||
|
<tr><td>**Tix Vision**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/TixVision_385889916.png" /></td></tr>
|
||||||
|
<tr><td>**Too Much Candy**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/TooMuchCandy_295763789.png" /></td></tr>
|
||||||
<tr><td>**Toothless**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Toothless_19399752.png" /></td></tr>
|
<tr><td>**Toothless**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Toothless_19399752.png" /></td></tr>
|
||||||
<tr><td>**Toothy Grin**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Toothy_Grin_7075434.png" /></td></tr>
|
<tr><td>**Toothy Drool**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ToothyDrool_8560980.png" /></td></tr>
|
||||||
<tr><td>**Torque the Blue Orc**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Torque_The_Blue_Orc_2830496106.png" /></td></tr>
|
<tr><td>**Toothy Grin**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ToothyGrin_7075434.png" /></td></tr>
|
||||||
<tr><td>**Torque the Green Orc**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Torque_The_Green_Orc_2830497827.png" /></td></tr>
|
<tr><td>**Torque the Blue Orc**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/TorqueTheBlueOrc_2830496106.png" /></td></tr>
|
||||||
<tr><td>**Uh Oh**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Uh_Oh_7074944.png" /></td></tr>
|
<tr><td>**Torque the Green Orc**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/TorqueTheGreenOrc_2830497827.png" /></td></tr>
|
||||||
<tr><td>**Up To Something**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Up_To_Something_1016186364.png" /></td></tr>
|
<tr><td>**Torque the Red Orc**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/TorqueTheRedOrc_2830493868.png" /></td></tr>
|
||||||
|
<tr><td>**Trance**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Trance_29109681.png" /></td></tr>
|
||||||
|
<tr><td>**Troublemaker**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Troublemaker_22920501.png" /></td></tr>
|
||||||
|
<tr><td>**True Love Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/TrueLoveSmile_362051405.png" /></td></tr>
|
||||||
|
<tr><td>**Tsundere Expression**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/TsundereExpression_4645952767.png" /></td></tr>
|
||||||
|
<tr><td>**Two Guys on a Boat**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/TwoGuysOnABoat_14127171.png" /></td></tr>
|
||||||
|
<tr><td>**Uh Oh**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/UhOh_7074944.png" /></td></tr>
|
||||||
|
<tr><td>**Up To Something**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/UpToSomething_1016186364.png" /></td></tr>
|
||||||
|
<tr><td>**Upside Down Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/UpsideDownFace_1772578399.png" /></td></tr>
|
||||||
|
<tr><td>**Valkyrie of the Splintered Skies - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ValkyrieOfTheSplinteredSkiesFace_2907632781.png" /></td></tr>
|
||||||
|
<tr><td>**Valorous Knight - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ValorousKnightFace_3258576172.png" /></td></tr>
|
||||||
<tr><td>**Vampire**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Vampire_29532363.png" /></td></tr>
|
<tr><td>**Vampire**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Vampire_29532363.png" /></td></tr>
|
||||||
<tr><td>**Vans Checkerboard Blue Eyes**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Vans_Checkerboard_Blue_Eyes_8247356154.png" /></td></tr>
|
<tr><td>**Vans Checkerboard Blue Eyes**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/VansCheckerboardBlueEyes_8247356154.png" /></td></tr>
|
||||||
<tr><td>**Violet Fang**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Violet_Fang_362051899.png" /></td></tr>
|
<tr><td>**Violet Fang**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/VioletFang_362051899.png" /></td></tr>
|
||||||
<tr><td>**Violet Starry Sight**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Violet_Starry_Sight_2222775930.png" /></td></tr>
|
<tr><td>**Violet Starry Sight**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/VioletStarrySight_2222775930.png" /></td></tr>
|
||||||
<tr><td>**Visual Studio Seized Up For 45 Seconds... Again**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Visual_Studio_Seized_Up_For45_Seconds_Again_14083380.png" /></td></tr>
|
<tr><td>**Visual Studio Seized Up For 45 Seconds... Again**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/VisualStudioSeizedUpFor45SecondsAgain_14083380.png" /></td></tr>
|
||||||
<tr><td>**Walk the Plank You Scurvy Dogs!**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Walk_The_Plank_You_Scurvy_Dogs_13478124.png" /></td></tr>
|
<tr><td>**Walk the Plank You Scurvy Dogs!**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/WalkThePlankYouScurvyDogs_13478124.png" /></td></tr>
|
||||||
|
<tr><td>**Warpaint Josh Dun - Twenty One Pilots**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/WarpaintJoshDunTwentyOnePilots_7389923463.png" /></td></tr>
|
||||||
<tr><td>**WHAAAaaa!**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Whaaaaaa_14127194.png" /></td></tr>
|
<tr><td>**WHAAAaaa!**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Whaaaaaa_14127194.png" /></td></tr>
|
||||||
|
<tr><td>**Whatchoo Talkin Bout**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/WhatchooTalkinBout_7075089.png" /></td></tr>
|
||||||
|
<tr><td>**Where are the eggs?**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/WhereAreTheEggs_24975496.png" /></td></tr>
|
||||||
<tr><td>**Whistle**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Whistle_22877700.png" /></td></tr>
|
<tr><td>**Whistle**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Whistle_22877700.png" /></td></tr>
|
||||||
|
<tr><td>**Whuut?**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Whuut_274338458.png" /></td></tr>
|
||||||
|
<tr><td>**Wicked Webbed Berserker Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/WickedWebbedBerserkerFace_3993282075.png" /></td></tr>
|
||||||
|
<tr><td>**William "Big Bill" Conner - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/WilliamBigBillConnerFace_2833509821.png" /></td></tr>
|
||||||
<tr><td>**Wink-Blink**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Winkblink_22828351.png" /></td></tr>
|
<tr><td>**Wink-Blink**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Winkblink_22828351.png" /></td></tr>
|
||||||
<tr><td>**Winky**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Winky_7074864.png" /></td></tr>
|
<tr><td>**Winning Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/WinningSmile_880469676.png" /></td></tr>
|
||||||
<tr><td>**Winning Smile**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Winning_Smile_880469676.png" /></td></tr>
|
<tr><td>**Winter**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Winter_22587828.png" /></td></tr>
|
||||||
<tr><td>**Woman Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Woman_Face_86487766.png" /></td></tr>
|
<tr><td>**Woebegone**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Woebegone_21755022.png" /></td></tr>
|
||||||
|
<tr><td>**Woman Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/WomanFace_86487766.png" /></td></tr>
|
||||||
<tr><td>**Wonder Woman's Golden Armor - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Wonder_Womans_Golden_Armor_Face_6029816756.png" /></td></tr>
|
<tr><td>**Wonder Woman's Golden Armor - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Wonder_Womans_Golden_Armor_Face_6029816756.png" /></td></tr>
|
||||||
|
<tr><td>**WWE - Seth Rollins Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/WweSethRollinsFace_3016138770.png" /></td></tr>
|
||||||
|
<tr><td>**Wyldfire Fairy - Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/WyldfireFairyFace_2517242922.png" /></td></tr>
|
||||||
|
<tr><td>**x_x**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Xx_15395327.png" /></td></tr>
|
||||||
<tr><td>**XD**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Xd_15054426.png" /></td></tr>
|
<tr><td>**XD**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Xd_15054426.png" /></td></tr>
|
||||||
<tr><td>**XD 2.0**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Xd20_406001052.png" /></td></tr>
|
<tr><td>**XD 2.0**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Xd20_406001052.png" /></td></tr>
|
||||||
<tr><td>**Xtreme Happy**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Xtreme_Happy_20644021.png" /></td></tr>
|
<tr><td>**Xtreme Happy**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/XtremeHappy_20644021.png" /></td></tr>
|
||||||
<tr><td>**YAAAWWN.**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Yaaawwn_162068415.png" /></td></tr>
|
<tr><td>**YAAAWWN.**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Yaaawwn_162068415.png" /></td></tr>
|
||||||
<tr><td>**Yawn**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Yawn_20010377.png" /></td></tr>
|
<tr><td>**Yawn**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Yawn_20010377.png" /></td></tr>
|
||||||
<tr><td>**Yellow Starface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Yellow_Starface_162200696.png" /></td></tr>
|
<tr><td>**Yellow Glowing Eyes**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/YellowGlowingEyes_416846000.png" /></td></tr>
|
||||||
<tr><td>**You ated my caik!**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/You_Ated_My_Caik_21635583.png" /></td></tr>
|
<tr><td>**Yellow Starface**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/YellowStarface_162200696.png" /></td></tr>
|
||||||
<tr><td>**Zoey Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Zoey_Face_807339121.png" /></td></tr>
|
<tr><td>**You ated my caik!**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/YouAtedMyCaik_21635583.png" /></td></tr>
|
||||||
<tr><td>**Zombie Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Zombie_Face_133360789.png" /></td></tr>
|
<tr><td>**Yuck!**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Yuck_10907531.png" /></td></tr>
|
||||||
<tr><td>**¬_¬**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Negation_Underscore_Negation_13038375.png" /></td></tr>
|
<tr><td>**Zed Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ZedFace_5122355742.png" /></td></tr>
|
||||||
|
<tr><td>**Zip It!**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ZipIt_24126147.png" /></td></tr>
|
||||||
|
<tr><td>**Zoey Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ZoeyFace_807339121.png" /></td></tr>
|
||||||
|
<tr><td>**Zombie Face**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ZombieFace_133360789.png" /></td></tr>
|
||||||
|
<tr><td>**ZOMG**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/Zomg_8329682.png" /></td></tr>
|
||||||
|
<tr><td>**zOMG Hat Selling!**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/ZomgHatSelling_16413496.png" /></td></tr>
|
||||||
|
<tr><td>**¬_¬**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/NegationUnderscoreNegation_13038375.png" /></td></tr>
|
||||||
<tr><td>**¬_¬ 2.0**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/20_406000958.png" /></td></tr>
|
<tr><td>**¬_¬ 2.0**</td><td colspan="2"><img src="../../assets/art/avatar/classic-head/20_406000958.png" /></td></tr>
|
||||||
</tbody></table>
|
</tbody></table>
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,9 @@ description: In-depth details on how Roblox validates head assets
|
||||||
This content is for creators who intend to create character heads designated for the Marketplace, or any character heads that support assets from the Marketplace.
|
This content is for creators who intend to create character heads designated for the Marketplace, or any character heads that support assets from the Marketplace.
|
||||||
</Alert>
|
</Alert>
|
||||||
|
|
||||||
|
<iframe width="800" height="450" src="https://www.youtube-nocookie.com/embed/OwhkWzSBnf0" title="YouTube video player" frameborder="0" allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen></iframe>
|
||||||
|
<br /><br />
|
||||||
|
|
||||||
Roblox runs a rigorous validation to ensure the asset being uploaded to the Marketplace is compatible with all other assets on the Marketplace. For heads, validation primarily ensures that the head asset includes:
|
Roblox runs a rigorous validation to ensure the asset being uploaded to the Marketplace is compatible with all other assets on the Marketplace. For heads, validation primarily ensures that the head asset includes:
|
||||||
|
|
||||||
- A correctly **configured cage** — to wear clothing and accessories.
|
- A correctly **configured cage** — to wear clothing and accessories.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,157 @@
|
||||||
|
---
|
||||||
|
title: Manually Update Catalog Heads
|
||||||
|
description: Instructions for creators who need to re-upload their head for validation.
|
||||||
|
---
|
||||||
|
|
||||||
|
<Alert severity = 'warning'>
|
||||||
|
The following content applies to **creators with head assets on the Marketplace** who received a notice that their head assets **no longer pass dynamic head validation.**
|
||||||
|
</Alert>
|
||||||
|
|
||||||
|
<Alert severity = 'info'>
|
||||||
|
This document is intended to be updated frequently to include the latest information to help guide you through the head update process.
|
||||||
|
</Alert>
|
||||||
|
|
||||||
|
If your head asset no longer passes the dynamic head validation, you need to fix and reupload your head asset to the Marketplace. **You do not need to update the body when the head was published as part of a body bundle**. You just need to update the head asset.
|
||||||
|
|
||||||
|
This guide provides detailed information on how to perform a manual fix by re-caging your asset using a provided cage template using the following 5 main steps:
|
||||||
|
|
||||||
|
1. [Re-validate](#1-verify-the-catalog-head-asset-fails-validation) your catalog head asset to confirm issues.
|
||||||
|
2. [Export your head](#2-export-your-head-from-roblox) (or body bundle) from Roblox as a glTF.
|
||||||
|
3. [Fix your Head](#3-fix-your-head-asset-in-blender) asset in Blender.
|
||||||
|
4. [Import](#4-import-your-fixed-head-back-into-studio) your fixed head back into Studio.
|
||||||
|
5. [Provide the asset ID](#5-provide-the-assetid-of-your-updated-head) of your updated head to Roblox.
|
||||||
|
|
||||||
|
<Alert severity = 'info'>
|
||||||
|
While these instructions are provided for Blender, it's possible to perform equivalent steps in your preferred 3D modeling software. It's recommended to familiarize yourself with Roblox's head validation process before making changes to your head assets.
|
||||||
|
</Alert>
|
||||||
|
|
||||||
|
## 1. Verify the catalog head asset fails validation
|
||||||
|
|
||||||
|
Roblox recently updated the dynamic head validation parameters to allow more existing catalog heads to pass validation while still enforcing that all heads in the catalog are dynamic. It's important to double check that your head still fails validation before proceeding with the rest of the steps.
|
||||||
|
|
||||||
|
1. Open a new Roblox Studio and verify you have the beta feature **glTF Export** enabled (you might need to restart Studio to pick up the new setting)
|
||||||
|
1. Verify your beta settings in **File** > **Beta Features**.
|
||||||
|
2. Run the following script in the command bar.
|
||||||
|
1. You have the option to provide either the head id (asset ID) or the bundle id (for a full body bundle) . Just replace `my_asset_id` with the correct ID and remove the leading `--` to run
|
||||||
|
2. Uncomment `createExportFromHeadAssetId(your_asset_id)` to retrieve only the head asset
|
||||||
|
3. Uncomment `createExportFromBodyBundleId(your_bundle_id)` to retrieve the full body as a bundle (includes the head)
|
||||||
|
|
||||||
|
```lua
|
||||||
|
local AssetService = game:GetService("AssetService")
|
||||||
|
local Players = game:GetService("Players")
|
||||||
|
|
||||||
|
local function createExportFromHeadAssetId(assetId: number)
|
||||||
|
local hd = Instance.new("HumanoidDescription")
|
||||||
|
hd.Head = assetId
|
||||||
|
|
||||||
|
local char = Players:CreateHumanoidModelFromDescriptionAsync(hd, Enum.HumanoidRigType.R15)
|
||||||
|
local headMesh = char.Head :: MeshPart
|
||||||
|
headMesh.Size = headMesh.MeshSize
|
||||||
|
headMesh.CFrame = CFrame.identity
|
||||||
|
headMesh.Locked = false
|
||||||
|
|
||||||
|
local exportModel = Instance.new("Model", workspace)
|
||||||
|
exportModel.Name = "ExportThisAsGLTF"
|
||||||
|
headMesh.Parent = exportModel
|
||||||
|
end
|
||||||
|
|
||||||
|
local function getOutfitId(bundleInfo)
|
||||||
|
for _, item in pairs(bundleInfo.Items) do
|
||||||
|
if item.Type == "UserOutfit" then
|
||||||
|
return item.Id
|
||||||
|
end
|
||||||
|
end
|
||||||
|
error("Could not find outfit ID")
|
||||||
|
end
|
||||||
|
local function createExportFromBodyBundleId(bundleId: number)
|
||||||
|
local bundleInfo = AssetService:GetBundleDetailsAsync(bundleId)
|
||||||
|
local outfitId = getOutfitId(bundleInfo)
|
||||||
|
local hd = Players:GetHumanoidDescriptionFromOutfitIdAsync(outfitId)
|
||||||
|
local char = Players:CreateHumanoidModelFromDescriptionAsync(hd, Enum.HumanoidRigType.R15)
|
||||||
|
char:PivotTo(CFrame.identity)
|
||||||
|
char.Name = "ExportThisAsGLTF"
|
||||||
|
char.Parent = workspace
|
||||||
|
end
|
||||||
|
|
||||||
|
-- createExportFromHeadAssetId(your_asset_id)
|
||||||
|
-- createExportFromBodyBundleId(your_bundle_id)
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Once the script runs, you will see a "ExportThisAsGLTF" model in workspace. Right-click and select **Save To Roblox**. This will popup the publish window:
|
||||||
|
1. In Content type, select **Avatar Item**.
|
||||||
|
2. In Asset Category, select **Head or Body** (if you used a body bundle).
|
||||||
|
1. Wait for the validation result.
|
||||||
|
3. If the dynamic head validation passes then you don't have to update this asset.
|
||||||
|
4. **Cancel** the publish operation (so you don't incur fees).
|
||||||
|
|
||||||
|
If your asset failed the dynamic head validation then you need to continue with the following steps.
|
||||||
|
|
||||||
|
## 2. Export Your Head from Roblox
|
||||||
|
|
||||||
|
Export your head or entire body from Blender as a glTF file:
|
||||||
|
|
||||||
|
1. In the explorer, right-click on the "ExportThisAsGLTF" model and select **Save/Export** > **Save as glTF**.
|
||||||
|
|
||||||
|
## 3. Fix your Head asset in Blender
|
||||||
|
|
||||||
|
Fix your asset in Blender, or preferred 3D modeling software. In many cases, you may save time using a brand new head cage and fitting the cage over your character head. You may also see other validation issues that need to be addressed from the first step.
|
||||||
|
|
||||||
|
1. In Blender, open a new empty scene and import the glTF file.
|
||||||
|
2. Ensure everything you need for the head is present, including the cage, attachment points, facial joints and facial animations.
|
||||||
|
3. Roblox Studio flips avatars by 180 degrees on import, so you need to rotate your asset back by 180 in Blender (Hotkeys: <kbd>R</kbd>+<kbd>Z</kbd> then type `180`).
|
||||||
|
4. Most often heads fail validation due to cage issues. For example, the cage may be completely inside the head, has incorrect UVs or looks completely misplaced in the model. In most cases we recommend you do not spend time editing the original cage and instead:
|
||||||
|
1. Delete it from the asset.
|
||||||
|
2. Select the cage from the head template in this folder that best matches the shape of your head asset. These are [Roblox provided templates for cages with the correct UV settings](../../assets/art/reference-files/HeadCages.zip).
|
||||||
|
<img src="../../assets/art/avatar/Cage-Template-Lineup.png"/>
|
||||||
|
|
||||||
|
5. Ensure the Blender animation start value is set to 0.
|
||||||
|
6. Remove vertex colors. In Blender this can be done by clicking on the mesh and then under the data tab selecting color attributes and removing any that exist.
|
||||||
|
<img src="../../assets/art/avatar/Delete-Vertex-Colors.png"/>
|
||||||
|
7. Modify your head asset to pass validation:
|
||||||
|
1. Align cage eyes and mouth regions to the head.
|
||||||
|
2. Ensure your head includes a rig, with poses keyframed and mapped to the FACs standard so that:
|
||||||
|
1. Eyes must blink.
|
||||||
|
2. Mouth must open and close.
|
||||||
|
3. Face must express happy and sad.
|
||||||
|
8. Export your updated head asset to FBX file format using the correct settings explained here (If you have PBR, you may want to use glTF).
|
||||||
|
1. Setup textures for FBX export (if needed). Blender will import the glTF textures in such a way that they won't be able to be exported in an FBX file by default.
|
||||||
|
1. To fix this go through each image and save it to your disk locally.
|
||||||
|
<img src="../../assets/art/avatar/Blender-Save-Image-Workaround.png"/>
|
||||||
|
|
||||||
|
## 4. Import your fixed head back into Studio
|
||||||
|
|
||||||
|
Import your head back into Studio and verify that it passes validation. If validation fails, check the error messages and address the issues in your 3D modeling software again. If validation passes, use the following steps to upload as a **Development Item** (not Avatar item).
|
||||||
|
|
||||||
|
1. Import the FBX/glTF file with your (fixed) head asset back into Studio.
|
||||||
|
2. Make sure your head asset passes validation.
|
||||||
|
1. The easiest way to accomplish this is:
|
||||||
|
1. Select **Save to Roblox** on your asset.
|
||||||
|
2. Select **Avatar Item**.
|
||||||
|
3. Set its **Asset Category** to Head.
|
||||||
|
4. Wait for the Dynamic Head validation result (pass or fail).
|
||||||
|
5. **Cancel** the save operation so you don't incur publishing fees at this time.
|
||||||
|
2. If your head doesn't pass validation then you need to go back to Blender, Maya and make the appropriate fixes to pass validation.
|
||||||
|
3. If your head passes validation, publish your asset as a Development Item.
|
||||||
|
1. Select **Save to Roblox** on your asset.
|
||||||
|
2. Select **Development Item**.
|
||||||
|
3. Set its **Asset Category** to Model.
|
||||||
|
4. Save the model to Roblox (no publishing fees are incurred).
|
||||||
|
1. Get the asset ID of the head asset (not the body bundle).
|
||||||
|
|
||||||
|
## 5. Provide the assetID of your updated head
|
||||||
|
|
||||||
|
Use the following steps to provide Roblox the updated asset ID to replace your head with:
|
||||||
|
|
||||||
|
1. Use the link to the web form in the email notification corresponding to your asset to communicate back the asset ID of your updated head.
|
||||||
|
1. You will be asked to enter your date of birth for each update. This is a legal requirement we can't bypass.
|
||||||
|
2. You can submit multiple times. We will use your last submission as the "final" version to the update.
|
||||||
|
2. Roblox will complete the update of your catalog asset with the modifications you provided.
|
||||||
|
|
||||||
|
## Additional Resources
|
||||||
|
|
||||||
|
Roblox has published a series of documentation and video tutorials on best practices for creating dynamic head assets.
|
||||||
|
|
||||||
|
- [Dynamic head overview](./facial-animation/)
|
||||||
|
- [Head validation process](./head-validation.md)
|
||||||
|
- [Avatar Auto-Setup](../../avatar-setup/auto-setup.md)
|
||||||
|
- [Caging Best Practices](../accessories/caging-best-practices.md)
|
||||||
|
|
@ -3,6 +3,10 @@ title: Blender validation tool
|
||||||
description: The Avatar Validation Tool checks for common character model issues in Blender.
|
description: The Avatar Validation Tool checks for common character model issues in Blender.
|
||||||
---
|
---
|
||||||
|
|
||||||
|
<Alert severity = 'warning'>
|
||||||
|
This tool is no longer in active development. You are free to use the tool for any purpose. The tool may be out of date or incompatible with modern Roblox assets.
|
||||||
|
</Alert>
|
||||||
|
|
||||||
The **Avatar Validation Tool** is a supplemental Blender add-on you can use to quickly identify common issues with your character model. This tool checks that your model meets most of Roblox's avatar [technical specifications](../../art/characters/specifications.md) and, when possible, attempts to automatically resolve them.
|
The **Avatar Validation Tool** is a supplemental Blender add-on you can use to quickly identify common issues with your character model. This tool checks that your model meets most of Roblox's avatar [technical specifications](../../art/characters/specifications.md) and, when possible, attempts to automatically resolve them.
|
||||||
|
|
||||||
<img src="../../assets/art/avatar/Validation-Tool-Preview.png" width="100%" />
|
<img src="../../assets/art/avatar/Validation-Tool-Preview.png" width="100%" />
|
||||||
|
|
@ -17,7 +21,7 @@ The Validation Tool plugin is compatible with Blender 3.5.1+. You may experience
|
||||||
|
|
||||||
To install the Validation Tool in Blender:
|
To install the Validation Tool in Blender:
|
||||||
|
|
||||||
1. Download [ValidationTool_Blender.zip](../../assets/art/ValidationTool_V2.zip) and save the .zip file locally. Do not open the .zip file.
|
1. Download [ValidationTool_Blender.zip](https://github.com/Roblox/avatar/tree/main/Tools/ClothingValidationTool) and save the .zip file locally. Do not open the .zip file.
|
||||||
2. In Blender, navigate to **Edit** > **Preferences**.
|
2. In Blender, navigate to **Edit** > **Preferences**.
|
||||||
3. In Preferences, go to the **Add-Ons** section on the left sidebar.
|
3. In Preferences, go to the **Add-Ons** section on the left sidebar.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,10 @@ title: Calisthenics Tool
|
||||||
description: Calisthenics Tool is a Blender plugin that you can use to verify skinning quality of an asset.
|
description: Calisthenics Tool is a Blender plugin that you can use to verify skinning quality of an asset.
|
||||||
---
|
---
|
||||||
|
|
||||||
|
<Alert severity = 'warning'>
|
||||||
|
This tool is no longer in active development. You are free to use the tool for any purpose. The tool may be out of date or incompatible with modern Roblox assets.
|
||||||
|
</Alert>
|
||||||
|
|
||||||
The **Calisthenics Tool** is a supplemental [Blender](https://www.blender.org/) add-on that allows you to quickly test your asset through a set of animation cycles to verify your skinning data. At any point during the animation testing, you can pause and use Blender's skinning Tools, such as [Weight Painting brushes](https://docs.blender.org/manual/en/latest/sculpt_paint/weight_paint/introduction.html), to resolve any skinning imperfections.
|
The **Calisthenics Tool** is a supplemental [Blender](https://www.blender.org/) add-on that allows you to quickly test your asset through a set of animation cycles to verify your skinning data. At any point during the animation testing, you can pause and use Blender's skinning Tools, such as [Weight Painting brushes](https://docs.blender.org/manual/en/latest/sculpt_paint/weight_paint/introduction.html), to resolve any skinning imperfections.
|
||||||
|
|
||||||
Skinning your clothing and characters is a critical and often time-intensive process to create high quality assets that move and fit with different character bodies. Similar to the [Layered Clothing Validation Tool](../../art/accessories/validation-tool.md), the Calisthenics Tool can save you time when testing your character models after rigging and skinning.
|
Skinning your clothing and characters is a critical and often time-intensive process to create high quality assets that move and fit with different character bodies. Similar to the [Layered Clothing Validation Tool](../../art/accessories/validation-tool.md), the Calisthenics Tool can save you time when testing your character models after rigging and skinning.
|
||||||
|
|
@ -34,7 +38,7 @@ The Calisthenics Tool plugin is designed for [Blender 3.0+](https://www.blender.
|
||||||
|
|
||||||
To install the Calisthenics Tool in Blender:
|
To install the Calisthenics Tool in Blender:
|
||||||
|
|
||||||
1. Download the [CalisthenicsTool.zip](../../assets/modeling/skinned-meshes/calisthenic-tool/CalisthenicsTool.zip) and save the `.zip` file locally.
|
1. Download the [CalisthenicsTool.zip](https://github.com/Roblox/avatar/tree/main/Tools/CalisthenicsTool) and save the `.zip` file locally.
|
||||||
2. In Blender, navigate to **Edit** > **Preferences**.
|
2. In Blender, navigate to **Edit** > **Preferences**.
|
||||||
<img src="../../assets/modeling/skinned-meshes/calisthenic-tool/Blender-Preferences.png" width="70%" />
|
<img src="../../assets/modeling/skinned-meshes/calisthenic-tool/Blender-Preferences.png" width="70%" />
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:794c957f274192d7a86de81b44078355cec2fa33c5f18a41dcbaf17f411d5d65
|
||||||
|
size 1247607
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:a4154ccc380b20b6565317ae4a9eb0995e7a2dd77a5bc73ae64704308583e03a
|
||||||
|
size 359258
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:808428d68b558ac1478fdc4c5bc58abd7e026879a547c307307c25bd0ac21251
|
||||||
|
size 795629
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:e15538acb4fe2bdab9818152b00e5489213d4c8da549c65c7a0e7effa54aca56
|
oid sha256:5a68c4f5faeada99662c2d3645eaf67a23509be909f507416f4b084a6c1094c6
|
||||||
size 36286
|
size 90224
|
||||||
|
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:79b980f6daa0a82408c9a5e840215e342bd4d80ac6c484d89e802514a117e100
|
|
||||||
size 50093
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:e48247ddb1eb1713581aca7604ce6a671fd03de16b7ed9a2fff2d0998faac456
|
||||||
|
size 101256
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:dc255008da4cdb8fbda00a05a6492c361b668875c6ef183724c0a40d8f0070be
|
|
||||||
size 54306
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:d8f8fa749b7a43756c49752cbc18b113b6c9ba08386afffd00380f77d673b732
|
||||||
|
size 103297
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:c96e778ef21e786b4246af38d51d7235c08f858be1c09ae7a372491ebc769ad8
|
|
||||||
size 54567
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:95b6556a8791cd9a1195379c9a9197498082d78248971093845b41a635d61fe2
|
||||||
|
size 107308
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:211078b4d7ff49ad01c3a91af147d12f3904d821cee8ffdd14762561476c5134
|
||||||
|
size 105281
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:33573ebc5a49998cec9da74f916e87b4d5c90bb6503c4dc24ceda96669789c78
|
||||||
|
size 93848
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:01963f70a9014b5995dedbe139988b9df113139d338569e623dc25b8ceccab9c
|
||||||
|
size 101408
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:a9bb83af002a298c856f9c4b48ed211bb96c7bdbc834402a9c5cf8ea459b16b8
|
oid sha256:31920af1bc1f0829b73bba681e8db5c061258cd1bc61e48de8715b34d36632ba
|
||||||
size 47316
|
size 97733
|
||||||
|
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:13111576730b9ea431a7eb0b27b6a8b51ccf999701151e8a5698d1f2f16d959e
|
|
||||||
size 49924
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:b32d2037813551bf199ed0711fbc2d0305e3fa296a0544e1a265bcc70f16fd27
|
oid sha256:65fb795636715a40a2edd7392fcd049b410edc930cb292a13fd94e1342f752d9
|
||||||
size 57930
|
size 108409
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:6b53c7d2c91b2c3026dac7e2e70c16ee430488702f9fe120eb10b045213385f8
|
||||||
|
size 106904
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:83fe874cf88414282e63135000b7499e5dac8fdf6cb5badaf2ef9a51cdb23e39
|
|
||||||
size 62894
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:96e1497e75cb417edfdef2f221fafcc7c3f8e9114c30240d1e4a7ef9d80dfb7a
|
||||||
|
size 101119
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:6ae4db14ba11dcedec5992825f78c67f40fcedff2b39fb9638c42fcc1875285c
|
|
||||||
size 51437
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:a2d3d08ae7187e33163ca95b9c9355fad617c6615ca9d66d5c7ad6b92210a1e9
|
||||||
|
size 105770
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:fbbe63dc0a53c0b9f5fca7c76f839aaa6012fc30e667dbbac111c1ff21c84ce3
|
||||||
|
size 112513
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:396ebf835e937b8f9ecc8e42f297e1cca5404dcdb9965a4eea7b9d12745dcecd
|
|
||||||
size 63164
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:b449d96482d364509e3e5a1ca615dab42e7c8e88c6b01a888619aa9044732eda
|
oid sha256:12c45f8ebc6224121c96a12d6b4274f3226be479f741b1daf0021d7dfd2ba1fa
|
||||||
size 56226
|
size 106841
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:1c2a5a901c1d6bb5769c86734bf6356c3369f61cd1d920a2aa381af62bde8657
|
||||||
|
size 111138
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:84ca49a5b7610e939f2289ca5fa7317ad3b58b25b7a1fe4e77d3335c26b5aae3
|
|
||||||
size 65443
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:a87f0072d9e113a960a0a81b3de623c34417179fe13c233379fcdc85d6e797f9
|
||||||
|
size 119048
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:a35bd6d8b546ca2c280bf3ca5a95be39a29e7248f56b5b9655d49f83629d573e
|
||||||
|
size 117858
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:6938a7bb069306d1b57bee1ff2104027443c4b095aab7732185f3f135e63879a
|
||||||
|
size 135952
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:4e98c0c1f9dcdb71e9f3ee82e2fe018c0122e8659f1df8260ea30d13d69548a0
|
|
||||||
size 79636
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:3925f6539f74e4b3784d29f0bf7fd59dee7329846c0b2fbff89d43da91b64d28
|
||||||
|
size 108022
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:14ad7dce8575adb963d4962b49bc22048e9657e796eaa424cec49e3241661724
|
|
||||||
size 60986
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ea44c5787df800ff1d5fabf41dbb1be83083ca947854f86638a84f6a02b12545
|
||||||
|
size 102519
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:f5086f872830040fb500bee0db0166deff24945595e8153d1617cd8f0dc9a8be
|
||||||
|
size 107875
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:b1600c402e1df6716a502a3a095aa3c9ed4faa5423c6f02b77eae1c32ca817f1
|
|
||||||
size 56324
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:8216b81a372a1a9e5f80ec1a93bd5ecd5de3dcc15f9ffdc350d8400d7588774b
|
|
||||||
size 51328
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:81bca79374de004430e19fc1c2d51f626d9f235754c24dd77b34a2d1f220eddd
|
|
||||||
size 60315
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:deb8be12d4282780dab64781e3d3684dd9661b925f071d47baa8f734d2771276
|
||||||
|
size 108218
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:5290cd3e652c0d06608f6e04103e9504eae7943d1b41151e57cca6e853105231
|
||||||
|
size 104654
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:18ffea32e8ae232e0d2237f1d53a96f1a975172e4cffc3cf5a1896baf6f8ceb2
|
|
||||||
size 57386
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:53f7a4e93a7743db6720d020bd5e8809f34d68a21c14e2b22929a58db19e621c
|
||||||
|
size 113511
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:2e6a014eb5380e94df54128e0dc6f1f8ef1d923e63d10dc41a62de0b3c86ab98
|
||||||
|
size 121859
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:9a1e2ab70598eb7a0a9b07273864142b22138a2bcadf3d795993c7b623bf7d66
|
||||||
|
size 111178
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ccaaa914bb43c087406c1abd89fd9a066bf423a7ff54bdbb297b7f4407366ba5
|
||||||
|
size 120483
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:91591f87d0e7f27d8f97364db23ece7cae762437cdf97bff78c986a4fef54cfd
|
|
||||||
size 105609
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:1758f2251c96654d3e3e7b031e3e2d2aa0ab88c408f089ce133b1940421f1bde
|
||||||
|
size 114118
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:83484ed9f4a37cf610ee3d80b579a9ea019b03cdca39219d0de380391bc3e601
|
|
||||||
size 71163
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:33e693ef895dbf5111aec5083e4823f9999919f01f4f2230e16b0177e48f5056
|
||||||
|
size 119148
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:354eb9538301b399ea79a67831ae2aba461f790c5a41cf851701f7d68602eac1
|
||||||
|
size 128067
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:68f8b621a8cfe55a6e7873dc8156a9d136792cc4f46da6cd1e47d2d67d30318b
|
||||||
|
size 100222
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:158636ed3788f981a214235c8b80c789260dafb329b489dd43b8d6959080362f
|
|
||||||
size 96799
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:449b9d909d85dd96d396809844e5dbd145c33f08022aec1077c4335f927a7473
|
|
||||||
size 49477
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:985443b07c7c533085ca4358aed74e1f72d8b3f396d1051a308085d158dba3ce
|
||||||
|
size 115004
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:aa5eaf03460dea44c1d761f38e1ff29b40c83133512af1f418ff0c54cee07e22
|
||||||
|
size 105782
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:20286a44f83eba192eb45dcd3cd3a1fc2cd33e80382ac4b1c4fe310891974e89
|
oid sha256:d82fa342125feaa830b6dc538b0126b87f9fc342cddc1eb6e42b7d6f552511bb
|
||||||
size 57840
|
size 104428
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:c533115109ed33894c336cf2bf94d74e3b84154cc69242797c4a4e71e2375e99
|
oid sha256:804ca75f21ed6374c30b8556b4d943928f6847e1e1bc554df2548442a4eff3d2
|
||||||
size 48641
|
size 99284
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:bc33faf19dc81e2c82a3bc04f457b4ddb5d227e34b6181d944331cf25490693f
|
||||||
|
size 113799
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:3d84b02aca8cfa1825ff3d76d33af7d292774e30ee7d35605ec3f5aff4f45721
|
oid sha256:baf47478fefcd49b815fc9e9921f15dba2d8ef1d1b918edc31d03690b2e21829
|
||||||
size 52745
|
size 103246
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:adfe294d2bcfc71e1468e6418a15d539ad8c03c32b5f7b2ef354df7430ea3070
|
||||||
|
size 113947
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:c98f948e9f470166a25fd213066b1e09854618c50c7ba00b4624074a4ec0c677
|
|
||||||
size 70749
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:d26bb6f26e80a72f9b9d062147ed6f4b1bf0eeabb246f6815a5ec81c1ba9ec04
|
||||||
|
size 107140
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:1110459445f87d00cb736ab868c3a4dea0f8fb273164ac35bf8e46fdcd2f805b
|
||||||
|
size 108068
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:d7da185547d7e6698362ef0e0c8939d0226447e7632d0d7d852743096ce7eabf
|
||||||
|
size 103154
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:36cb2fdd92e98278309615c15a50725cf2b132fdfa72720f36319bab33611331
|
||||||
|
size 107715
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:3fc4751830a50762f7291e2ae3f4b7d27402568fb2fbaab49335ba8904d66fd0
|
||||||
|
size 111989
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:a609fa32efd46062b169f0df1076f49cbf06814cc567470c5694dac11d66dc90
|
||||||
|
size 108305
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:d3ccbe3484cf708b4f3d60537736d6022b2683f64a8de613ae514446c6457aa0
|
||||||
|
size 108283
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:e0db44c8d303e127e7e2979d2f43415cfb178bb7b9934c9cb9d9aff4fbe81700
|
||||||
|
size 111480
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:fe933b0b7eca3c5a68b3a912654efddc7233e32a6893a61258a6d0c75c7e2075
|
||||||
|
size 109917
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:62b7cd375040e46ee923c0d628e6515e944ff36441f9b85fee0fb47956e964a9
|
||||||
|
size 111708
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:8312147d1626123dfc6502463b536d18729197e53ed16d5e3327c7eb4cbef1b1
|
||||||
|
size 120030
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:11dbc70babd88653934c584c1b53c722bdce8c2e809282c855d77f856c83b81b
|
||||||
|
size 106853
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:eaf1243c0831678a4c2e3c31cae0d2af6be1b9d141cd025639c9fff96f793cfd
|
|
||||||
size 62016
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:9f2b26ba9d956f2f6ae8b876388cee960b4258112a4edd1eef01864b15bb6475
|
|
||||||
size 61960
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:00c95002b9b6599e00c664def1819a2debff2fac6b0e60711e3793262ee74525
|
|
||||||
size 68688
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:b962e80e88b306f31794f96d84a790021806822ac782114ec13f7852cb2830eb
|
|
||||||
size 61796
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:3447987b5d3c705516409d6fc8261754dbb741c1e7c8ea6ec8792a4ee8d663aa
|
|
||||||
size 67348
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:e9ced971531f5b4a067c12cd40ab0fba977ebb95b96acc65bf1fb185194df4f0
|
|
||||||
size 64626
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:4a974c1b8be21ebdbe801f6e35f9f235b9fbe7b8be9b536b13cd1b2ec79d6f8e
|
||||||
|
size 108351
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:ff8e5cd91a6993cfceed2598fb93f048a9dadce27c90cc281166011f61b9a983
|
oid sha256:002e51a7debb49fe23044272d9227eac7717227288473ad6dc9468afcc433724
|
||||||
size 49417
|
size 99353
|
||||||
|
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:66dbe6b823cac5953c9236b338dcd84c44763a0b51624e1115586551ce8a846d
|
|
||||||
size 79493
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:24c060fc935e0c8cf471895b8e6965bad7b33e2672ed66283bb5465ad87b7b6d
|
oid sha256:7e080d6499146cf34bc1d6d89305c1569e5c98e07d0c72f1e79850515d7678a4
|
||||||
size 45417
|
size 97346
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:4f489c91a9b333a6bb07c28873bd1ed763a4a231dba87f31b537e26ef6e7d005
|
oid sha256:820e4c702c5712171cb99cefab0ec4380cc15fc7e796c8930dc40c1824eda1a9
|
||||||
size 55841
|
size 104710
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:b1dc58ea66b04e18c84a5f9b09110d4c45d98e9c1d28f584b343a9efcbc03b9c
|
||||||
|
size 107936
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:09a12ab9b4b039a51987e2856d237b4fc93c4d52abb3435acc67cabb4b8e2b67
|
|
||||||
size 61013
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:91951cc42eedb2907f0e3b88076d181a681881f9180f6d2cd0560105c9c244b3
|
||||||
|
size 114778
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:0fb0459a365daaec6ddadd2566076d614af03b57e199e3825a03d7baa29ba03b
|
|
||||||
size 114810
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue