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
@@ -43,22 +43,26 @@
}
}
};
});
-var Healer = Container.expand(function (resources) {
- var self = Container.call(this);
- self.healerGraphics = self.createAsset('healer', 'Healer Graphics', 0.5, 0.5);
- self.gameResources = resources;
- self.healingPower = 5;
+var Doctor = Villager.expand(function (resources) {
+ var self = Villager.call(this, resources, 100);
+ self.doctorGraphics = self.createAsset('doctor', 'Doctor Graphics', 0.5, 0.5);
+ self.healingPower = 10;
self.heal = function (villager) {
if (villager.health < 100) {
villager.health += self.healingPower;
if (villager.health > 100) villager.health = 100;
}
};
- LK.on('tick', function () {
- self.parent.villagers.forEach(self.heal);
- });
+ self.update = function () {
+ if (self.parent) {
+ self.parent.villagers.forEach(function (v) {
+ if (v !== self) self.heal(v);
+ });
+ }
+ };
+ LK.on('tick', self.update);
});
var TownCrier = Container.expand(function () {
var self = Container.call(this);
self.crierGraphics = self.createAsset('townCrier', 'Town Crier Graphics', 0.5, 0.5);
@@ -375,36 +379,27 @@
villager.gameResources.weapon.amount += 1;
}
};
});
-var Guard = Container.expand(function () {
- var self = Container.call(this);
+var Guard = Villager.expand(function () {
+ var self = Villager.call(this, {
+ wood: 0,
+ rock: 0,
+ food: 0
+ }, 100);
self.guardGraphics = self.createAsset('guard', 'Guard Graphics', 0.5, 0.5);
- self.addChild(self.guardGraphics);
- self.x = Math.random() * 2048;
- self.y = Math.random() * 2732;
self.speed = 2;
- self.isDaytime = true;
self.patrolArea = function () {
- if (!self.isDaytime) {
- var patrolX = Math.random() * 2048;
- var patrolY = Math.random() * 2732;
- self.moveTo(patrolX, patrolY, self.speed);
- }
+ var patrolX = Math.random() * 2048;
+ var patrolY = Math.random() * 2732;
+ self.moveTo(patrolX, patrolY, self.speed);
};
- self.sleep = function () {
- if (self.isDaytime) {
- self.x = self.home.x;
- self.y = self.home.y;
- }
- };
- LK.on('tick', function () {
- if (self.isDaytime) {
- self.sleep();
- } else {
+ self.update = function () {
+ if (!self.isDaytime) {
self.patrolArea();
}
- });
+ };
+ LK.on('tick', self.update);
});
var Brewery = Container.expand(function () {
var self = Container.call(this);
self.breweryGraphics = self.createAsset('brewery', 'Brewery Graphics', 0.5, 0.5);
@@ -772,18 +767,25 @@
self.gameResources = resources;
self.forgeTool = function () {};
self.forgeWeapon = function () {};
});
-var Merchant = Container.expand(function (resources) {
- var self = Container.call(this);
+var Merchant = Villager.expand(function (resources) {
+ var self = Villager.call(this, resources, 100);
self.merchantGraphics = self.createAsset('merchant', 'Merchant Graphics', 0.5, 0.5);
- self.gameResources = resources;
self.trade = function (villager, resourceType, amount) {
if (self.gameResources[resourceType].amount >= amount) {
self.gameResources[resourceType].amount -= amount;
villager.gameResources[resourceType].amount += amount;
}
};
+ self.update = function () {
+ if (self.parent) {
+ self.parent.villagers.forEach(function (v) {
+ if (v !== self) self.trade(v, 'food', 5);
+ });
+ }
+ };
+ LK.on('tick', self.update);
});
var DayNightCycleManager = Container.expand(function () {
var self = Container.call(this);
self.cycleDuration = 24000;
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.