yairm210 / Unciv

Open-source Android/Desktop remake of Civ V
Mozilla Public License 2.0
8.54k stars 1.58k forks source link

Modding requests #3242

Open yairm210 opened 4 years ago

yairm210 commented 4 years ago

There have been a lot of various requests to extend the modding in various ways. Usually they're from one person, and have very little effect on the general playerbase, and they're kind of clogging up the issues.

So this is an issue to consolidate all those requests, as comments to this issue.

GeneralWadaling commented 2 years ago

"[amount]% Strength for enemy [unitFilter] units in adjacent [tileFilter] tiles" My request would be, can we make the "enemy" part viable? Which we can fill "friendly" and stuff. It would be useful for modding combat adjacency bonus. Without that policy unique.

AdityaMH commented 2 years ago

5836

will-ca commented 2 years ago

@AdityaMH For modding flexibility, if I ever finish it, I think this would actually be a much better fit for the CLI/scripting API branch I've been working on. One of the first/main example scripts/mods I planned is actually about using dynamically mod-scripted mutation of terrain data to simulate a changing environment. No need to fill the core game with every single special case that a mod might conceivably want.

AdityaMH commented 2 years ago

Add option to fill FantasyHex to mods without override FantasyHex.json

jahodovykolac commented 2 years ago

Make units able to upgrade to two or more units (maybe depending on strat. resources you have) Like in a mod you have a basic human, which can upgrade into swordsman, if you find sword, or bowman, if you find bow.

amfauzn commented 2 years ago

Improvement unique:

AdityaMH commented 2 years ago

Add moddable road/railroad visual for single tiles. something like visible if just single road, or will be hidden if connected to another tiles

HaneulCheong commented 2 years ago

I am trying to mod a civilization that enforces a certain policy branch, so the said civ cannot choose another incompatible branch. I do have a workaround using a dummy tech, but it's complicated and destructive since I have to override the base policy by adding "Only available <before discovering [(insert dummy tech)]>".

Something like "Starts with [policy]" as a nation unique would be significantly useful.

Edit: Implemented since 3.19.15.

(Related: #3052, #6229)

NoviceCoder2000 commented 2 years ago

Will there be unique greetings in the future?

SomeTroglodyte commented 2 years ago

Greetings, NoviceCoder2000, we come in Peace! This is a unique greeting! - - - or what exactly do you mean? Each nation already has a specific introduction and trade greeting.

HaneulCheong commented 2 years ago

I'd like to suggest a new Amphibious (or Hover) movement type. Basically it's like Land but units can also move and attack normally on water tiles. Civ BE's LEV Tank or Tier 4 Combar Rovers are some perfect examples.

jahodovykolac commented 2 years ago

I'd like to be able to add tiles like bridges available for both land and water units, similar to city centres.

AdityaMH commented 2 years ago

Add moddable civ specific policy priorities

amfauzn commented 2 years ago

add obsolete with [building] to counter things only available after constructing a building

GeneralWadaling commented 2 years ago

Add an unique that allows land ranged units to perform ranged attacks even when embarked (This can be for something like CivBE mod which there are amphibious ranged units)

heipizhu4 commented 2 years ago

Please make 'May capture killed [mapUnitFilter] units''s capture frequency moddable. So it'll be like '[number]% to capture klled [mapUnitFiler] units.

xlenstra commented 2 years ago

Please make 'May capture killed [mapUnitFilter] units''s capture frequency moddable. So it'll be like '[number]% to capture klled [mapUnitFiler] units.

The current chance is 0.1 + [Attacker Strength]/[Defender Strength] * 0.4, with a cap at 80%. So that isn't easily convertable to that format, so I don't see that happening soon.

heipizhu4 commented 2 years ago

Thanks. I got it.

At 2022-03-30 23:04:25, "Xander Lenstra" ***@***.***> wrote: Please make 'May capture killed [mapUnitFilter] units''s capture frequency moddable. So it'll be like '[number]% to capture klled [mapUnitFiler] units. The current chance is 0.1 + [Attacker Strength]/[Defender Strength] * 0.4, with a cap at 80%. So that isn't easily convertable to that format, so I don't see that happening soon. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: ***@***.***>
SpacedOutChicken commented 2 years ago

Add a mod option that allows you to liberate cities long after you've captured them.

This could most easily be applied to original capital cities. Since capital cities cannot be razed, the "raze city" button could be replaced by a "liberate city" button if the mod option is activated.

GeneralWadaling commented 2 years ago

Make "This Unit upgrades for free" also work in promotions. (Currently this seemed to only work as ancient ruins effect.)

GeneralWadaling commented 2 years ago

Can we have a unique that: allows specific civilization to accumulate culture and run tech research without founding the first city (Note that losing initial settlers (or its unique replacements) would still result in defeat.)

SomeTroglodyte commented 2 years ago

...without founding the first city

I don't think there's anything preventing any kind of civ-wide points generated without a city (would have to be from unit uniques?) from accumulating. Some buttons have checks, but they won't really prevent getting points or using them.

Dimensiondog commented 2 years ago

I would like to be able to make custom game speeds and change the pace of the game(the amount of years in each turn). This is mostly due to the time of the information era taking up 20% on the games length

NoviceCoder2000 commented 2 years ago

Greetings, NoviceCoder2000, we come in Peace! This is a unique greeting! - - - or what exactly do you mean? Each nation already has a specific introduction and trade greeting.

Very Late Reply But I was thinking of a much more unique dialogue when a much more specific meetup between specific civs.

Example: Instead of this: Normal Greetings: Hello I am blah blah blah...

Civ-Specific Dialogue: Example A (England when Meeting the Americans): Elizabeth: Oh will you look at it. It's the traitors knocking on our door. But do I have a choice? Welcome on our lands.

Example B (America Meeting the English): Washington: Greetings, I wish to step aside the conflict of our past. Let us move on for our future!

Where most of the dialogue can be customized when A meets B where (A and B) are named nations. This will be very helpful for mod packs with multiple nations related to each other.

heipizhu4 commented 2 years ago

Nice idea, actually. Just sounds like tons of work, especially for modders who have to think of hundreds of different dialogues.

Caballero-Arepa commented 2 years ago

especially for modders who have to think of hundreds of different dialogues.

No, just have those lines to be optional, and if you want to add them, there has to be a way to specify to who the line is, so you would just add the unique lines you want.

NoviceCoder2000 commented 2 years ago

especially for modders who have to think of hundreds of different dialogues.

No, just have those lines to be optional, and if you want to add them, there has to be a way to specify to who the line is, so you would just add the unique lines you want.

Exactly what I was thinking

heipizhu4 commented 2 years ago

Copied from #6686, written by @Thienanbad I have played Freeciv, civilization (nds version), unciv and i don't see any unit can steal sea. If we have a unit can steal sea we can make a better border on sea. I like editing the border on sea to make it look better and i know there are a lot of people like me. Everytime i see the sea border don't look better i feel uncomfortable and i want to fix it but because the game doesn't have a unit can steal sea so i have to play it all over again. In real life there are some nation can steal sea by using a fleet or protect the sea by build something. Example vietnamese built DK1 to protect their sea against china. Please make a unit can steal sea. image

Caballero-Arepa commented 2 years ago

A modConstant that enables aditional happiness from repeated same luxuries.

SomeTroglodyte commented 2 years ago

modConstant

Collect stuff touching that same class somewhere? The 25 heal amount should go there etc etc...

xlenstra commented 2 years ago

A modConstant that enables aditional happiness from repeated same luxuries.

I'd make that a mod unique rather than a constant

amfauzn commented 2 years ago

make Natural Wonder passable please

xlenstra commented 2 years ago

make Natural Wonder passable please

Already implemented; just don't set impassable to true in your mod and it is passable.

If you're talking about the base game: we don't take feature requests that aren't in civ V

heipizhu4 commented 2 years ago

@xlenstra Does he mean making natural wonder passable directly in the base game with a mod?

xlenstra commented 2 years ago

No idea, but I answered both questions so they can choose which answer they like the most

zhan313 commented 2 years ago

make Natural Wonder passable please

Already implemented; just don't set impassable to true in your mod and it is passable.

If you're talking about the base game: we don't take feature requests that aren't in civ V

I do try it in my mod, but it still impassable

amfauzn commented 2 years ago

image @xlenstra didn't work

xlenstra commented 2 years ago

Turns out natural wonders are hardcoded to be impassible for some reason, so not marking them as impassible sadly doesn't work. If any coder wants to look into it, it's specifically checked in canPassThrough(), line 656

GeneralWadaling commented 2 years ago

Can we add moddable nuke resistance unique for units

GeneralWadaling commented 2 years ago

We need a "can only found the first city" something unique that would be practical for Merchant of Venice for Venice civ.

LootDust commented 2 years ago

add "Trigger defeat" unique, this can be used to set some defeat rules. For example, "you must have more than one workers or you'll defeat"

LootDust commented 2 years ago

add "isAlwaysHostile" in ModOptions, which allows all civs to be in war all the time. It may boost the game speed for the players who like domination victory or in multiplayer competitions.

Caballero-Arepa commented 2 years ago

A modConstant that enables aditional happiness from repeated same luxuries.

I'd make that a mod unique rather than a constant

Ok then, both works. Thank you before hand :D

carriontrooper commented 2 years ago

I'd like a conditional that adds [cityFilter] to uniques - alternatively a localized version of the "[stats] from every [tileFilter/specialist/buildingFilter]" and the conditional "if [buildingFilter] is constructed". Would really help in limiting boosts and unit production.

E.g. "[stats] from every [tileFilter/specialist/buildingFilter] [cityFilter]" and "<if [buildingFilter] is constructed [cityFilter]>"

Edit: alternatively, a "requiredBuilding": field in unit and building code that applies locally.

heipizhu4 commented 2 years ago

Please make Earn [amount]% of killed [mapUnitFilter] unit's [costOrStrength] as [plunderableStat] applicable to promotions.` apllicable to promotions. It can be now applicable to units and global.

carriontrooper commented 2 years ago

Please make Earn [amount]% of killed [mapUnitFilter] unit's [costOrStrength] as [plunderableStat] applicable to promotions.` apllicable to promotions. It can be now applicable to units and global.

Iirc if it's applicable on units, it's applicable on promotions - try it out?

carriontrooper commented 2 years ago

Unique request: "Can only move on [terrainFilter] tiles" and "Cannot enter [terrainFilter] tiles" so we can have things like Sandworms that only sticks to Deserts and Rail Artillery that can only move on Railroads. Maybe even Vampire units that can't cross rivers.

SomeTroglodyte commented 2 years ago

heipizhu4 commented 2 years ago

Please make Earn [amount]% of killed [mapUnitFilter] unit's [costOrStrength] as [plunderableStat] applicable to promotions.` apllicable to promotions. It can be now applicable to units and global.

Iirc if it's applicable on units, it's applicable on promotions - try it out?

I've tried it out already and it doesn't work. That's why I made a comment here. PS: Anyone ready for the 100th entry?

GeneralWadaling commented 2 years ago

Unique suggestion "may destroys the tile improvement on the tile it attacks ([x]%)" The purpose is to give some units, like missiles and bombers, having the ability to destroy tile improvements.