Giter Site home page Giter Site logo

Comments (6)

CCHyper avatar CCHyper commented on August 14, 2024

How could this be implemented?

RULES.INI already contains keys to handle the Component tower and Gate logics;

GDIGateOne=<BuildingType>
GDIGateTwo=<BuildingType>
WallTower=<BuildingType>
NodGateOne=<BuildingType>
NodGateTwo=<BuildingType>

Add new entries here might be over-engineering it, so perhaps add them directly to HouseTypes? For example;

[NewSide]
GateOne=<BuildingType>
GateTwo=<BuildingType>
WallTower=<BuildingType>

Would be good to some discussion on this.

from vinifera.

MikillRosen avatar MikillRosen commented on August 14, 2024

I guess HouseTypes will do

from vinifera.

Crimsonum avatar Crimsonum commented on August 14, 2024

This behaviour is also hardcoded to certain OverlayType indexes, for example index 0 (GASAND), and I believe 2 (GAWALL) and 26 (NAWALL) too. Other indexes do not allow any building to be placed on them, even if the overlay is a wall-type.

from vinifera.

CCHyper avatar CCHyper commented on August 14, 2024

@Crimsonum

This behaviour is also hardcoded to certain OverlayType indexes, for example index 0 (GASAND), and I believe 2 (GAWALL) and 26 (NAWALL) too. Other indexes do not allow any building to be placed on them, even if the overlay is a wall-type.

What would be an ideal solution for handling this logic? A new key on the OverlayType to decide if a building can be placed on-top?

from vinifera.

Crimsonum avatar Crimsonum commented on August 14, 2024

@Crimsonum

This behaviour is also hardcoded to certain OverlayType indexes, for example index 0 (GASAND), and I believe 2 (GAWALL) and 26 (NAWALL) too. Other indexes do not allow any building to be placed on them, even if the overlay is a wall-type.

What would be an ideal solution for handling this logic? A new key on the OverlayType to decide if a building can be placed on-top?

Walls don't have their own OverlayType sections, even though they are listed in [OverlayTypes]. So the flag would probably have to go to the BuildingType, which governs all other aspects of the wall (Cost, Strength, etc.) anyway. But yes, a new key would probably be the best option. I might also make this the default behavior for walls with Wall=yes or LaserFence=yes to mimic/support the vanilla game.

from vinifera.

CCHyper avatar CCHyper commented on August 14, 2024

Walls don't have their own OverlayType sections, even though they are listed in [OverlayTypes]. So the flag would probably have to go to the BuildingType, which governs all other aspects of the wall (Cost, Strength, etc.) anyway. But yes, a new key would probably be the best option. I might also make this the default behaviour for walls with Wall=yes or LaserFence=yes to mimic/support the vanilla game.

I have yet to look into how the system is linked, but the buildable walls get converted to OverlayTypes on placement, and do not contain a link back to the BuildingType instance they were once (if placed manually by the player). So I think adding a new OverlaType key to define this behaviour for new wall types would be ideal rather than implementing a link back to the BuildingType, which could be redundant and costly.

from vinifera.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.