2024-05-27 18:26:44 -04:00
|
|
|
class Entity {
|
|
|
|
get Name() {
|
|
|
|
return this._decoder.decode(new Uint8Array(this._ptr.slice(0, 24)));
|
|
|
|
}
|
|
|
|
set Name(v) {
|
|
|
|
this._data.set(this._encoder.encode(v), 0);
|
|
|
|
}
|
|
|
|
get Strength() {
|
|
|
|
return this._data.getInt32(24, true);
|
|
|
|
}
|
|
|
|
set Strength(v) {
|
|
|
|
return this._data.setInt32(24, v, true);
|
|
|
|
}
|
|
|
|
get Endurance() {
|
|
|
|
return this._data.getInt32(28, true);
|
|
|
|
}
|
|
|
|
set Endurance(v) {
|
|
|
|
return this._data.setInt32(28, v, true);
|
|
|
|
}
|
|
|
|
get Intelligence() {
|
|
|
|
return this._data.getInt32(32, true);
|
|
|
|
}
|
|
|
|
set Intelligence(v) {
|
|
|
|
return this._data.setInt32(32, v, true);
|
|
|
|
}
|
|
|
|
get Wisdom() {
|
|
|
|
return this._data.getInt32(36, true);
|
|
|
|
}
|
|
|
|
set Wisdom(v) {
|
|
|
|
return this._data.setInt32(36, v, true);
|
|
|
|
}
|
|
|
|
get Charisma() {
|
|
|
|
return this._data.getInt32(40, true);
|
|
|
|
}
|
|
|
|
set Charisma(v) {
|
|
|
|
return this._data.setInt32(40, v, true);
|
|
|
|
}
|
|
|
|
get Faith() {
|
|
|
|
return this._data.getInt32(44, true);
|
|
|
|
}
|
|
|
|
set Faith(v) {
|
|
|
|
return this._data.setInt32(44, v, true);
|
|
|
|
}
|
|
|
|
get Artisan() {
|
|
|
|
return this._data.getInt32(48, true);
|
|
|
|
}
|
|
|
|
set Artisan(v) {
|
|
|
|
return this._data.setInt32(48, v, true);
|
|
|
|
}
|
|
|
|
get Metalworking() {
|
|
|
|
return this._data.getInt32(52, true);
|
|
|
|
}
|
|
|
|
set Metalworking(v) {
|
|
|
|
return this._data.setInt32(52, v, true);
|
|
|
|
}
|
|
|
|
get Alchemy() {
|
|
|
|
return this._data.getInt32(56, true);
|
|
|
|
}
|
|
|
|
set Alchemy(v) {
|
|
|
|
return this._data.setInt32(56, v, true);
|
|
|
|
}
|
|
|
|
get Engineering() {
|
|
|
|
return this._data.getInt32(60, true);
|
|
|
|
}
|
|
|
|
set Engineering(v) {
|
|
|
|
return this._data.setInt32(60, v, true);
|
|
|
|
}
|
|
|
|
get Culinary() {
|
|
|
|
return this._data.getInt32(64, true);
|
|
|
|
}
|
|
|
|
set Culinary(v) {
|
|
|
|
return this._data.setInt32(64, v, true);
|
|
|
|
}
|
|
|
|
get Ranged() {
|
|
|
|
return this._data.getInt32(68, true);
|
|
|
|
}
|
|
|
|
set Ranged(v) {
|
|
|
|
return this._data.setInt32(68, v, true);
|
|
|
|
}
|
|
|
|
get Melee() {
|
|
|
|
return this._data.getInt32(72, true);
|
|
|
|
}
|
|
|
|
set Melee(v) {
|
|
|
|
return this._data.setInt32(72, v, true);
|
|
|
|
}
|
|
|
|
get Acrobatics() {
|
|
|
|
return this._data.getInt32(76, true);
|
|
|
|
}
|
|
|
|
set Acrobatics(v) {
|
|
|
|
return this._data.setInt32(76, v, true);
|
|
|
|
}
|
|
|
|
get Prestidigitation() {
|
|
|
|
return this._data.getInt32(80, true);
|
|
|
|
}
|
|
|
|
set Prestidigitation(v) {
|
|
|
|
return this._data.setInt32(80, v, true);
|
|
|
|
}
|
|
|
|
get Language() {
|
|
|
|
return this._data.getInt32(84, true);
|
|
|
|
}
|
|
|
|
set Language(v) {
|
|
|
|
return this._data.setInt32(84, v, true);
|
|
|
|
}
|
|
|
|
get Medicine() {
|
|
|
|
return this._data.getInt32(88, true);
|
|
|
|
}
|
|
|
|
set Medicine(v) {
|
|
|
|
return this._data.setInt32(88, v, true);
|
|
|
|
}
|
|
|
|
get Thaumitology() {
|
|
|
|
return this._data.getInt32(92, true);
|
|
|
|
}
|
|
|
|
set Thaumitology(v) {
|
|
|
|
return this._data.setInt32(92, v, true);
|
|
|
|
}
|
|
|
|
get Theology() {
|
|
|
|
return this._data.getInt32(96, true);
|
|
|
|
}
|
|
|
|
set Theology(v) {
|
|
|
|
return this._data.setInt32(96, v, true);
|
|
|
|
}
|
|
|
|
get Fishing() {
|
|
|
|
return this._data.getInt32(100, true);
|
|
|
|
}
|
|
|
|
set Fishing(v) {
|
|
|
|
return this._data.setInt32(100, v, true);
|
|
|
|
}
|
|
|
|
get Mining() {
|
|
|
|
return this._data.getInt32(104, true);
|
|
|
|
}
|
|
|
|
set Mining(v) {
|
|
|
|
return this._data.setInt32(104, v, true);
|
|
|
|
}
|
|
|
|
get Survival() {
|
|
|
|
return this._data.getInt32(108, true);
|
|
|
|
}
|
|
|
|
set Survival(v) {
|
|
|
|
return this._data.setInt32(108, v, true);
|
|
|
|
}
|
|
|
|
get Gardening() {
|
|
|
|
return this._data.getInt32(112, true);
|
|
|
|
}
|
|
|
|
set Gardening(v) {
|
|
|
|
return this._data.setInt32(112, v, true);
|
|
|
|
}
|
|
|
|
get History() {
|
|
|
|
return this._data.getInt32(116, true);
|
|
|
|
}
|
|
|
|
set History(v) {
|
|
|
|
return this._data.setInt32(116, v, true);
|
|
|
|
}
|
|
|
|
get Perception() {
|
|
|
|
return this._data.getInt32(120, true);
|
|
|
|
}
|
|
|
|
set Perception(v) {
|
|
|
|
return this._data.setInt32(120, v, true);
|
|
|
|
}
|
|
|
|
get Luck() {
|
|
|
|
return this._data.getInt32(124, true);
|
|
|
|
}
|
|
|
|
set Luck(v) {
|
|
|
|
return this._data.setInt32(124, v, true);
|
|
|
|
}
|
|
|
|
get Stealth() {
|
|
|
|
return this._data.getInt32(128, true);
|
|
|
|
}
|
|
|
|
set Stealth(v) {
|
|
|
|
return this._data.setInt32(128, v, true);
|
|
|
|
}
|
|
|
|
get Attractiveness() {
|
|
|
|
return this._data.getInt32(132, true);
|
|
|
|
}
|
|
|
|
set Attractiveness(v) {
|
|
|
|
return this._data.setInt32(132, v, true);
|
|
|
|
}
|
|
|
|
get Affluence() {
|
|
|
|
return this._data.getInt32(136, true);
|
|
|
|
}
|
|
|
|
set Affluence(v) {
|
|
|
|
return this._data.setInt32(136, v, true);
|
|
|
|
}
|
|
|
|
get Notoriety() {
|
|
|
|
return this._data.getInt32(140, true);
|
|
|
|
}
|
|
|
|
set Notoriety(v) {
|
|
|
|
return this._data.setInt32(140, v, true);
|
|
|
|
}
|
|
|
|
get bytes() {
|
|
|
|
return new Uint8Array(this._ptr);
|
|
|
|
}
|
|
|
|
constructor(init = {}, ptr = undefined) {
|
|
|
|
this._size = 144;
|
|
|
|
this._ptr = ptr.buffer || new ArrayBuffer(this._size);
|
|
|
|
this._data = new DataView(this._ptr);
|
|
|
|
|
|
|
|
this._encoder = new TextEncoder();
|
|
|
|
this._decoder = new TextDecoder();
|
|
|
|
for (const key of Object.keys(init)) {
|
|
|
|
this[key] = init[key];
|
|
|
|
}
|
|
|
|
}
|
2024-05-27 19:26:24 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
export default Entity
|