Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

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 - Roses

Pages: 1 ... 3 4 [5] 6 7 ... 131
61
Some fun new stuff I'm working with;

1. Reactions that create miasma and smoke when completed
2. Reactions that take variable amounts of time and produce variable amounts of output
3. Reactions that remove a unit from play for an amount of time
4. Multistory buildings

Still not quite ready for a release, but hopefully within the next week I'll have the Enhanced Buildings and Items fleshed out, and the initial Enhanced Reactions system in place, along with some cool examples.

EDIT: While I'm thinking about it, are there certain things people would like to see in the Enhanced Buildings, Items, and Reactions systems? Things that I can build in before a release. Feel free to request anything you think might fit, if it seems to out of scope or to much work I'll just put it aside for now. (An example might be wanting a trigger for Enhanced Items ON_DODGE, this would be a great suggestion, however, triggering something on a dodge is much more complicated than triggering on other actions due to the way DF handles it, which is why this isn't included yet)

62
Looking good! I imagine that many modders would be interested in this if they were aware of its existence and understood how to use it; I sometimes wonder whether the sequestration of utilities into this subforum has decreased their general visibility as compared to when everything was mixed together in the 'Modding' section. It would probably help to have a couple of eyecatching usage examples in the first few posts to draw interest.
<...>

Yeah i was naive thinking that modders would use straight lua (as it's IMHO easier to learn than df raws) for modding instead of any hacks on top of modding system. That being said i think dfhack and RSS (i.e. this) has limited visibility and needs a some sort community showcase or a way to show off features in general. I had an idea to make a sort-of newspaper with each release but lately DF is way down in the list of thing i have time and patience for.

Yeah, I agree, I thought more people would take up using lua since it's a fairly easy language to learn, but it seems the stigma of coding keeps people away from it, which is why I decided to move to this raw framework where the heavy lifting is done behind the scenes. I agree that there is very limited visibility for dfhack and various tools. I think the newspaper like idea is a good one, but I agree that DF stuff is rather low on my list as well. I was thinking that once I had a better set of examples and use cases that I could advertise in more public places, and maybe start answering some questions in the modding forums that aren't possible without tools like these.

63
I've been recently slammed with work and so haven't had much time to work on this, but I am continuing with adding short cuts to the Enhanced Buildings and Enhanced Items for easier readability and use (for instance, instead of specifying a script to create mist for a enhanced building, you can now just make it produce mist with {MIST:density:frequency}). I'm almost done with the first set of short cuts, so that should be coming sometime this week. I will also be releasing examples along with the short cuts so that people can have an idea of how to use the systems.

Looking forward, I am planning on implementing Enhanced Reactions next, this will essentially do everything you can already do with modtools/reaction-trigger. Additionally it will have some new features that can't be done currently, including adjusting the time the reaction takes (you could have a reaction take days if you want), adjusting the minimum skill needed to perform the reaction (warning, this will just cancel the job if the unit doesn't meet the requirements, which is not the best solution), and extra control over products.

Looking forward x2, Enhanced Units will most likely be next. This is a more complex system as it needs to handle castes and creatures separately to truly be useful, but it will add some useful features, like creatures that excrete miasma, or even just letting creatures have more than 5000 of a specific stat

64
Heads up: the current dev build is likely to be one of the last before we release 0.47.04-r1 (the last couple things on the r1 to-do list probably don't need to be addressed urgently). I don't know exactly when this build will be ready because the one before it in the queue got stuck, but hopefully within the next 12 hours hour or so. (Update: BenLubar fixed the stuck build)
Anyway, we haven't gotten a lot of reports of urgent issues in 0.47.04-beta1 - hopefully that means there aren't any left to fix, but if you've been encountering any issues with the beta build(s), please let us know!

I ran all my scripts and tests, no issues detected with the beta build

65
Looking good! I imagine that many modders would be interested in this if they were aware of its existence and understood how to use it; I sometimes wonder whether the sequestration of utilities into this subforum has decreased their general visibility as compared to when everything was mixed together in the 'Modding' section. It would probably help to have a couple of eyecatching usage examples in the first few posts to draw interest.
Yes I agree, examples are definitely required. I just keep adding more features instead of writing them! I will work on getting some good ones together

With regards to {ON_EQUIP} in the enhancedItems system, I haven't checked your code, but if it works like modtools/item-trigger you need to be aware that this script used to have a problem of triggering the 'onEquip' effect regardless of whether the target item was being hauled, worn, wielded, stabbed into a unit, etc (so a sword intended to transform wielders into giants would also have a transform units hauling it to the stockpile or opponents in the middle of a battle, for example). This may or may not be intended behaviour in your system, but I had added the option to specify the desired equipment mode(s) to give item-trigger users more control.
Good point, I remember that was an issue the last time I worked on this system. ON_EQUIP should definitely only work when the unit is wearing or wielding the item. I will add a mode check for that. Similarly I should add a ON_HAULED and ON_STUCKIN (or something) so that you can trigger those effects as well.
The only trouble with that will be when a unit goes from having an item equipped to hauling the item.

Does enhancedItems not include {ON_UNEQUIP} or is it assumed that unequipping an item removes the {ON_EQUIP} effect? If the latter is correct, allowing users to make {ON_EQUIP} effects permanent may be useful in some cases. A separate {ON_UNEQUIP} option would be useful for effects unique to unequipping (a cursed sock which kills the wearer when removed, for example).
Another good point. Originally I had the idea that all ON_EQUIP effects would simply be removed when the unit unequipped the item, but in the latest update I have added an ON_UNEQUIP so that the the effects are indeed seperate. It also makes the coding easier as I know longer have to figure out what the opposite of everything is.

66
I've added two new fire modes to projectile weapons, a spread shot mode and a burst fire mode.

The spread shot mode functions like a shotgun and changes the projectile fired to multiple projectiles.
Code: [Select]
{SPREAD_SHOT:# of projectiles:spread distance:per target distance}So if you were to put
Code: [Select]
{SPREAD_SHOT:5:1:4}onto a crossbow, every time you fired a crossbow bolt, it would create 5 bolts (but only costing a single bolt) with a target offset of 1 tile for every 4 tiles away the target is from the shooter. If you set the spread distance to 0 all created projectiles will have the exact same target position.

The burst fire mode functions pretty much how you would imagine
Code: [Select]
{BURST_FIRE:# of shots}So if you were to put
Code: [Select]
{BURST_FIRE:4}onto a crossbow, the unit would fire four projectiles in four ticks, and then wait the normal fire rate delay to fire again. If you also use the FIRE_RATE command the normal delay will be replaced with the FIRE_RATE delay.

I've also begun adding short cuts to some of the other triggers, so instead of needing to provide scripts you can just use built in commands. For instance, instead of
Code: [Select]
{ON_EQUIP}
    {SCRIPT:unit/change-attribute -unit HOLDER -attribute [ STRENGTH +200 ]:50}
you use
Code: [Select]
{ON_EQUIP}
    {ATTRIBUTE_CHANGE:STRENGTH:200:50}
Again, these are identical, but the later is easier to read and understand in my opinion

67
It's no gif, but it is a picture of a unit firing a crossbow at 1 bolt per tick


68
Added a new token to the Enhanced Item system, you can no specify the fire rate of ranged weapons. It works by putting
Code: [Select]
{FIRE_RATE:base rate:skill increase:max rate}in the ranged items raws (currently can only be specified in the actual ranged item, not the ammo), where

base rate = number of ticks until the next shot with no weapon skill (in vanilla DF this is ~80)
skill increase = number of ticks the base rate is decreased per weapon skill (in vanilla DF this is ~2)
max rate = fastest the weapon can fire regardless of skill (in vanilla DF this is ~40)

so if you wanted a weapon that fires once every tick regardless of skill
Code: [Select]
{FIRE_RATE:1:0:1}or a weapon that is really slow to fire unless you have skill with it
Code: [Select]
{FIRE_RATE:500:50:1}
Note that this only changes the time between shots, the unit will still act between shots just like they do now. Also worth noting, firing every tick will drain ammo like mad. Since most times the game is playing at >20 frames (frame = tick) per second, it will empty a quiver quite quickly. I am planning on creating the option for one ammo item to be used multiple times (think, instead of carrying 20 "bullets" you carry 20 "clips" in your quiver) so that the ammo will last a little longer. Also I am working on implementing burst fire

69
Alright, so I have pushed all the updates to the devel branch of my github, and updated the first three posts for what is currently included in the repo. Now I am looking for testers, especially the Enhanced Building and Enhanced Item systems (the scripts all have built in testing, the systems have minimal testing as they are more complicated). If anyone wants to try them out feel free and let me know how they work out/if you have any questions. There are very simple examples in scripts/tests/raw_files that you can use as a basic guide.

70
First major update in some time. I have made sure that all my scripts are working on DF/Hack version 47.04. The currently available scripts and systems is a much smaller subset of my previous scripts/systems, but I am working on getting everything converted to the new setup that I am using. The first four posts contain information (or will soon contain information) on what is currently included in the package

71
Not sure if this is of interest to people (or maybe it is already known), but in the unit counters unit.counters, the think_counter, controls how fast a unit can shoot a crossbow. Testing in arena, as soon as my dwarf shot the crossbow, think_counter went to 80, if I then manually set it back to 0 the dwarf fired again immediately. It should be possible then to modify firing rates by checking if a projectile has been fired and then setting the units think_counter to a specific level.

72
It might be 2-3 days still - I got wrapped up in other things, and plan on merging in some more PRs before putting it out. I don't expect many breaking changes between .03 and .04, although I haven't written a changelog yet (which is honestly one of the more time-consuming parts).

I hate writing changelogs, easily the worst part in my opining. I'm not in any immediate hurry, so I'll just wait for 04 whenever that comes out as it seems some of the pull requests are interesting. Thanks for all your hard work

73
I'm hoping to put up a "beta" release soon - we'd still like some help testing scripts on Windows (e.g. I'm unsure if feature and modtools/create-unit work yet) if anyone is able.

Forgive the question, as I was away from the forums for a bit and might have lost track of various conversations. Is this a plan for getting the 47.04 beta up? I am just wondering because I would like to test my scripts on the 47 version, but if the 04 beta is still a little ways out I will just test with the 03 version. I'm pretty sure all of my scripts will still work as intended, but I'm also looking at writing new ones and figured I'd move to a 47 version for that. I can test whatever is needed on Windows

74
<...>
Afaik it was always that way. In the source (not eventful as it wraps (among other stuff) eventmanager module) here it's called more explicit: SC_MAP_UNLOADED.

Why is SC_MAP_UNLOADED used as opposed to SC_WORLD_UNLOADED? It seems to me that the latter would surely make more sense in the context of adventure mode, with no difference in fort mode functionality (I think).

Both have their uses. However most stuff is developed without adventure mode in mind. I.e. what scripts are braking? Why are they running in adventure mode in first place?
...
modtools/item-trigger breaks, for starters. All the set item triggers get cleared on site offloading.

The scripts interaction-trigger, random-trigger, syndrome-trigger, projectile-trigger and outside-only (all modtools scripts) use the same style of clearing triggers using onUpload, and thus have the same problem.

modtools/reaction-trigger and modtools/reaction-product-trigger are exceptions solely because they currently do not support adventure mode at all. If support was added (AFAICT just handling reactions/jobs without associated buildings), then they would have the same problem.

modtools/invader-item-destroyer also has the same problem, but frankly I have no idea how adventure mode armies/invasions work so I can't say whether this even should be running at all in adventure mode. EDIT: I suppose the same goes for outside-only, should it even run in adv mode?

These are all the scripts that use onUpload, according to the github search I did. Every script that touches onUpload uses it as if it is synonymous with leaving a world, and as such every one of those scripts that could apply to adventure mode breaks as soon as a site is offloaded.
I believe all of those scripts were originally just made with fort mode in mind (Expwnent was the author for most of them IIRC). It probably would be a good idea to update them though so that they don't break in adventure mode

EDIT:
The issue is rather easy to solve; just add an "if not wound.curse" check and clear any actual injury data instead of deleting the wound outright in that case.
Would that play nicely with syndromes that do stuff on a body part by body part basis? Like, say, bruising or blistering whatever body parts the syndrome's material comes in contact with?
Sort of. Syndromes are notoriously tricky in their application and removal, although removal usually is easier. You will typically just get a single wound with a single syndrome, but for each instance of the syndrome you can get a different wound for a different body part. I'm not sure if syndrome-util handles all of that (I know it was previously not working for any syndromes that needed to function through wounds, both for application and removal), but you should be able to handle removal fairly easily with a lua script

75
DF Modding / Re: [MODDING] CREATURE & ENTITY QUESTIONS THREAD
« on: March 06, 2020, 03:44:53 pm »
Can I make a civ have plants unique to it like for animals?

If they have a reaction to make those plant seeds from a workshop, they'll always be able to commercially sell & bring them with them even if they're only really feasible to have in fortress mode. Offloading plants in extreme & unusual biomes like good alignment ones are helpful in this regard, because under the right conditions you'll see the plant yourself and otherwise you can get it from your trading neighbors.

I learnt this while modding in slow growing elf plants achieved through alchemy horticulture in game to make spontaneously without gathering but were native to good biomes, after a few worldgens they consistently traded it & related goods (within scope) which was pleasing.

Yes, reactions will enable plant availability, you can also change the availability with dfhack, but I think those are the only two ways

Pages: 1 ... 3 4 [5] 6 7 ... 131