Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Coolthulhu

Pages: [1] 2 3 ... 253
1
Getting too deep into interpersonal relations with NPCs who currently have no behaviors more complex than aiming while avoiding the player is not a good idea.
For now, the NPCs need the most simple, brute restrictions, like "if this area is arbitrarily declared as camp by building a bulletin board, non-friends won't take shit from it".

2
do zombies even need blood?

The ones in game do suffer from blood loss (it's just hard to inflict it on them), have blood fresh enough not to congeal which implies it flows, and have vital organs of some sort that can be damaged to deanimate them more efficiently than just by brute force.
They don't need to breathe, eat, and rest and do have really good ability to regenerate, but other than that they're mostly similar to regular living beings.

3
Sounds like you built debug build.
You want release one.

4
The in-game butcher knife has considerably lower stats than this photo suggests, barely over a screwdriver.

5
The Drawing Board - Suggestions, Comments, and Future Plans / Re: Bundles
« on: October 12, 2017, 10:11:19 PM »
The code is very unfriendly to this sort of behavior.
Basically, any behavior that involves having multiple items act as one requires actually turning them into one item (toolbox), implementing "proper" item containment with multiple contents and an UI for it (the UI is the biggest problem here) and then having to put the items in a bag or adding persistent item IDs.

6
knives are, and should be relatively useless in combat, they just aren't good at it.

They should be good at picking weak spots in armor ie. crits.
But there is currently no way to boost crit rate. Except buffing accuracy.

Also could be good in a grapple, but currently grapples penalize everyone equally.

7
Mutagens and CBMs are currently completely compatible and stack perfectly.
CBMs don't boost stats too well - mutations can give you +7 to a stat, while CBMs only +2 (except for hydraulic muscles).

8
Stoves and fireplaces are efficient, braziers only allow burning through everything.
That is, as long as the fire is contained, it will burn everything it is fed. In case of the brazier, it may actually sometimes be less efficient, because once all fuel is burned, the flame starts dying at accelerated rate (roughly 3 times), but it means you can burn logs and corpses without relighting everything over and over.
Stoves and fireplaces prevent this accelerated fire death, so you get 100% of the "fire power" from them.

9
WELP. I am now shooting every fly I see. All of them. With the biggest weapon available. Did not know they could do that.

It's not "giant fly" ones. It's only dermatiks.

10
It sounds incredibly tedious to gear up a horde of clones. Even the current NPCs are a problem.
Having them be unable to wear armor and just have some base armor due to slimy body could fix that.

11
Automatic rotation is a separate problem. For now I'm assuming unrotated (or rotation-agnostic).
Option 3/4 could allow to request specific rotation during mapgen, though.

12
I don't like the idea of having the martial art fill the gaps in UI. Autopulp should be a different thing. Some weapons could have pulping strikes, but only after autopulp is implemented, to avoid the idea that they are better because they avoid tedium.

Instead of high level brawling 2, brawling should just get some abilities that unlock on high level of unarmed.
One martial art that I could see being separate from brawling but gained in a similar way would be "mutant brawling". A variant of brawling that does not work with unarmed weapons (brass knuckles, punch daggers), but benefits from having sum of stats other than intelligence above the usual 30.

13
Code: [Select]
"place_nested": [
  {
    "chunks": { "lab_door_horiz": 100 },
    "origin": { "x": 12, "y": 0 },
    "neighbors": {
      "north": [ "lab", "lab_ice" ]
    },
  ...
]

x and y being in the outermost context of the entry is a part of mapgen system. It can't be easily wrapped in a structure without reworking a lot.
The rest is doable.

With some creativity you could use methods 3/4  it to make big, complex labyrinths (but the json file would probably be gigantic).

That's doable even with 1 and 2, just with some more deference and wrapping.
What isn't doable with 1 and 2 is the ability to change the binding of a symbol on palette, for example to have a house made entirely from concrete use the same definition as one made from wood.

14
The primary reason for https://github.com/CleverRaven/Cataclysm-DDA/pull/21900 was that I wanted to make json labs possible.
That PR isn't enough, as it does not account for lab piece connections: two lab pieces need to have doors between them, while lab adjacent to rock should not have doors to nowhere.

I see two ways of connecting lab pieces:
  • Crude: change lab tile type from "lab"/"ice_lab", to one that explicitly mentions connections, then enumerate all possibilities. For example, "lab_NSE" means "lab tile that connects to north, south, and east"
  • Conditional mapgen nesting: add a nested mapgen piece on a condition

The first option is easy, but tedious, menial, can't be easily verified without going through all options.

The latter option, while very flexible, could be a bit complex to use: you'd have to define the condition somehow, then apply it to something. That something would most likely be a nested mapgen entry.
This means that I'd probably need to write a "mapgen condition structure", which would look roughly like one of those (not sure which is the best):
Code: [Select]
Option 1:
"place_nested": [
  { "entries": [ [ "lab_door_horiz", 100 ] ], "x": 12, "y": 0, "conditions": [ { "condition_type": "neighbor_type", "dir": "north", "allowed_ids": [ "lab", "lab_ice" ] } ] }
  { "entries": [ [ "lab_door_horiz", 100 ] ], "x": 12, "y": 23, "conditions": [ { "condition_type": "neighbor_type", "dir": "south", "allowed_ids": [ "lab", "lab_ice" ] } ] }
  ...
]

Option 2:
"place_nested": [
  { "entries": [ [ "lab_door_horiz", 100 ] ], "x": 12, "y": 0, "neighbors": [ [ "lab", "lab_ice" ], "any", "any", "any" ] },
  { "entries": [ [ "lab_door_horiz", 100 ] ], "x": 12, "y": 23, "neighbors": [ "any", [ "lab", "lab_ice" ], "any", "any" ] },
  ...
]

Option 3:
"conditionals": [
  {
    "conditions": [ { "condition_type": "neighbor_type", "dir": "north", "allowed_ids": [ "lab", "lab_ice" ] } ]
    "place_nested": [
      { "entries": [ [ "lab_door_horiz", 100 ] ], "x": 12, "y": 0 }
    ]
  },
  {
    "conditions": [ { "condition_type": "neighbor_type", "dir": "south", "allowed_ids": [ "lab", "lab_ice" ] } ]
    "place_nested": [
      { "entries": [ [ "lab_door_horiz", 100 ] ], "x": 12, "y": 23 }
    ]
  },
  ...
]

Option 4:
"conditionals": [
  {
    "conditions": [ { "condition_type": "neighbor_type", "dir": "north", "allowed_ids": [ "lab", "lab_ice" ] } ]
    "place_terrain": [
      { "ter": "t_metal_door", "x": 12, "y": 0 },
      { "ter": "t_metal_door", "x": 13, "y": 0 }
    ]
  },
  {
    "conditions": [ { "condition_type": "neighbor_type", "dir": "south", "allowed_ids": [ "lab", "lab_ice" ] } ]
    "place_terrain": [
      { "ter": "t_metal_door", "x": 12, "y": 23 },
      { "ter": "t_metal_door", "x": 13, "y": 23 }
    ]
  },
  ...
]

Option 3/4 (those are basically one thing, just expressed differently) is interesting because it would allow defining entire conditional mapgen entries without nesting. That is, you could use this syntax to overwrite a palette based on conditions.
Option 2 is the least flexible, only useful for nesting based on neighbors. But it is also the simplest and least likely to lead to problems when some modder implements a complex mapgen entity on hacks and errors in implementation.
Option 1 is a compromise: only useful for nesting, but probably much easier to implement than 3/4.

Any other options? Is this good enough to be useful for anything other than lab mapgen?

15
The problem with acid fields is that they are very easy to get immune to: just stand on a shopping cart.

Acid splatters, as in point d), is pretty hard to get immune to, but you may need to balance it somewhat to get it to work right. It should neither immediately melt weak characters nor be 90% dodged by somewhat stronger characters.

Pages: [1] 2 3 ... 253