# Class: StageBaseModel (/nqtr/index/classes/StageBaseModel)



Defined in: [src/classes/quest/StageBaseModel.ts:6](https://github.com/DRincs-Productions/nqtr/blob/db22fe9e7612d547ff25befcc444cf095348917d/src/classes/quest/StageBaseModel.ts#L6)

## Extends [#extends]

* [`StageStoredClass`](/nqtr/index/classes/StageStoredClass)

## Constructors [#constructors]

### Constructor [#constructor]

\> **new StageBaseModel**(`id`, `props`): `StageBaseModel`

Defined in: [src/classes/quest/StageBaseModel.ts:7](https://github.com/DRincs-Productions/nqtr/blob/db22fe9e7612d547ff25befcc444cf095348917d/src/classes/quest/StageBaseModel.ts#L7)

#### Parameters [#parameters]

##### id [#id]

`string`

##### props [#props]

[`StageProps`](/nqtr/index/interfaces/StageProps)

#### Returns [#returns]

`StageBaseModel`

#### Overrides [#overrides]

[`StageStoredClass`](/nqtr/index/classes/StageStoredClass).[`constructor`](/nqtr/index/classes/StageStoredClass#constructor)

## Properties [#properties]

### id [#id-1]

\> `readonly` **id**: `string`

Defined in: node_modules/@drincs/pixi-vn/dist/StoredClassModel-uMifeNzV.d.ts:41

Is id of the stored class. is unique for this class.

#### Inherited from [#inherited-from]

[`StageStoredClass`](/nqtr/index/classes/StageStoredClass).[`id`](/nqtr/index/classes/StageStoredClass#id)

## Accessors [#accessors]

### adviceDescription [#advicedescription]

#### Get Signature [#get-signature]

\> **get** **adviceDescription**(): `string`

Defined in: [src/classes/quest/StageBaseModel.ts:43](https://github.com/DRincs-Productions/nqtr/blob/db22fe9e7612d547ff25befcc444cf095348917d/src/classes/quest/StageBaseModel.ts#L43)

The advice description of the stage.

##### Returns [#returns-1]

`string`

***

### canStart [#canstart]

#### Get Signature [#get-signature-1]

\> **get** **canStart**(): `boolean`

Defined in: [src/classes/quest/StageBaseModel.ts:94](https://github.com/DRincs-Productions/nqtr/blob/db22fe9e7612d547ff25befcc444cf095348917d/src/classes/quest/StageBaseModel.ts#L94)

Check if the stage can start.

##### Example [#example]

```ts
export default class Stage extends StageStoredClass {
	override get canStart(): boolean {
		if (this.flagsRequired.length > 0 && !this.flagsRequired.every((flag) => storage.getFlag(flag.flag))) {
			return false;
		}
		return super.canStart;
	}
}
```

##### Returns [#returns-2]

`boolean`

#### Overrides [#overrides-1]

[`StageStoredClass`](/nqtr/index/classes/StageStoredClass).[`canStart`](/nqtr/index/classes/StageStoredClass#canstart)

***

### completed [#completed]

#### Get Signature [#get-signature-2]

\> **get** **completed**(): `boolean`

Defined in: [src/classes/quest/StageBaseModel.ts:79](https://github.com/DRincs-Productions/nqtr/blob/db22fe9e7612d547ff25befcc444cf095348917d/src/classes/quest/StageBaseModel.ts#L79)

Check if the flag and goals are completed.
You can force the completion of the stage by setting the completed property to true.

##### Example [#example-1]

```ts
export default class Stage extends StageStoredClass {
	override get completed(): boolean {
		if (super.completed) {
			return true;
		}
		if (this.flags.length > 0) {
			if (!this.flags.every((flag) => storage.getFlag(flag.flag))) {
				return false;
			}
			return true;
		}
		return false;
	}
	override set completed(value: boolean) {
		super.completed = value;
	}
}
```

##### Returns [#returns-3]

`boolean`

#### Set Signature [#set-signature]

\> **set** **completed**(`value`): `void`

Defined in: [src/classes/quest/StageBaseModel.ts:91](https://github.com/DRincs-Productions/nqtr/blob/db22fe9e7612d547ff25befcc444cf095348917d/src/classes/quest/StageBaseModel.ts#L91)

Check if the flag and goals are completed.
You can force the completion of the stage by setting the completed property to true.

##### Example [#example-2]

```ts
export default class Stage extends StageStoredClass {
	override get completed(): boolean {
		if (super.completed) {
			return true;
		}
		if (this.flags.length > 0) {
			if (!this.flags.every((flag) => storage.getFlag(flag.flag))) {
				return false;
			}
			return true;
		}
		return false;
	}
	override set completed(value: boolean) {
		super.completed = value;
	}
}
```

##### Parameters [#parameters-1]

###### value [#value]

`boolean`

##### Returns [#returns-4]

`void`

#### Overrides [#overrides-2]

[`StageStoredClass`](/nqtr/index/classes/StageStoredClass).[`completed`](/nqtr/index/classes/StageStoredClass#completed)

***

### deltaDateRequired [#deltadaterequired]

#### Get Signature [#get-signature-3]

\> **get** **deltaDateRequired**(): `number`

Defined in: [src/classes/quest/StageStoredClass.ts:122](https://github.com/DRincs-Productions/nqtr/blob/db22fe9e7612d547ff25befcc444cf095348917d/src/classes/quest/StageStoredClass.ts#L122)

The number of day/date required to start the stage.

##### Returns [#returns-5]

`number`

#### Inherited from [#inherited-from-1]

[`StageStoredClass`](/nqtr/index/classes/StageStoredClass).[`deltaDateRequired`](/nqtr/index/classes/StageStoredClass#deltadaterequired)

***

### description [#description]

#### Get Signature [#get-signature-4]

\> **get** **description**(): `string`

Defined in: [src/classes/quest/StageBaseModel.ts:35](https://github.com/DRincs-Productions/nqtr/blob/db22fe9e7612d547ff25befcc444cf095348917d/src/classes/quest/StageBaseModel.ts#L35)

The description of the stage.

##### Returns [#returns-6]

`string`

***

### flags [#flags]

#### Get Signature [#get-signature-5]

\> **get** **flags**(): `StageFlags`\[]

Defined in: [src/classes/quest/StageBaseModel.ts:59](https://github.com/DRincs-Productions/nqtr/blob/db22fe9e7612d547ff25befcc444cf095348917d/src/classes/quest/StageBaseModel.ts#L59)

The list of flags that the player must complete to finish the stage.

##### Returns [#returns-7]

`StageFlags`\[]

***

### flagsRequired [#flagsrequired]

#### Get Signature [#get-signature-6]

\> **get** **flagsRequired**(): `StageFlags`\[]

Defined in: [src/classes/quest/StageBaseModel.ts:67](https://github.com/DRincs-Productions/nqtr/blob/db22fe9e7612d547ff25befcc444cf095348917d/src/classes/quest/StageBaseModel.ts#L67)

The list of flags required to start the stage.

##### Returns [#returns-8]

`StageFlags`\[]

***

### image [#image]

#### Get Signature [#get-signature-7]

\> **get** **image**(): `string` | `undefined`

Defined in: [src/classes/quest/StageBaseModel.ts:51](https://github.com/DRincs-Productions/nqtr/blob/db22fe9e7612d547ff25befcc444cf095348917d/src/classes/quest/StageBaseModel.ts#L51)

The image of the stage.

##### Returns [#returns-9]

`string` | `undefined`

***

### name [#name]

#### Get Signature [#get-signature-8]

\> **get** **name**(): `string`

Defined in: [src/classes/quest/StageBaseModel.ts:27](https://github.com/DRincs-Productions/nqtr/blob/db22fe9e7612d547ff25befcc444cf095348917d/src/classes/quest/StageBaseModel.ts#L27)

The name of the stage.

##### Returns [#returns-10]

`string`

***

### onEnd [#onend]

#### Get Signature [#get-signature-9]

\> **get** **onEnd**(): [`OnRunEvent`](/nqtr/index/type-aliases/OnRunEvent)\<[`StageInterface`](/nqtr/index/interfaces/StageInterface)> | `undefined`

Defined in: [src/classes/quest/StageStoredClass.ts:48](https://github.com/DRincs-Productions/nqtr/blob/db22fe9e7612d547ff25befcc444cf095348917d/src/classes/quest/StageStoredClass.ts#L48)

The function that will be called when the stage ends.

##### Returns [#returns-11]

[`OnRunEvent`](/nqtr/index/type-aliases/OnRunEvent)\<[`StageInterface`](/nqtr/index/interfaces/StageInterface)> | `undefined`

#### Inherited from [#inherited-from-2]

[`StageStoredClass`](/nqtr/index/classes/StageStoredClass).[`onEnd`](/nqtr/index/classes/StageStoredClass#onend)

***

### onStart [#onstart]

#### Get Signature [#get-signature-10]

\> **get** **onStart**(): [`OnRunEvent`](/nqtr/index/type-aliases/OnRunEvent)\<[`StageInterface`](/nqtr/index/interfaces/StageInterface)> | `undefined`

Defined in: [src/classes/quest/StageStoredClass.ts:43](https://github.com/DRincs-Productions/nqtr/blob/db22fe9e7612d547ff25befcc444cf095348917d/src/classes/quest/StageStoredClass.ts#L43)

The function that will be called when the stage starts.

##### Returns [#returns-12]

[`OnRunEvent`](/nqtr/index/type-aliases/OnRunEvent)\<[`StageInterface`](/nqtr/index/interfaces/StageInterface)> | `undefined`

#### Inherited from [#inherited-from-3]

[`StageStoredClass`](/nqtr/index/classes/StageStoredClass).[`onStart`](/nqtr/index/classes/StageStoredClass#onstart)

***

### questsRequired [#questsrequired]

#### Get Signature [#get-signature-11]

\> **get** **questsRequired**(): [`QuestsRequiredType`](/nqtr/index/type-aliases/QuestsRequiredType)\[]

Defined in: [src/classes/quest/StageStoredClass.ts:127](https://github.com/DRincs-Productions/nqtr/blob/db22fe9e7612d547ff25befcc444cf095348917d/src/classes/quest/StageStoredClass.ts#L127)

The list of quests required to start the stage.

##### Returns [#returns-13]

[`QuestsRequiredType`](/nqtr/index/type-aliases/QuestsRequiredType)\[]

#### Inherited from [#inherited-from-4]

[`StageStoredClass`](/nqtr/index/classes/StageStoredClass).[`questsRequired`](/nqtr/index/classes/StageStoredClass#questsrequired)

***

### requestDescriptionToStart [#requestdescriptiontostart]

#### Get Signature [#get-signature-12]

\> **get** **requestDescriptionToStart**(): `string`

Defined in: [src/classes/quest/StageBaseModel.ts:75](https://github.com/DRincs-Productions/nqtr/blob/db22fe9e7612d547ff25befcc444cf095348917d/src/classes/quest/StageBaseModel.ts#L75)

The description of the request to start the stage.

##### Returns [#returns-14]

`string`

***

### startDate [#startdate]

#### Get Signature [#get-signature-13]

\> **get** **startDate**(): `number` | `undefined`

Defined in: [src/classes/quest/StageStoredClass.ts:73](https://github.com/DRincs-Productions/nqtr/blob/db22fe9e7612d547ff25befcc444cf095348917d/src/classes/quest/StageStoredClass.ts#L73)

The date when the stage starts.

##### Returns [#returns-15]

`number` | `undefined`

#### Inherited from [#inherited-from-5]

[`StageStoredClass`](/nqtr/index/classes/StageStoredClass).[`startDate`](/nqtr/index/classes/StageStoredClass#startdate)

***

### started [#started]

#### Get Signature [#get-signature-14]

\> **get** **started**(): `boolean`

Defined in: [src/classes/quest/StageStoredClass.ts:59](https://github.com/DRincs-Productions/nqtr/blob/db22fe9e7612d547ff25befcc444cf095348917d/src/classes/quest/StageStoredClass.ts#L59)

If the stage is started.

##### Returns [#returns-16]

`boolean`

#### Set Signature [#set-signature-1]

\> **set** **started**(`value`): `void`

Defined in: [src/classes/quest/StageStoredClass.ts:62](https://github.com/DRincs-Productions/nqtr/blob/db22fe9e7612d547ff25befcc444cf095348917d/src/classes/quest/StageStoredClass.ts#L62)

If the stage is started.

##### Parameters [#parameters-2]

###### value [#value-1]

`boolean`

##### Returns [#returns-17]

`void`

#### Inherited from [#inherited-from-6]

[`StageStoredClass`](/nqtr/index/classes/StageStoredClass).[`started`](/nqtr/index/classes/StageStoredClass#started)

## Methods [#methods]

### getStorageProperty() [#getstorageproperty]

\> `protected` **getStorageProperty**\<`T`>(`propertyName`, `idToUse?`): `T` | `undefined`

Defined in: node_modules/@drincs/pixi-vn/dist/StoredClassModel-uMifeNzV.d.ts:56

Get a property from the storage.

#### Type Parameters [#type-parameters]

##### T [#t]

`T` = `StorageElementType`

#### Parameters [#parameters-3]

##### propertyName [#propertyname]

`string`

The name of the property to get.

##### idToUse? [#idtouse]

`string`

The id of the instance to get the property.

#### Returns [#returns-18]

`T` | `undefined`

The value of the property. If the property is not found, returns undefined.

#### Default [#default]

```ts
this.id
```

#### Inherited from [#inherited-from-7]

[`StageStoredClass`](/nqtr/index/classes/StageStoredClass).[`getStorageProperty`](/nqtr/index/classes/StageStoredClass#getstorageproperty)

***

### inizialize() [#inizialize]

\> **inizialize**(): `void`

Defined in: [src/classes/quest/StageStoredClass.ts:103](https://github.com/DRincs-Productions/nqtr/blob/db22fe9e7612d547ff25befcc444cf095348917d/src/classes/quest/StageStoredClass.ts#L103)

#### Returns [#returns-19]

`void`

#### Inherited from [#inherited-from-8]

[`StageStoredClass`](/nqtr/index/classes/StageStoredClass).[`inizialize`](/nqtr/index/classes/StageStoredClass#inizialize)

***

### migrateOldStorage() [#migrateoldstorage]

\> `protected` **migrateOldStorage**(`oldCategoryId?`): `void`

Defined in: node_modules/@drincs/pixi-vn/dist/StoredClassModel-uMifeNzV.d.ts:37

#### Parameters [#parameters-4]

##### oldCategoryId? [#oldcategoryid]

`string`

#### Returns [#returns-20]

`void`

#### Inherited from [#inherited-from-9]

[`StageStoredClass`](/nqtr/index/classes/StageStoredClass).[`migrateOldStorage`](/nqtr/index/classes/StageStoredClass#migrateoldstorage)

***

### setStorageProperty() [#setstorageproperty]

\> `protected` **setStorageProperty**\<`T`>(`propertyName`, `value`): `void`

Defined in: node_modules/@drincs/pixi-vn/dist/StoredClassModel-uMifeNzV.d.ts:49

Update a property in the storage.

#### Type Parameters [#type-parameters-1]

##### T [#t-1]

`T`

The type of the value to set. (Deprecated, it is not necessary to specify the type of the value, it will be inferred from the value)

#### Parameters [#parameters-5]

##### propertyName [#propertyname-1]

`string`

The name of the property to set.

##### value [#value-2]

`StorageElementType`

The value to set. If is undefined, the property will be removed from the storage.

#### Returns [#returns-21]

`void`

#### Inherited from [#inherited-from-10]

[`StageStoredClass`](/nqtr/index/classes/StageStoredClass).[`setStorageProperty`](/nqtr/index/classes/StageStoredClass#setstorageproperty)

***

### start() [#start]

\> **start**(`props`): `Promise`\<`void`>

Defined in: [src/classes/quest/StageStoredClass.ts:110](https://github.com/DRincs-Productions/nqtr/blob/db22fe9e7612d547ff25befcc444cf095348917d/src/classes/quest/StageStoredClass.ts#L110)

The function that will be called when the stage starts.

#### Parameters [#parameters-6]

##### props [#props-1]

[`OnRunProps`](/nqtr/index/interfaces/OnRunProps)

#### Returns [#returns-22]

`Promise`\<`void`>

#### Inherited from [#inherited-from-11]

[`StageStoredClass`](/nqtr/index/classes/StageStoredClass).[`start`](/nqtr/index/classes/StageStoredClass#start)
