Skip to content

Commit 613fe05

Browse files
authored
Merge branch 'develop' into rs2-woodcutting-all-tree-objects
2 parents 946e7e1 + 110ec88 commit 613fe05

File tree

8 files changed

+383
-189
lines changed

8 files changed

+383
-189
lines changed

src/engine/task/README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,4 +136,3 @@ The following areas will make interesting use of the task system and would serve
136136

137137
- Health regen
138138
- NPC movement
139-
- Firemaking

src/plugins/skills/firemaking.plugin.ts

Lines changed: 0 additions & 188 deletions
This file was deleted.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
/**
2+
* Roll a chance to light a fire.
3+
*
4+
* TODO (jameskmonger) this was ported from the old codebase and needs to be documented.
5+
*
6+
* @param logLevel The firemaking level required to light the log.
7+
* @param playerLevel The player's current firemaking level.
8+
* @returns `true` if the player successfully lights the fire, `false` otherwise.
9+
*/
10+
export const canLight = (logLevel: number, playerLevel: number): boolean => {
11+
if (playerLevel < logLevel) {
12+
return false;
13+
}
14+
15+
playerLevel++;
16+
const hostRatio = Math.random() * logLevel;
17+
const clientRatio = Math.random() * ((playerLevel - logLevel) * (1 + (logLevel * 0.01)));
18+
return hostRatio < clientRatio;
19+
};
20+
21+
/**
22+
* Roll a chance to 'chain' a fire.
23+
*
24+
* TODO (jameskmonger) this was ported from the old codebase and needs to be documented.
25+
* what is "chain"?
26+
*
27+
* @param logLevel The firemaking level required to light the log.
28+
* @param playerLevel The player's current firemaking level.
29+
* @returns `true` if the player successfully lights the fire, `false` otherwise.
30+
*/
31+
export const canChain = (logLevel: number, playerLevel: number): boolean => {
32+
if (playerLevel < logLevel) {
33+
return false;
34+
}
35+
36+
playerLevel++;
37+
const hostRatio = Math.random() * logLevel;
38+
const clientRatio = Math.random() * ((playerLevel - logLevel) * (1 + (logLevel * 0.01)));
39+
return clientRatio - hostRatio < 3.5;
40+
};
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import { findItem } from '@engine/config';
2+
import { Burnable } from './types';
3+
4+
export const FIREMAKING_LOGS: Burnable[] = [
5+
{
6+
logItem: findItem('rs:logs'),
7+
requiredLevel: 1,
8+
experienceGained: 40
9+
},
10+
{
11+
logItem: findItem('rs:oak_logs'),
12+
requiredLevel: 15,
13+
experienceGained: 60
14+
},
15+
{
16+
logItem: findItem('rs:willow_logs'),
17+
requiredLevel: 30,
18+
experienceGained: 90
19+
},
20+
{
21+
logItem: findItem('rs:teak_logs'),
22+
requiredLevel: 35,
23+
experienceGained: 105
24+
},
25+
{
26+
logItem: findItem('rs:maple_logs'),
27+
requiredLevel: 45,
28+
experienceGained: 135
29+
},
30+
{
31+
logItem: findItem('rs:mahogany_logs'),
32+
requiredLevel: 50,
33+
experienceGained: 157.5
34+
},
35+
{
36+
logItem: findItem('rs:yew_logs'),
37+
requiredLevel: 60,
38+
experienceGained: 202.5
39+
},
40+
{
41+
logItem: findItem('rs:magic_logs'),
42+
requiredLevel: 75,
43+
experienceGained: 303.8
44+
}
45+
];

0 commit comments

Comments
 (0)