User prompt
Fix Bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'expand')' in this line: 'var Doctor = Villager.expand(function (resources) {' Line Number: 47
User prompt
Add 3 new functionality
User prompt
Add 5 New functionality
User prompt
Lumberjack move base on their iq
User prompt
Lumberjack move 3 time faster
User prompt
Make lumberjack move
User prompt
Show villager
User prompt
Show villager
User prompt
Make villager upfront the background
User prompt
Add 8 new functionality
User prompt
Add 6 New functionality
User prompt
Fix villager
User prompt
Fix villager not spawning
User prompt
Improve all fonctionality
User prompt
Improve
User prompt
Fix Bug: 'Cannot read properties of undefined (reading 'villagers')' in this line: 'self.gameInstance.villagers.forEach(function (villager) {' Line Number: 8
User prompt
Improve the entire code in two pass
User prompt
Fix Bug: 'Cannot read properties of undefined (reading 'villagers')' in this line: 'self.gameInstance.villagers.forEach(function (villager) {' Line Number: 8
User prompt
Improve the entire code
User prompt
Fix Bug: 'TypeError: this.performAction is not a function' in this line: 'this.performAction();' Line Number: 852
User prompt
Fix Bug: 'TypeError: this.performAction is not a function' in this line: 'this.performAction();' Line Number: 852
User prompt
Fix Bug: 'TypeError: villager.decideNextAction is not a function' in this line: 'villager.decideNextAction();' Line Number: 995
User prompt
Fix Bug: 'TypeError: villager.decideNextAction is not a function' in this line: 'villager.decideNextAction();' Line Number: 995
User prompt
Fix Bug: 'TypeError: villager.updateStateAndPosition is not a function' in this line: 'villager.updateStateAndPosition();' Line Number: 1005
User prompt
Fix Bug: 'TypeError: villager.updateStateAndPosition is not a function' in this line: 'villager.updateStateAndPosition();' Line Number: 1005
===================================================================
--- original.js
+++ change.js
@@ -784,24 +784,47 @@
this.x += Math.cos(angle) * moveDistance;
this.y += Math.sin(angle) * moveDistance;
}
};
-Villager.prototype.decideNextAction = function () {};
-Villager.prototype.performAction = function () {
- if (this.state === 'idle') {
- this.idle();
- } else if (this.state === 'goingHomeToRest') {
- this.goHomeToRest();
- } else if (this.state === 'goingToWork') {
- this.goToWork();
- } else if (this.state === 'seekingFood') {
- globalSeekResource(this, this.state.substring(7).toLowerCase());
- } else if (this.state === 'seekingWood') {
- this.seekResource('wood');
- } else if (this.state === 'seekingRock') {
- this.seekResource('rock');
- } else if (this.state === 'wandering') {
- this.wander();
+Villager.prototype.decideNextAction = function () {
+ var needs = {
+ 'rest': this.energy < 20 || this.tiredness >= 80,
+ 'work': this.energy >= 20 && this.workplace && this.tiredness < 80,
+ 'food': this.gameResources.food.amount < 20,
+ 'wood': this.gameResources.wood.amount < 20,
+ 'rock': this.gameResources.rock.amount < 20
+ };
+ var actions = {
+ 'rest': () => {
+ this.targetX = this.home.x;
+ this.targetY = this.home.y;
+ this.state = 'goingHomeToRest';
+ },
+ 'work': () => {
+ this.targetX = this.workplace.x;
+ this.targetY = this.workplace.y;
+ this.state = 'goingToWork';
+ },
+ 'food': () => {
+ this.state = 'seekingFood';
+ },
+ 'wood': () => {
+ this.state = 'seekingWood';
+ },
+ 'rock': () => {
+ this.state = 'seekingRock';
+ },
+ 'wander': () => {
+ this.targetX = Math.random() * 2048;
+ this.targetY = Math.random() * 2732;
+ this.state = 'wandering';
+ }
+ };
+ var chosenAction = Object.keys(needs).find(need => needs[need]);
+ if (chosenAction) {
+ actions[chosenAction]();
+ } else {
+ actions['wander']();
}
};
Villager.prototype.idle = function () {};
Villager.prototype.goHomeToRest = function () {
A background of a paysage with plain and without tree or montainbut no water see from the top in the air 100m by 100m Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
One human medieval villager in a warcraft 2 style Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a house in a warcraft 2 style Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A tree a rock and crambery in a RTS style Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A heart comic style Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A cloud in a comic style Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A market in a RTS fantasy style Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
An Inn in a RTS fantasy style Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
An school in a RTS fantasy style Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
An bakery in a RTS fantasy style Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A well in a RTS fantasy style Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A tree in a rts style Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
An apple in a rts style Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A rock in a rts style Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A home in a RTS and fantasy style. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A brewery in a fantasy rts style. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A lumberjack in a fantasy rts style. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a marketplace in a fantasy rts style. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a festival in a fantasy rts style. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.