Miscellaneous wishlist...

What would you like to see in Freeciv? Do you have a good idea what should be improved or how?
Posts: 25
Joined: Thu Dec 07, 2017 12:17 pm

Miscellaneous wishlist...

Postby Akechi » Fri Sep 07, 2018 2:10 pm

Since various ideas are written in this forum, so I write some also...

01. Attack_Bonus reference to attacker tile, defender unit type
..... make opposite side of Defend_Bonus.
..... ...or unit type stays attacker, to allow like: if Archers on Hills, then gets +50% Attack_Bonus.
02. Adjustable minimum healing in city setting: Min_City_Healing_Mod_Pct
..... current total healing rate in city is 1/3 (city) + 1/10 (fortified healing) + 1/10 (natural healing) = about 53.33% if land unit fortified. I think it is high...
..... e.g. minimum hp healed in city = (max hp * (100 + Min_City_Healing_Mod_Pct)) / (3 * 100)
03. CanNotNaturalHealing and CanNotFortifiedHealing unit flag (or effect? to have more flexibility) to prevent natural healing / fortified healing
04. Changeable quadratic part of hurrying production / upgrade cost setting: Unit_Buy_Cost_Quad_Mod_Pmd, Upgrade_Price_Quad_Mod_Pmd
..... unit buying cost is quadratic (it is civ1/2 rule), so if unit shield cost is higher, gold cost infration occurs...
..... e.g. unit buying cost = 2 * missing + ((double)missing * missing) * (10000 + Unit_Buy_Cost_Quad_Mod_Pmd) / (20 * 10000)
05. CityState requirements: Celebrating, Happy, Content (=not Celebrating, Happy, Unhappy), Unhappy, WasCelebrating (rapture is 1+), WasHappy (was_happy is true), WasContent (not WasCelebrating, WasHappy, WasUnhappy), WasUnhappy (anarchy is 1+)
..... e.g. if CityState is Happy, then gets +2 Unit_Recover, +2 History.
..... e.g. if CityState is WasHappy, then gets +10% Defend_Bonus.
06. Minimum happiness surplus requirements (Happy citizens - Unhappy citizens - 2 * Angry citizens)
..... e.g. if happiness surplus is 1 or more, then gets +1 Unit_Recover, +1 History.
07. Minimum trade allocation rate to gold, science, luxury requirements
..... e.g. if rate of luxury is 10% or more, then gets +1 Make_Content.
08. Additional variable getter and/or setter lua functions
..... e.g. player's government, each trade allocation rate, number of tech known, current science point, science point needed to acquire researching technology, unit's hp, mp, fuel, veteran level, moved flag (related to natural healing), activity, unit class, city's info(output, surplus, citizens nationality, etc.), tile's owner
09. Additional lua signals
..... e.g. when government changes, global warming occurs, nuclear winter occurs, spaceship launched, terrain changed, pillage completed
10. Changeable radius of nuclear blast (use bonuses, effect, firepower or other ideas) and Nuke_Proof effect
..... e.g. unit "Early Nuclear" has radius 0 (target tile only), unit "Late Nuclear" has radius 1 (3x3), unit "Tactical Thermonuclear" has radius 2 (5x5), etc.
11. Border expanding setting: population, culture, like a city vision effect or other ideas
12. Ruleset controls handicap of each AI level setting
13. Ruleset (or server option like contactturns?) controls ceasefire/armistice duration setting
14. Changeable civilization score weight
..... e.g. Each Great Wonder worth 20 points.
15. Adjust shield returning for disband damaged unit in city: return (shield cost * current hit points) / (2 * maximum hit points) shields
..... e.g. if 10hp catapult is now only 3hp and try to disband, these unit calculated by 3/10 shield cost.
..... (then (40 * 3) / (2 * 10) = 6 shields return)
..... (shouldn't affect upgrade cost...because hp ratio are kept)
16. Rendered mp decrease if transported: lose (max mp of transported unit) * (movement cost of transporter) / (max mp of transporter unit) mp (round up to minimum fragment)
..... to prevent ship hopping, or to fix time twisting.
..... e.g. if 1mp warriors transported by 5mp transport and transport moves ocean, transported warriors mp also decrease by 1*1/5 mp.
..... e.g. if 3mp armor transported by 4mp galleon and galleon moves ocean, transported armor mp also decrease by 3*1/4 mp.
17. Tired movement (movement version of tired attack...)
..... e.g. if 1mp warriors moved to 3mp cost mountain, then warriors need rest 2 more turns to reactivate.
..... e.g. if 2mp horsemen moved to 3mp cost mountain, then horsemen have only 1mp next turn, and if moved to another mountain tile, then horsemen need rest 1 more turn to reactivate.
..... Issue: it will cause problem in path finding...
18. Save food overflow and underflow in population grow or starve setting
..... e.g. if city grows at 31/30 foodbox and hasn't Granary, new foodbox is 1/40.
..... e.g. if city grows at 31/30 foodbox and has Granary, new foodbox is 21/40.
..... e.g. if city starves at -2/30 foodbox and has Granary, new foodbox is 9/20. (because foodbox needs -1 to starve so -2 means 1 less than normal starve...)
..... Issue: if new foodbox is equal or above maximum, or below 0 after city grow or starve, what happens? To prevent, limit new foodbox at maximum-1 and 0?
19. Part foodbox resetting in population grow or starve
..... In my memory, Civ3's Granary is only applicable in city growth.
..... e.g. if city grows with Granary, then 50% of foodbox saved, but if city starves, save nothing.
..... e.g. if city starves with Emergency Granary(?), then 50% of foodbox saved, but if city grows, save nothing.

15, 16, 17, 18 should be switchable (ruleset or server options?) to maintain current behavior...

Posts: 327
Joined: Sat May 04, 2013 2:19 pm

Re: Miscellaneous wishlist...

Postby Lachu » Sat Sep 08, 2018 12:28 pm

I read about tired movement and decided that's idea about tired healing would be great, so unit will receive heal based on moved points it ends in previous turn.

Posts: 42
Joined: Mon Jun 25, 2018 5:01 pm

Re: Miscellaneous wishlist...

Postby nef » Mon Sep 10, 2018 3:22 pm

12. I would like to see all AI cheats/hobbles softcoded.

13. Changeable dipl periods. I would like to also see this available to the player i.e. one could negotiate the period. Also offer the option (to players) to extend the period. (With ceasefire you have to wait until it expires before you can negotiate a renewal)

16. MP decrease if transported. Long overdue. Would fix a lot of exploits. Forget about Civ * compliance. Exploits should be done away with.

17. Tired move. The concept I had considered was to simply maintain a move deficit. That is a 3mp move costs 3mp. A unit can move only if its current mp is >0. Each turn it recovers mp according to its max mp (and of course can never have more than this). All up I would not think this too difficult for path finding (probably easier in fact - one just adds up all the mp required). This would obviously need to be an option since it is non compliant.

19. Foodbox. My recollection of Civ I is that food does not magically appear in the foodbox when the city starves. This issue has been discussed before. Some irony since "disasters" new to 2.5 identify these as independent effects (consequences). Perhaps this suggests that more disasters (like starvation) should be softcoded as a "disaster". Same applies to plague vs pestilence. Additional reqs vector predicates would do this in a flash ?!?

Final point: current syntax is not so good on the parametric predicates relating to parametric effects. minyear, minsize (city) effects can get rather ugly, perhaps some rudimentary arithmetic is in order.

Posts: 10
Joined: Wed Jan 31, 2018 2:38 pm

Re: Miscellaneous wishlist...

Postby meme » Tue Sep 11, 2018 2:49 am

16. Soldier are tired from a boat trip ; that's what happened on 6.6.1944.
Only because too windy and too much breakfast.
Easy way to stop cheating is to lose all moving points of a unit went transfered to a second boat.
Or even worse ; leave land move as it is (moving on land ; loading ; or boat to boat)
But give land units (or flying units) a different moving score on boat ( 3 boat-moves on trireme , 4 galleon , 5 transport/carrier) so that moving along with a boat will cost to loaded units boat-moves.
Any unit with no more boat-moves will still have its land moves but no boat will be able to transport it.

programming : Losing all move when transfered to a second boat seems easier to code but cheating is still possible as you can move with two different boat (don't need moves to defend a city OR sending canons to a far away enemy island with a city of your own)
If someone wants to code the second option (Hahaha la bonne blague) :
Be carefull that a unit that used 3 boat-moves on a trireme will have only one extra boat-move after transfered to a galleon
Be carefull not to mixe up boat-moves and see-moves ; flying units can spend flying-moves over see and can be carried (using boat-moves)