botf2 / botf2 Goto Github PK
View Code? Open in Web Editor NEWLicense: Other
License: Other
Every time Windows 10 updates it means we have to either install another SDK or retarget the solution. There is no particular reason that it has to be C++. Easier just to convert it to C#
Need to look into what the issue really is and possible fixes. Have noted that in prolonged multiplayer games that the time to transmit data from the host PC to each player PC, one after the other, takes progressively longer to the point of time wasted. Wondering if it is re sending data on game state from turn one after each new turn? If so is there a way to increment the data sent to just the last turn to save time? (rather than starting over from turn one each time?)
http://star-trek-supremacy.proboards.com/post/6239/thread
A bug I noticed is that when the system population is decimated, the production values are still the same as the turn before and if you don't reallocate your workforce, your planet has the same production output it had before the population was reduced.
Also, one event killed off my entire system population, the planet was still under my control, but I couldn't recolonize it nor did I gain any new population on it, even the system population ifo was missing, it wasn't 0, it was just nonexistent. I was playing as the Dominion.
Merging all the wormhole issues in with this one (#97)
Randomly came up
Exception has been thrown by the target of an invocation.
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Delegate.DynamicInvokeImpl(Object[] args)
at System.Delegate.DynamicInvoke(Object[] args)
at Supremacy.Utility.AsyncHelper.AsyncInvokeCallback(Object state) in SupremacyCore\Utility\AsyncHelper.cs:line 54
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
Collection was modified; enumeration operation may not execute.
at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
at System.Collections.Generic.List1.Enumerator.MoveNextRare()
at System.Collections.Generic.List1.Enumerator.MoveNext()
at System.Linq.Enumerable.CountTSource
at Supremacy.Combat.CombatEngine.get_IsCombatOver() in SupremacyCore\Combat\CombatEngine.cs:line 88
at Supremacy.WCF.SupremacyService.SendCombatUpdateCallback(CombatEngine engine, CombatUpdate update) in SupremacyService\SupremacyService.cs:line 1137
It's currently in an uncertain state
We need to add a language button in the main menu, for the localizations!
yeah, just do code it :-) .... in my mind this will take big researching to the code. I could do a external *.bat for: - turn English (files) to French (files) or back.
Have point(s) on the trade routs where an hostile ship could cut trade or a friendly ship could "patrol" protect the route.
If you have a fleet in an enemies system, and there is an enemy construction ship there with orders to build a station, engage it in battle, it will retreat to an adjacent sector without a system. The order will stay however, and it will attempt to construct the station in a sector with no system, resulting in a null reference. The construct order needs to be cleared on retreat
System.NullReferenceException
HResult=0x80004003
Message=Object reference not set to an instance of an object.
Source=SupremacyCore
StackTrace:
at Supremacy.AI.UnitAI.DoTurn(Civilization civ) in C:\Users\dwrj8\Repositories\BotF2\SupremacyCore\AI\UnitAI.cs:line 110
System.ArgumentException occurred
HResult=0x80070057
Message=Collection already contains an item with the specified key.
Source=<Cannot evaluate the exception source>
StackTrace:
at Supremacy.Collections.KeyedCollectionBase`2.OnKeyCollision(TKey key, TValue item) in C:\Users\dwrj8\Repositories\supremacydev\Mainline\SupremacyCore\Collections\ObservableKeyedCollection.cs:line 330
at Supremacy.Collections.KeyedCollectionBase`2.AddKey(TKey key, TValue item) in C:\Users\dwrj8\Repositories\supremacydev\Mainline\SupremacyCore\Collections\ObservableKeyedCollection.cs:line 310
at Supremacy.Collections.KeyedCollectionBase`2.InsertItem(Int32 index, TValue item) in C:\Users\dwrj8\Repositories\supremacydev\Mainline\SupremacyCore\Collections\ObservableKeyedCollection.cs:line 243
at Supremacy.Collections.CollectionBase`1.Add(T item) in C:\Users\dwrj8\Repositories\supremacydev\Mainline\SupremacyCore\Collections\CollectionBase.cs:line 116
at Supremacy.Universe.GalaxyGenerator.FinalizaHomeworldPlacement(IList`1 starNames, HomeSystemsDatabase homeSystemDatabase, Civilization civ, MapLocation location) in C:\Users\dwrj8\Repositories\supremacydev\Mainline\SupremacyCore\Universe\GalaxyGenerator.cs:line 353
at Supremacy.Universe.GalaxyGenerator.PlaceEmpireHomeworlds(CollectionBase`1 positions, IList`1 starNames, HomeSystemsDatabase homeSystemDatabase, List`1 empireCivs, CollectionBase`1 empireHomeLocations, List`1 chosenCivs, Boolean mustRespectQuadrants) in C:\Users\dwrj8\Repositories\supremacydev\Mainline\SupremacyCore\Universe\GalaxyGenerator.cs:line 522
at Supremacy.Universe.GalaxyGenerator.PlaceHomeworlds(CollectionBase`1 positions, IList`1 starNames, CollectionBase`1& homeLocations) in C:\Users\dwrj8\Repositories\supremacydev\Mainline\SupremacyCore\Universe\GalaxyGenerator.cs:line 721
at Supremacy.Universe.GalaxyGenerator.GenerateGalaxy(GameContext game) in C:\Users\dwrj8\Repositories\supremacydev\Mainline\SupremacyCore\Universe\GalaxyGenerator.cs:line 219
at Supremacy.Game.GameContext.Initialize() in C:\Users\dwrj8\Repositories\supremacydev\Mainline\SupremacyCore\Game\GameContext.cs:line 936
at Supremacy.Game.GameContext..ctor(GameOptions options, Boolean isMultiplayerGame) in C:\Users\dwrj8\Repositories\supremacydev\Mainline\SupremacyCore\Game\GameContext.cs:line 872
at Supremacy.Game.GameContext.Create(GameOptions options, Boolean isMultiplayerGame) in C:\Users\dwrj8\Repositories\supremacydev\Mainline\SupremacyCore\Game\GameContext.cs:line 858
at Supremacy.WCF.SupremacyService.DoStartGame() in C:\Users\dwrj8\Repositories\supremacydev\Mainline\SupremacyService\SupremacyService.cs:line 255
01:20:37.501 [6] DEBUG General - GalaxyGenerator.PlaceEmpireHomeworlds(): Civilization Intro placed as Empire
01:20:37.506 [6] DEBUG General - GalaxyGenerator.PlaceEmpireHomeworlds(): Civilization Federation placed as Empire
01:20:37.514 [6] WARN General - Failed to find a suitable home sector for civilization Terran Empire. Galaxy generation will start over.
01:20:37.989 [6] DEBUG General - GalaxyGenerator.PlaceEmpireHomeworlds(): Civilization Intro placed as Empire
01:20:37.994 [6] DEBUG General - KeyedCollectionBase`2.OnKeyCollision(): ####### KeyCollision: key=0; item=Supremacy.Game.CivilizationManager
Ideally we want to load it only once. The load in GalaxyGridPanel.cs was added to me fix a big with races not being in the current GameContext
Want to see if shields prevent you from landing troops. If so then want target shields to be an option in system assault.
Look in InvasionArena (SupremacyCore.Combat) to add more detail getting at planet shield source
while([tech level is high enough]) { [Code to execute that lets you get specific in taking out shields...] }
Add the ability to steal map data.
Making alliances etc can reveal map data.
Use map data as a bargaining chip in diplomatic agreements
Want a build for the Borg that is less like the other Empires and more Borg. Thinking next to now diplomacy, trade and some difference in tech abilities.
Colours and labels can stay in the MoraleTables unless we find a better place for them, but everything else applies to a civilization, so move them to Civilizations.xml
if missing an entry especially on table MoraleEventResults (missing value for additional empire) in my mind two things should happen: - if no value is found than use default value (first column) - push a warning to Log.txt (GameLog-function) that the value is missing
Exact details still need to be fleshed out
The "Scripted" events (really just random events) introduce a lot of code overhead. It would be very easy to implement it in XML and code instead, and a lot more extensible
Have noted some random failures to progress from Processing Production on Processing Turn. Need to get some game logs into system production to see if it can be isolated.
I'm not entirely sure how this happened, it shouldn't be possible
while ((industry > 0) && ((!colony.BuildQueue.IsEmpty()) || colony.BuildSlots[0].HasProject))
AssimilatedCombatEngine
// Check for IsAssmilated and in combat with Borg for (int i = 0; i < _combatShips.Count; i++) { CombatAssets ownerBorg = GetAssets(_combatShips[i].First.Owner); if (ownerBorg.Owner.Name.ToString() != "Borg") continue; goto Next; {
When spy ship infiltrates a system it shows to lines. 1 is for failure to infiltrate and second is that it took so many research points out of a total number of points.
SUMMARY: Our spies have tried to infiltrate the Klingons at Qo'noS but they had no success.
SUMMARY: Our spies have infiltrated the Klingons at Qo'noS and gained 63 of 90 research points.
might be already resolved
Looking for var borgCivID in CombatEngine PerformAssimilation()
Game is currently unwinnable
SitRepEntry.cs now has a ship type but we may not be getting any info with it yet.
We can't found the string: Played by Player
eliminated "Played by", re-placed nice brackets. My suggestion for "Player": ( m ) ....m = myself, German: mich, French: moi or ma...,
Other suggestion: image by characters like ( o-o ) OR ( o^o ) OR ( /!-! ) -> in SP the name doesn't have big sense, maybe at SaveGame?, so i prefer o-o within no special characters
I think the name player must be the same name when you host a multiplayer game!! i suggest to add a text box in the new options screen to give a name to the player
Please add these words in the EN text file:
Military, Economic, Zoom in, Zoom out, Chat
We also need to add these words: CIVILIZATION, STATUS, TURNS, ATTITUDE, OUTGOING, INCOMING, REGARD, TRUST in the EN txt or another diplomacy text file
for DiploScreen DONE
we need the black hole, pulsar, neutron star....etc descriptions to be added in the text file
Please add also the following:
GALAXY SHAPE: Spiral, Ring, Elliptical, Cluster, Irregular
GALAXY SIZE: Tiny, Small, Medium, Large, Huge
PLANET DENSITY: Sparse, Medium, Dense
MINOR RACES: None, Few, Some, Many
TECH LEVEL: Early, Developed, Sophisticated, Advanced, Supreme
pulsar etc. DONE
Missing string about the spy, sabotage & raid ships!
SHIP_CAMOUFLAGE_STRENGTH
Missing string about the cloaked ships!! In the En.txt, suggest to add
[CLOAKED_FLEET] {0} Fleet
{0}=
MULTIPLAYER Missing Strings: COMPUTER, UNASSIGNED, START, CANCEL
MISSING STRING: Played by Player
UPDATE: still missing (others should be done) - request on cloaked text - request on GALAXY SHAPE: Spiral, Ring, Elliptical, Cluster, Irregular and these others - request on MULTIPLAYER Missing Strings: COMPUTER, UNASSIGNED, START, CANCEL - played by removed :-)
Post by Starfleet.Command I would like suggest to link the Sitrep Summary text of the Diplomacy Text XAML to the Inbox in the Embassy screen
At the moment, with every update, a lot of the contents of the combat window are cleared and then recreated. Maybe take advantage of binding and observable lists somehow?
Add the ability for the player to set a colony to auto manage, with an optional list of priorities
Possible have it in a dialog from the main menu
When assigned, the ship explores anything that is unexplored.
Perhaps when it is done, have it automatically return to the home system and have a message saying something like "Our citizens welcome home USS x, after their x turn voyage seeking out new lifeforms and new civilizations"
Noted scout ship remained in the sector after resolving combat with a retreat order.
Whilst a full on updater is out of the question right now, a simple check for a newer version should make it a lot easier for people to keep up to date
Save game button does not seam to highlight all the time. Does seam to save a game if you just select the name and press enter but the save button does not highlight.
In Intel Screen (Colonies Overview) it would be nice to have a list of current ships (a list of lost ships would be much harder due to storing in save game and reloading)
made a DRAFT in Dropbox\ShipName\ShipLIST_DRAFT
Non combat ships are missing when the game loads and are not in the ship building list. Also Kling are missing Hunting grounds. Items area to be present in HomeSystems.xml Will look further.
System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='System.Windows.Controls.ItemsControl', AncestorLevel='1''. BindingExpression:Path=HorizontalContentAlignment; DataItem=null; target element is 'TreeViewItem' (Name=''); target property is 'HorizontalContentAlignment' (type 'HorizontalAlignment')
System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='System.Windows.Controls.ItemsControl', AncestorLevel='1''. BindingExpression:Path=VerticalContentAlignment; DataItem=null; target element is 'TreeViewItem' (Name=''); target property is 'VerticalContentAlignment' (type 'VerticalAlignment')
Spy and Diplomacy ships best Camouflaged by default.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.