Skip to content

Commit

Permalink
Merge branch 'release/1.0.9'
Browse files Browse the repository at this point in the history
  • Loading branch information
alaingilbert committed Sep 14, 2018
2 parents d945c16 + adfa426 commit 468c28b
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 10 deletions.
16 changes: 8 additions & 8 deletions ogame.go
Original file line number Diff line number Diff line change
Expand Up @@ -2770,10 +2770,10 @@ func (b *OGame) deleteMessage(msgID int) error {
return nil
}

func energyProduced(maxTemp int, resourcesBuildings ResourcesBuildings, resSettings ResourceSettings, energyTechnology, solarSatellite int) int {
func energyProduced(minTemp, maxTemp int, resourcesBuildings ResourcesBuildings, resSettings ResourceSettings, energyTechnology, solarSatellite int) int {
energyProduced := int(float64(SolarPlant.Production(resourcesBuildings.SolarPlant)) * (float64(resSettings.SolarPlant) / 100))
energyProduced += int(float64(FusionReactor.Production(energyTechnology, resourcesBuildings.FusionReactor)) * (float64(resSettings.FusionReactor) / 100))
energyProduced += int(float64(SolarSatellite.Production(maxTemp, solarSatellite)) * (float64(resSettings.SolarSatellite) / 100))
energyProduced += int(float64(SolarSatellite.Production(minTemp, maxTemp, solarSatellite)) * (float64(resSettings.SolarSatellite) / 100))
return energyProduced
}

Expand All @@ -2784,8 +2784,8 @@ func energyNeeded(resourcesBuildings ResourcesBuildings, resSettings ResourceSet
return energyNeeded
}

func productionRatio(maxTemp int, resourcesBuildings ResourcesBuildings, resSettings ResourceSettings, energyTechnology int) float64 {
energyProduced := energyProduced(maxTemp, resourcesBuildings, resSettings, energyTechnology, resourcesBuildings.SolarSatellite)
func productionRatio(minTemp, maxTemp int, resourcesBuildings ResourcesBuildings, resSettings ResourceSettings, energyTechnology int) float64 {
energyProduced := energyProduced(minTemp, maxTemp, resourcesBuildings, resSettings, energyTechnology, resourcesBuildings.SolarSatellite)
energyNeeded := energyNeeded(resourcesBuildings, resSettings)
ratio := 1.0
if energyNeeded > energyProduced {
Expand All @@ -2795,8 +2795,8 @@ func productionRatio(maxTemp int, resourcesBuildings ResourcesBuildings, resSett
}

func getProductions(resBuildings ResourcesBuildings, resSettings ResourceSettings, researches Researches, universeSpeed,
maxTemp int, productionRatio float64) Resources {
energyProduced := energyProduced(maxTemp, resBuildings, resSettings, researches.EnergyTechnology, resBuildings.SolarSatellite)
minTemp, maxTemp int, productionRatio float64) Resources {
energyProduced := energyProduced(minTemp, maxTemp, resBuildings, resSettings, researches.EnergyTechnology, resBuildings.SolarSatellite)
energyNeeded := energyNeeded(resBuildings, resSettings)
return Resources{
Metal: MetalMine.Production(universeSpeed, productionRatio, resBuildings.MetalMine),
Expand Down Expand Up @@ -2824,8 +2824,8 @@ func (b *OGame) getResourcesProductions(planetID PlanetID) (Resources, error) {
researches := b.getResearch()
universeSpeed := b.getUniverseSpeed()
resSettings, _ := b.getResourceSettings(planetID)
ratio := productionRatio(planet.Temperature.Max, resBuildings, resSettings, researches.EnergyTechnology)
productions := getProductions(resBuildings, resSettings, researches, universeSpeed, planet.Temperature.Max, ratio)
ratio := productionRatio(planet.Temperature.Min, planet.Temperature.Max, resBuildings, resSettings, researches.EnergyTechnology)
productions := getProductions(resBuildings, resSettings, researches, universeSpeed, planet.Temperature.Min, planet.Temperature.Max, ratio)
return productions, nil
}

Expand Down
5 changes: 5 additions & 0 deletions planet.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,11 @@ func (p *Planet) GetFacilities() (Facilities, error) {
return p.ogame.GetFacilities(p.ID)
}

// Build builds any ogame objects (building, technology, ship, defence)
func (p *Planet) Build(id ID, nbr int) error {
return p.ogame.Build(p.ID, id, nbr)
}

// BuildCancelable builds any cancelable ogame objects (building, technology)
func (p *Planet) BuildCancelable(id ID) error {
return p.ogame.BuildCancelable(p.ID, id)
Expand Down
4 changes: 2 additions & 2 deletions solarSatellite.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ func newSolarSatellite() *solarSatellite {
}

// Production gets the energy production of nbr solar satellite
func (s *solarSatellite) Production(temperatureMax, nbr int) int {
return int((float64(temperatureMax)+140)/6) * nbr
func (s *solarSatellite) Production(temperatureMin, temperatureMax, nbr int) int {
return int((float64(temperatureMin+temperatureMax)/2+160)/6) * nbr
}

// GetLevel only useful so the solar satellite can implement Building interface
Expand Down

0 comments on commit 468c28b

Please sign in to comment.