Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 [2] 3 4

Author Topic: The Index: Interaction Repository  (Read 10240 times)

IndigoFenix

  • Bay Watcher
  • All things die, but nothing dies forever.
    • View Profile
    • Boundworlds: A Browser-Based Multiverse Creation and Exploration Game
Re: The Index: Interaction Repository
« Reply #15 on: December 17, 2015, 09:21:33 am »

Do you know what dwarf fortress needs?  More explosive sheep.


In case explosive animals aren't your cup of wool, just remember that syndrome grasses are, indeed, a thing.  Want your fort to be defended by buff wizard cows?  Go right ahead.

ArKFallen

  • Bay Watcher
  • Bohandean Desserter
    • View Profile
Re: The Index: Interaction Repository
« Reply #16 on: December 17, 2015, 09:36:54 am »

IndigoFenix where are you getting ABRUPT_START/END? My search bar only sees the ABRUPT token in world.dat
edit:Ah the file change log.
« Last Edit: December 17, 2015, 09:41:37 am by ArKFallen »
Logged
Hm, have you considered murder?  It's either that or letting it go.
SigText
I logged back on ;_;

Isngrim

  • Bay Watcher
    • View Profile
Re: The Index: Interaction Repository
« Reply #17 on: December 17, 2015, 04:46:17 pm »

Ptw
Logged
08:43 PM The wild animals and insects sang a merry tune and the trees performed a dance. I know you're trying to cheer me up, Vishnu, but that was actually a bit creepy.-Rhons

ArKFallen

  • Bay Watcher
  • Bohandean Desserter
    • View Profile
Re: The Index: Interaction Repository
« Reply #18 on: December 17, 2015, 06:22:59 pm »

Do you know what dwarf fortress needs?  More explosive sheep.


In case explosive animals aren't your cup of wool, just remember that syndrome grasses are, indeed, a thing.  Want your fort to be defended by buff wizard cows?  Go right ahead.
Spoiler: Errorlog (click to show/hide)
Logged
Hm, have you considered murder?  It's either that or letting it go.
SigText
I logged back on ;_;

BlackFlyme

  • Bay Watcher
  • BlackFlyme cancels Work: Interrupted by bird.
    • View Profile
Re: The Index: Interaction Repository
« Reply #19 on: December 17, 2015, 08:38:54 pm »

PTW

Nothing interesting to share ATM.
Logged

Spiderking50

  • Bay Watcher
  • Lumberjack of Hearts
    • View Profile
    • Pik-Pik Fortress: A Pikmin Mod
Re: The Index: Interaction Repository
« Reply #20 on: December 17, 2015, 09:01:56 pm »

ptw will add sme of my old stuff in later
Logged
Currently on vacation. I have internet, but will update sporadically due to vacation.

Max™

  • Bay Watcher
  • [CULL:SQUARE]
    • View Profile
Re: The Index: Interaction Repository
« Reply #21 on: December 17, 2015, 11:18:46 pm »

Hmmm, early experiments I was able to make dorfs really happy and aroused and jubilant and gleeful but I still don't know what, if any, combination of mental states and probably skills triggers spontaneous dances rather than songs/poetry/stories.
Logged

Eric Blank

  • Bay Watcher
  • *Remain calm*
    • View Profile
Re: The Index: Interaction Repository
« Reply #22 on: December 18, 2015, 02:42:52 am »

I had no idea grazers could actually pick up syndromes from grasses! That's just fun!
Now, obviously, you can have all manner of horrible things occur in a fortress where a particular grass develops. Say, your animals occasionally develop hoof-rot or contract mad cow disease.
Could vermin eaters contract syndromes from vermin they consume, then?

I haven't done anything outstanding recently and what I've used has been said before.
I will say however that creature classes are caste-level tags. Defining male and female creature classes as part of those same castes lets an interaction differentiate between males and females of a variety of species and apply effects based on their gender, or prevent a caste that has an ability naturally from picking up a dupliate. A werebeast can then have multiple genders, and function as a wild animal that can reproduce (part of wilderness populations), and people transformed into one will maintain their gender.

Interactions can resurrect and transform someone in the same step, which lets you transform the dead into spirits of themselves that you can glean information from verbally (if they will talk to you at all) but wont be able to attack you or escape because they just so happen to be immobile and harmless.

A transformation can lead to a creature with body parts that fall off, and in adventure mode one can take advantage of extra butcher objects to summon items via interaction that someone has to learn, or earn, rather than a reaction that will always appear in the list.

Also, don't forget you can duplicate the material emission interaction itself and make variants that fire multiple projectiles at the same target! These are examples I use:
Spoiler (click to show/hide)
Replace the reference to material emission in an interaction with a reference to one of your custom ones, and you're flinging more stones at the same time. It can very easily become overpowered, though.

Regional interactions can also do things like resurrect the dead rather than raise zombies.
Spoiler (click to show/hide)

This particular one will also have the effect of resurrecting the skins of your mules you just butchered, causing them to wander around being friendly, whole mules, which you can kill again (though they wont be pets). Or at least, that's what happened last time I tested it.

You can also have blizzards and dust storms that roll through as creeping dust clouds and cause minor damage to those caught in them.
« Last Edit: December 18, 2015, 02:50:01 am by Eric Blank »
Logged
I make Spellcrafts!
I have no idea where anything is. I have no idea what anything does. This is not merely a madhouse designed by a madman, but a madhouse designed by many madmen, each with an intense hatred for the previous madman's unique flavour of madness.

Bearskie

  • Bay Watcher
  • Nyam nyam
    • View Profile
Re: The Index: Interaction Repository
« Reply #23 on: December 18, 2015, 03:40:01 am »

This was one of my first attempts at interaction modding - as a result, it's heavy, cumbersome, and there's probably a better way to do it. I wanted to create a mage caste that constantly weakened enemies around him, so if you didn't focus fire him first, your dwarves would become weaker and weaker until the regular ol' grunts could finish you off.

I must admit, the stages part really tripped up newbie-me.

Spoiler (click to show/hide)
Spoiler (click to show/hide)

Essentially the mage castes gives the enemy an interaction that weakens them if they're close to a mage, and allows them to advance to the next stage of the interaction in the last 50 ticks before the syndrome ends. Each stage has more severe effects than the next; for me it was just decreased skill rolls and speed. Eventually stage 4 just adds NO_PHYS_ATT_RUST to the creature for a month, which allows the mage to directly cast stage 4 interactions onto the enemy.

Well, it works. But I've gotta ask... is there a simpler, proper way of doing staged interactions?

Max™

  • Bay Watcher
  • [CULL:SQUARE]
    • View Profile
Re: The Index: Interaction Repository
« Reply #24 on: December 18, 2015, 12:45:24 pm »

Oh that confused the hell out of me for a second, then I realized you had the creatures use it on themselves, which is actually really clever, is that a common trick I just never noticed?
Interactions can resurrect and transform someone in the same step, which lets you transform the dead into spirits of themselves that you can glean information from verbally (if they will talk to you at all) but wont be able to attack you or escape because they just so happen to be immobile and harmless.

A transformation can lead to a creature with body parts that fall off, and in adventure mode one can take advantage of extra butcher objects to summon items via interaction that someone has to learn, or earn, rather than a reaction that will always appear in the list.
...go on?
Logged

Eric Blank

  • Bay Watcher
  • *Remain calm*
    • View Profile
Re: The Index: Interaction Repository
« Reply #25 on: December 18, 2015, 03:46:47 pm »

Well, for instance...

Here we have a summoner secret. The secret allows the learned to transform themselves into a creature that falls apart. The body parts that fall off can be raised, and transformed in the same step, into whatever is to be summoned.

Spoiler (click to show/hide)

This lets them summon a badger womanwolf to fight for them. The summoner transforms into a caste of the creature that has [CREATURE_CLASS:NATURE_SUMMON], whose body parts carry that creature class token over. The interaction can only raise body parts that have THAT creature class, and no others. So, this prevents the nature summoner from hijacking a demon summoner's body parts.

For the actual resurrection interaction, I didn't use a fully immobile or harmless creature, but it would be simple enough to do so.

Spoiler (click to show/hide)

These aren't going to work as a cut+paste simply because you need to define all the other entries they reference like tissues, materials, inorganics.

You can get the full mod with everything here: http://dffd.bay12games.com/file.php?id=6378
I haven't had time to update it for the new version.


@Bearskie:
You can now use a single syndrome and cast it several times, using the syndrome concentration system we got to up the ante every time a dwarf is struck with the syndrome. You can have the syndrome attached to a material that explodes on contact and is fired through material emission. Look back at IndigoFenix's post regarding a spell template and the brainshock spell. That would probably cut it down to a handful of definitions, rather than a dozen.
You basically did the best as far as syndrome progression goes in 40_24, but now we got cool new toys that do it simpler! :P
« Last Edit: December 18, 2015, 03:58:59 pm by Eric Blank »
Logged
I make Spellcrafts!
I have no idea where anything is. I have no idea what anything does. This is not merely a madhouse designed by a madman, but a madhouse designed by many madmen, each with an intense hatred for the previous madman's unique flavour of madness.

Max™

  • Bay Watcher
  • [CULL:SQUARE]
    • View Profile
Re: The Index: Interaction Repository
« Reply #26 on: December 18, 2015, 05:28:28 pm »

Fascinating.
Logged

Trapezohedron

  • Bay Watcher
  • No longer exists here.
    • View Profile
Re: The Index: Interaction Repository
« Reply #27 on: December 18, 2015, 06:38:48 pm »

Well, for instance...

Here we have a summoner secret. The secret allows the learned to transform themselves into a creature that falls apart. The body parts that fall off can be raised, and transformed in the same step, into whatever is to be summoned.

Spoiler (click to show/hide)

This lets them summon a badger womanwolf to fight for them. The summoner transforms into a caste of the creature that has [CREATURE_CLASS:NATURE_SUMMON], whose body parts carry that creature class token over. The interaction can only raise body parts that have THAT creature class, and no others. So, this prevents the nature summoner from hijacking a demon summoner's body parts.

For the actual resurrection interaction, I didn't use a fully immobile or harmless creature, but it would be simple enough to do so.

Spoiler (click to show/hide)

These aren't going to work as a cut+paste simply because you need to define all the other entries they reference like tissues, materials, inorganics.

You can get the full mod with everything here: http://dffd.bay12games.com/file.php?id=6378
I haven't had time to update it for the new version.


@Bearskie:
You can now use a single syndrome and cast it several times, using the syndrome concentration system we got to up the ante every time a dwarf is struck with the syndrome. You can have the syndrome attached to a material that explodes on contact and is fired through material emission. Look back at IndigoFenix's post regarding a spell template and the brainshock spell. That would probably cut it down to a handful of definitions, rather than a dozen.
You basically did the best as far as syndrome progression goes in 40_24, but now we got cool new toys that do it simpler! :P

I tried doing something like this when interactions were first introduced. That ended up with me being unable to use my body parts a second time in order to summon another creature. Are these interactions reusable? Can you repeatedly curse yourself to transform into melting goop and use those parts as resurrection materials repeatedly?
Logged
Thank you for all the fish. It was a good run.

Eric Blank

  • Bay Watcher
  • *Remain calm*
    • View Profile
Re: The Index: Interaction Repository
« Reply #28 on: December 18, 2015, 07:29:55 pm »

The transformation/ritual wears off and can be performed again to produce minions as many times as desired, but you can't use the corpse of a summoned creature to summon another; I didn't want that to be possible, so they don't have the required creature classes for the interactions to target them.

You COULD do that, though, by adding the creature classes. It's entirely possible, up until a corpse is too beat up to raise, and you'd have to transform it into something other than what it was the first time I bet.
« Last Edit: December 18, 2015, 07:31:26 pm by Eric Blank »
Logged
I make Spellcrafts!
I have no idea where anything is. I have no idea what anything does. This is not merely a madhouse designed by a madman, but a madhouse designed by many madmen, each with an intense hatred for the previous madman's unique flavour of madness.

Lightningy

  • Bay Watcher
  • MOM GET THE CAMERA!!!
    • View Profile
Re: The Index: Interaction Repository
« Reply #29 on: December 20, 2015, 08:17:16 am »

Toady "fixed" being able to butcher and eat sapients and such, so rather than remove them broadly I put in an interaction to remove the [CAN_LEARN] tag so I can butcher specific targets like before.
Code: (Mark a target to allow adventures to butcher them) [Select]

Add this part to a usage_hint:self_only and usage_hint:attack interaction for your adventuring races
So npcs don't spam tard-ify each other.
[CE_CAN_DO_INTERACTION:START:0]
[CDI:ADV_NAME:Mark target]
[CDI:INTERACTION:MARK]
[CDI:TARGET:A:LINE_OF_SIGHT]
[CDI:TARGET_RANGE:A:10]
[CDI:VERB:mark a target:marks a target:NA]
[CDI:WAIT_PERIOD:10]

[INTERACTION:MARK]
[I_SOURCE:CREATURE_ACTION]
[I_TARGET:A:CREATURE]
[IT_LOCATION:CONTEXT_CREATURE]
[IT_AFFECTED_CLASS:GENERAL_POISON]
[IT_MANUAL_INPUT:marked target]
[I_EFFECT:ADD_SYNDROME]
[IE_TARGET:A]
[IE_IMMEDIATE]
[SYNDROME]
[CE_FLASH_TILE:TILE:88:4:0:1:FREQUENCY:2000:500:START:0:END:250]
[CE_REMOVE_TAG:CAN_LEARN:START:0:END:250]

Someone on /dfg/ asked about being able to punch people across the screen and stuff so I tossed up a first try which didn't work, so I figured stacking a few interactions would be easier than trying to figure out when the caps will get hit.

Then while I was doing it I decided to full on nerdify it and make it Saitama's ridiculously implausible training secret from Onepunch Man.

Code: (interaction_onepunch.txt) [Select]
every_single_day

[OBJECT:INTERACTION]

[INTERACTION:ONEPUNCH_TRAINING]
[I_SOURCE:CREATURE_ACTION]
[I_TARGET:A:CREATURE]
[IT_LOCATION:CONTEXT_CREATURE]
[I_EFFECT:ADD_SYNDROME]
[IE_TARGET:A]
[IE_IMMEDIATE]
[SYNDROME]
CE_BP_APPEARANCE_MODIFIER:START:0:BP:BY_CATEGORY:HEAD:HAIR:APPEARANCE_MODIFIER:LENGTH:0
--^-- halp please, can't figure this out --^--
[CE_CAN_DO_INTERACTION:START:0]
[CDI:INTERACTION:100_PUSHUPS]
[CDI:ADV_NAME:100 push-ups]
[CDI:TARGET:A:SELF_ONLY]
[CDI:WAIT_PERIOD:10]
[CE_CAN_DO_INTERACTION:START:0]
[CDI:INTERACTION:100_SITUPS]
[CDI:ADV_NAME:100 sit-ups]
[CDI:TARGET:A:SELF_ONLY]
[CDI:WAIT_PERIOD:10]
[CE_CAN_DO_INTERACTION:START:0]
[CDI:INTERACTION:100_SQUATS]
[CDI:ADV_NAME:100 squats]
[CDI:TARGET:A:SELF_ONLY]
[CDI:WAIT_PERIOD:10]
[CE_CAN_DO_INTERACTION:START:0]
[CDI:INTERACTION:10KM_RUN]
[CDI:ADV_NAME:10 km run]
[CDI:TARGET:A:SELF_ONLY]
[CDI:WAIT_PERIOD:10]

[INTERACTION:100_PUSHUPS]
[I_SOURCE:CREATURE_ACTION]
[I_TARGET:A:CREATURE]
[IT_LOCATION:CONTEXT_CREATURE]
[I_EFFECT:ADD_SYNDROME]
[IE_TARGET:A]
[IE_IMMEDIATE]
[SYNDROME]
[CE_ADD_TAG:EXTRAVISION:NOEXERT:NOPAIN:NOFEAR:NO_EAT:NO_DRINK:NO_SLEEP:NOBREATHE:NOSTUN:START:0]
[CE_PHYS_ATT_CHANGE:STRENGTH:500:2500:AGILITY:250:2500:ENDURANCE:250:2500:TOUGHNESS:250:2500:START:0]
[CE_SKILL_ROLL_ADJUST:PERC:125:PERC_ON:100:START:0]
[CE_SPEED_CHANGE:SPEED_PERC:150:START:0]
[CE_MATERIAL_FORCE_MULTIPLIER:MAT_MULT:NONE:NONE:2:3:START:0]
 
[INTERACTION:100_SITUPS]
[I_SOURCE:CREATURE_ACTION]
[I_TARGET:A:CREATURE]
[IT_LOCATION:CONTEXT_CREATURE]
[I_EFFECT:ADD_SYNDROME]
[IE_TARGET:A]
[IE_IMMEDIATE]
[SYNDROME]
[CE_ADD_TAG:NO_DIZZINESS:NO_FEVERS:PARALYZEIMMUNE:START:0
[CE_PHYS_ATT_CHANGE:STRENGTH:500:2500:AGILITY:250:2500:TOUGHNESS:250:2500:RECUPERATION:500:2000:START:0]
[CE_SKILL_ROLL_ADJUST:PERC:125:PERC_ON:100:START:0]
[CE_SPEED_CHANGE:SPEED_PERC:150:START:0]
[CE_MATERIAL_FORCE_MULTIPLIER:MAT_MULT:NONE:NONE:2:3:START:0]

[INTERACTION:100_SQUATS]
[I_SOURCE:CREATURE_ACTION]
[I_TARGET:A:CREATURE]
[IT_LOCATION:CONTEXT_CREATURE]
[I_EFFECT:ADD_SYNDROME]
[IE_TARGET:A]
[IE_IMMEDIATE]
[SYNDROME]
[CE_PHYS_ATT_CHANGE:AGILITY:250:2500:ENDURANCE:500:2500:RECUPERATION:500:2000:START:0]
[CE_SKILL_ROLL_ADJUST:PERC:125:PERC_ON:100:START:0]
[CE_MATERIAL_FORCE_MULTIPLIER:MAT_MULT:NONE:NONE:2:3:START:0]

[INTERACTION:10KM_RUN]
[I_SOURCE:CREATURE_ACTION]
[I_TARGET:A:CREATURE]
[IT_LOCATION:CONTEXT_CREATURE]
[I_EFFECT:ADD_SYNDROME]
[IE_TARGET:A]
[IE_IMMEDIATE]
[SYNDROME]
[CE_PHYS_ATT_CHANGE:AGILITY:250:2500:ENDURANCE:500:2500:TOUGHNESS:500:2500:START:0]
[CE_SKILL_ROLL_ADJUST:PERC:125:PERC_ON:100:START:0]
[CE_MATERIAL_FORCE_MULTIPLIER:MAT_MULT:NONE:NONE:2:3:START:0]
[CE_SENSE_CREATURE_CLASS:START:0:CLASS:GENERAL_POISON:33:2:0:1]
[CE_MENT_ATT_CHANGE:INTUITION:250:1000:FOCUS:250:1000:WILLPOWER:250:1000:SPATIAL_SENSE:250:1000:START:0]
[CE_SPEED_CHANGE:SPEED_PERC:5000:START:0]
You will be stupidly fast, ridiculously durable, strong enough to punch people across the screen (can't actually add more strength without hitting the problem Putnam found where your speed rolls over to 0.099), be able to sense where people are through walls (the green !'s), and generally a god of destruction.

Boros is gonna get his ass handed to him with this training. Now i need to make a one punch man mod!

Is there any way to make a drink that imbues these effects, as i don't want to clutter my natural abilities tab anymore?
Logged
'What is life?', you ask. Fundamentally life is the apotheosis of pointlessness. We live to multiple. But what for? The Endless cycle of carnage pulls hardest on the furthest victim. An inescapable fate; one no one wants but we all desire. The more immoral we become the more ideal we are. A perverse oxymoron. We who live unencumbered but are the most burdened. We fight but at the end it is all for naught, as in life there are no winners; only the undistinguished.

GENERATION 29:
Copy and add 1.
Pages: 1 [2] 3 4