diff --git a/binaries/data/mods/official/art/textures/cursors/action-gather-ore.dds b/binaries/data/mods/official/art/textures/cursors/action-gather-metal.dds similarity index 100% rename from binaries/data/mods/official/art/textures/cursors/action-gather-ore.dds rename to binaries/data/mods/official/art/textures/cursors/action-gather-metal.dds diff --git a/binaries/data/mods/official/art/textures/cursors/action-gather-ore.txt b/binaries/data/mods/official/art/textures/cursors/action-gather-metal.txt similarity index 100% rename from binaries/data/mods/official/art/textures/cursors/action-gather-ore.txt rename to binaries/data/mods/official/art/textures/cursors/action-gather-metal.txt diff --git a/binaries/data/mods/official/art/textures/ui/session/icons/sheets/resource.txt b/binaries/data/mods/official/art/textures/ui/session/icons/sheets/resource.txt index 120eba9d90..f3fca3a527 100644 --- a/binaries/data/mods/official/art/textures/ui/session/icons/sheets/resource.txt +++ b/binaries/data/mods/official/art/textures/ui/session/icons/sheets/resource.txt @@ -1,5 +1,5 @@ food,Food, wood,Wood, stone,Stone, -ore,Ore, +metal,Metal, population,Population, diff --git a/binaries/data/mods/official/entities/template_gaia_geo_mineral.xml b/binaries/data/mods/official/entities/template_gaia_geo_mineral.xml index 274bbfd7be..c0dbbec005 100644 --- a/binaries/data/mods/official/entities/template_gaia_geo_mineral.xml +++ b/binaries/data/mods/official/entities/template_gaia_geo_mineral.xml @@ -20,7 +20,7 @@ - Ore + Metal 192 192 0 @@ -28,7 +28,7 @@ 500 - ore + metal diff --git a/binaries/data/mods/official/entities/template_structure_civic_civil_centre.xml b/binaries/data/mods/official/entities/template_structure_civic_civil_centre.xml index 644e04b29d..2748765ee8 100644 --- a/binaries/data/mods/official/entities/template_structure_civic_civil_centre.xml +++ b/binaries/data/mods/official/entities/template_structure_civic_civil_centre.xml @@ -51,7 +51,7 @@ - + 0.1 0.2 diff --git a/binaries/data/mods/official/entities/template_structure_economic_market.xml b/binaries/data/mods/official/entities/template_structure_economic_market.xml index 6f6d103baf..1deeb02ec9 100644 --- a/binaries/data/mods/official/entities/template_structure_economic_market.xml +++ b/binaries/data/mods/official/entities/template_structure_economic_market.xml @@ -49,7 +49,7 @@ - + diff --git a/binaries/data/mods/official/entities/template_structure_economic_mill.xml b/binaries/data/mods/official/entities/template_structure_economic_mill.xml index 488f02704c..f451738319 100644 --- a/binaries/data/mods/official/entities/template_structure_economic_mill.xml +++ b/binaries/data/mods/official/entities/template_structure_economic_mill.xml @@ -13,9 +13,9 @@ 52 - Village + Village, Mill - A Mill must be constructed near a source of Wood, Stone or Ore in order to collect them. It also provides technologies that improve gathering of these resources. + A Mill must be constructed near a source of Wood, Stone or Metal in order to collect them. It also provides technologies that improve gathering of these resources. @@ -40,7 +40,7 @@ - + 0.1 0.2 diff --git a/binaries/data/mods/official/entities/template_unit_cavalry.xml b/binaries/data/mods/official/entities/template_unit_cavalry.xml index 2b4af4dc06..5ff6840253 100644 --- a/binaries/data/mods/official/entities/template_unit_cavalry.xml +++ b/binaries/data/mods/official/entities/template_unit_cavalry.xml @@ -36,7 +36,7 @@ 1 1 1 - 1 + 1 @@ -58,9 +58,10 @@ - 2 + 15 + true 2.0 3000 diff --git a/binaries/data/mods/official/entities/template_unit_hero.xml b/binaries/data/mods/official/entities/template_unit_hero.xml index 7436ad84b7..cc4c557e5a 100644 --- a/binaries/data/mods/official/entities/template_unit_hero.xml +++ b/binaries/data/mods/official/entities/template_unit_hero.xml @@ -28,7 +28,7 @@ 1 1 1 - 1 + 1 diff --git a/binaries/data/mods/official/entities/template_unit_infantry.xml b/binaries/data/mods/official/entities/template_unit_infantry.xml index e2a9c40b92..2f74e8eea8 100644 --- a/binaries/data/mods/official/entities/template_unit_infantry.xml +++ b/binaries/data/mods/official/entities/template_unit_infantry.xml @@ -27,7 +27,7 @@ 1 1 1 - 1 + 1 @@ -69,15 +69,16 @@ - 20 - 20 - 20 - 20 + 10 + 10 + 10 + 10 10 10 - 10 + 10 + true 2.0 3000 diff --git a/binaries/data/mods/official/entities/template_unit_super.xml b/binaries/data/mods/official/entities/template_unit_super.xml index a26d4fe424..6e28309245 100644 --- a/binaries/data/mods/official/entities/template_unit_super.xml +++ b/binaries/data/mods/official/entities/template_unit_super.xml @@ -22,7 +22,7 @@ 1 1 1 - 1 + 1 diff --git a/binaries/data/mods/official/entities/template_unit_support.xml b/binaries/data/mods/official/entities/template_unit_support.xml index 652604936e..319d4eea62 100644 --- a/binaries/data/mods/official/entities/template_unit_support.xml +++ b/binaries/data/mods/official/entities/template_unit_support.xml @@ -22,7 +22,7 @@ 1 1 1 - 1 + 1 diff --git a/binaries/data/mods/official/entities/template_unit_support_female_citizen.xml b/binaries/data/mods/official/entities/template_unit_support_female_citizen.xml index b68df66015..5e242256c6 100644 --- a/binaries/data/mods/official/entities/template_unit_support_female_citizen.xml +++ b/binaries/data/mods/official/entities/template_unit_support_female_citizen.xml @@ -18,13 +18,20 @@ - 30 + 25 0.8 0.8 1.0 0.5 + + 25 + 0.8 + 0.8 + 1.0 + 0.5 + @@ -47,11 +54,14 @@ - 5 - 5 - 5 - 5 + 20 + 20 + 20 + 20 + 15 + 15 + 15 2.0 3000 diff --git a/binaries/data/mods/official/gui/test/functions_sim_player.js b/binaries/data/mods/official/gui/test/functions_sim_player.js index 9a373f63c2..0c10265642 100644 --- a/binaries/data/mods/official/gui/test/functions_sim_player.js +++ b/binaries/data/mods/official/gui/test/functions_sim_player.js @@ -12,13 +12,13 @@ function createResourceCounters() addResourceCounter(0, "food"); addResourceCounter(1, "wood"); addResourceCounter(2, "stone"); - addResourceCounter(3, "ore"); + addResourceCounter(3, "metal"); addResourceCounter(4, "population"); refreshResource("Food", 0); refreshResource("Wood", 1); refreshResource("Stone", 2); - refreshResource("Ore", 3); + refreshResource("Metal", 3); refreshResource("Population", 4); } diff --git a/binaries/data/mods/official/scripts/entity_functions.js b/binaries/data/mods/official/scripts/entity_functions.js index 9fcb41551c..bd66c85c20 100644 --- a/binaries/data/mods/official/scripts/entity_functions.js +++ b/binaries/data/mods/official/scripts/entity_functions.js @@ -90,6 +90,7 @@ function entityInit( evt ) this.GotoInRange = GotoInRange; this.attachAuras = attachAuras; this.setupRank = setupRank; + this.chooseGatherTarget = chooseGatherTarget; // Some temp variables to speed up property access var id = this.traits.id; @@ -256,6 +257,11 @@ function entityInit( evt ) } } + // Set up allure counter + if (this.actions && this.actions.gather && this.actions.gather.affectedByAllure) + { + this.allureCount = 0; + } stopXTimer(5); /* @@ -457,40 +463,49 @@ function setupRank() // attached to them only when they finish construction. function attachAuras() { - if( this.traits.auras ) + // Add all auras defined in this.traits.auras + var t = this.traits.auras; + var a; + if( t ) { - if( this.traits.auras.courage ) + if( t.courage ) { - a = this.traits.auras.courage; + a = t.courage; this.addAura ( "courage", a.radius, 0, a.r, a.g, a.b, a.a, new DamageModifyAura( this, true, a.bonus ) ); } - if( this.traits.auras.fear ) + if( t.fear ) { - a = this.traits.auras.fear; + a = t.fear; this.addAura ( "fear", a.radius, 0, a.r, a.g, a.b, a.a, new DamageModifyAura( this, false, -a.bonus ) ); } - if( this.traits.auras.infidelity ) + if( t.infidelity ) { - a = this.traits.auras.infidelity; + a = t.infidelity; this.addAura ( "infidelity", a.radius, 0, a.r, a.g, a.b, a.a, new InfidelityAura( this, a.time ) ); } - if( this.traits.auras.dropsite ) + if( t.dropsite ) { - a = this.traits.auras.dropsite; + a = t.dropsite; this.addAura ( "dropsite", a.radius, 0, a.r, a.g, a.b, a.a, new DropsiteAura( this, a.types ) ); } - if( this.traits.auras.heal ) + if( t.heal ) { - a = this.traits.auras.heal; + a = t.heal; this.addAura ( "heal", a.radius, a.speed, a.r, a.g, a.b, a.a, new HealAura( this ) ); } - if( this.traits.auras.trample ) + if( t.trample ) { - a = this.traits.auras.trample; + a = t.trample; this.addAura ( "trample", a.radius, a.speed, a.r, a.g, a.b, a.a, new TrampleAura( this ) ); } + if( t.allure ) + { + a = t.allure; + this.addAura ( "allure", a.radius, 0, a.r, a.g, a.b, a.a, new AllureAura( this ) ); + } } + // Settlements also get a special aura that will let them change player when a Civ Centre is built on top if( this.hasClass("Settlement") ) { this.addAura ( "settlement", 1.0, 0, 0.0, 0.0, 0.0, 0.0, new SettlementAura( this ) ); @@ -676,10 +691,14 @@ function performGather( evt ) return; } + var allureMod = 1; + if( g.affectedByAllure && this.allureCount > 0 ) + allureMod = 1.2; + if( g.resource[s.type][s.subType]) - gather_amt = parseFloat( g.resource[s.type][s.subType] ); + gather_amt = parseFloat( g.resource[s.type][s.subType] * allureMod ); else - gather_amt = parseFloat( g.resource[s.type] ); + gather_amt = parseFloat( g.resource[s.type] * allureMod ); if( s.max > 0 ) { @@ -1065,28 +1084,8 @@ function entityEventTargetExhausted( evt ) { if( evt.action == ACTION_GATHER ) { - // Look for other stuff of the same kind to gather - var visible = this.getVisibleEntities(); - var bestDist = 1e20; - var bestTarget = null; - for( var i=0; i