The Burp of the Dragon

Users who are viewing this thread

Guid Evenin all,
i'm here to ask for help anew, i would need to add a fire effect in Warband. A fire effect which gives the
impression of warm air, or if you prefer, heat wave. I asked some of the deepest knowers of shaders and effects,
and some of them say it is achievable.
The heat effect should have few sparks in it, no smoke, few little wee flames scattered around, it should spawn without any
sort of mesh/missile, so upon the closest bot for example or perhaps directly in the cursor direction.
But foremost feature, it must show a quick slight environment redshifting within the fire area.
One amidst the experts said it could be obtained with a reddish full-screen filter. Would you help me?

PS:
If you're a professionist or close and want to earn something, send me a PM, i pay you,
but i request a granted result, with enough instructions when necessary.

Edit: Could someone please answer this, anyone knows how to achieve this effect?
        For coders: you think you could? Send me a PM, say me your price, send me the solution after payment.

 
Yep, that's it, you saw my deleted banner :grin:
A friend of mine imported Geralt from TW1 (the most slavic, kocham to) but i was afraid of copyrights, can we show material from copyrighted games not explicitly permitted by authors? CDProject, przepraszam.
Anyway, not only for it, i found out a forsaken mod where dragons are actually made really good and wanted to try it, but mainly for Geralt's Igni.  :smile:
I think it's explained enough as it is, basically a "scorched area effect", or dragon breath, a witcher's sign Igni effect (from Latin Ignis)
like it was in TW1, with a little area quick redshifting, perhaps multiple damage to closest bots, very few flames spawned without missiles/props.

Pozdrawiam
 
Sir John Hawkwood said:
Yep, that's it, you saw my deleted banner :grin:
A friend of mine imported Geralt from TW1 (the most slavic, kocham to) but i was afraid of copyrights, can we show material from copyrighted games not explicitly permitted by authors? CDProject, przepraszam.
Anyway, not only for it, i found out a forsaken mod where dragons are actually made really good and wanted to try it, but mainly for Geralt's Igni.  :smile:
I think it's explained enough as it is, basically a "scorched area effect", or dragon breath, a witcher's sign Igni effect (from Latin Ignis)
like it was in TW1, with a little area quick redshifting, perhaps multiple damage to closest bots, very few flames spawned without missiles/props.

Pozdrawiam



You can use W2 assets for fan modding in other games  I belive.
I'm not sure about W1/W3.


///twórcy o  skyrimie napewno wspominali w sprawie W2
 
twórcy o  skyrimie na pewno wspominali w sprawie W2
Wiem. Czy to jest dla wiedzmina, niewazne. Ciesze sie, ze poznales to, jestes polakiem rowniez.

Hey everybody, i told it, i want an Igni effect, could you do it? How should i do then, especially for the redshifting?
 
I'll start by saying, I don't wanna get too involved with this. I can offer some suggestions tho.

If you don't wanna use projectiles or props, then your best option is probably ray-casts.
Sebastian wrote some useful ray-casting code, for detection of agents i'll include it in the code.

If you're raycasting then your effects are probably gonna be some sort of flamethrower.
Warband is a different system in that you can fire from horse back, you can aim in any direction.
Keeping that in mind you're not always going to want to spawn fire/sparks depending on where you're aiming.
You could detect how close the raycast is to the ground and if its close enough spawn some some fire/ sparks particle systems at ground location.

Your particle systems are probably gonna be layers of, flamethrower flames, ground flames, fire sparks, possibly semi transparent light particles.

As for the redshifting, I guess you could spawn and destroy a scene prop with a red point light. Or write shaders to alter the lighting. Both add a lot of complexity to what you are trying to achieve. Maybe you could get away with a layering your flame particles on top of quite transparent blend particles to give the illusion of red light.

Here's some testing I did for a flamethrower type spell. Its not exactly optimized, but you might be able to learn from it.
module scripts
Code:
("fireball_spell", [
    (store_script_param, ":agent_id", 1),
    

    (set_fixed_point_multiplier, 100),
    (agent_get_look_position, pos2, ":agent_id"),
    (copy_position, pos7, pos2),
    (init_position, pos6),  
    (agent_get_bone_position, pos6, ":agent_id", 18, 1),
     (position_get_z, ":hand_z",pos6),
    (position_set_z,pos7,":hand_z"),
    
    (position_move_y, pos7, 300),
    (particle_system_burst, "psys_flamethrower", pos7, 3),#do a single burst only, adjust the particle system accordingly, 100 is max burst btw
      (position_move_y, pos7, 100),
     (particle_system_burst, "psys_flamethrower", pos7, 10),#do a single burst only, adjust the particle system accordingly, 100 is max burst btw
      (position_move_y, pos7, 100),
     (particle_system_burst, "psys_flamethrower", pos7, 10),#do a single burst only, adjust the particle system accordingly, 100 is max burst btw
    (position_move_y, pos7, 100),
    (particle_system_burst, "psys_flamethrower", pos7, 10),#do a single burst only, adjust the particle system accordingly, 100 is max burst btw
    (position_move_y, pos7, 100),
    (particle_system_burst, "psys_flamethrower", pos7, 10),#do a single burst only, adjust the particle system accordingly, 100 is max burst btw
    (position_move_y, pos7, 100),
    (particle_system_burst, "psys_flamethrower", pos7, 10),#do a single burst only, adjust the particle system accordingly, 100 is max burst btw
    (position_move_y, pos7, 100),
    (particle_system_burst, "psys_flamethrower", pos7, 10),#do a single burst only, adjust the particle system accordingly, 100 is max burst btw
    (position_move_y, pos7, 100),
    (particle_system_burst, "psys_flamethrower", pos7, 10),#do a single burst only, adjust the particle system accordingly, 100 is max burst btw
    
    (assign, ":ray_length", 1000),#10 meters, adjust the paricle life and emit speed accordingly
    (position_move_z, pos2, -90, 1),#pre applied center of body adjustment

    (try_for_agents, ":agent", pos2, ":ray_length"),
    (neg|agent_is_ally,":agent"),
      (agent_is_alive, ":agent"),
      (agent_is_human, ":agent"),
      (agent_get_position, pos3, ":agent"),
      (position_transform_position_to_local, pos4, pos2, pos3),
      (position_get_x, ":val", pos4),
      (is_between, ":val", -250, 250),#horizontal body size
      (position_get_y, ":val", pos4),
      (is_between, ":val", 0, ":ray_length"),#check forward only
      (position_get_z, ":val", pos4),
      (is_between, ":val", -500, 500),#vertical body size
      (agent_deliver_damage_to_agent,":agent_id",":agent"),
    (try_end),
  ]),

module mission templates
common_battle_flamers = (
    0.3, 0, 0, [],
    [
    (get_player_agent_no, ":player_agent"),

      (try_begin),
      (agent_get_wielded_item, ":player_item", ":player_agent", 0),
        (eq, ":player_item", "itm_flintlock_pistol"),
      (game_key_is_down, gk_attack),
    (call_script, "script_fireball_spell", ":player_agent"),
    (try_end),
        ]
    )

Good luck
 
Thank you for this.
I don't wanna get too involved with this
It's a pity, this for me it's almost worth money (you showed code). You don't want to get commercial i guess.
Keeping that in mind you're not always going to want to spawn fire/sparks depending on where you're aiming.
Well, that's fine, it's fit for the close-quarter pyrokinetic kind of magic.

You could detect how close the raycast is to the ground and if its close enough spawn some some fire/ sparks particle systems at ground location
is it possible something like this? Especially to spawn some fire from nothing?
Or write shaders to alter the lighting
is this possible too? :eek: I did not expect the game engine to go this far, i think this could be the best idea, i mean under broad daylight it should work better.

Hitherto i tried many mods with magic for Warband, and in one of them, i discovered a fire spell that evokes the fire, it just "evokes" it almost to cover the enemy up, i asked the authors for the source files but i get no answers so far.

I tried it and laughed. You made a flamethrower. :lol:
Its not exactly optimized, but you might be able to learn from it.
It's nice though, thank you. I did learn from it, hoc ego feci.
I never examined the particles system, it looks quite promising. The shaders to alter the lighting are what worries me most.
Edit: Has someone written something akin before?
 
is it possible something like this? Especially to spawn some fire from nothing?
Its not spawning from nothing, but particle burst only needs a position to spawn from.
You could probably use something like (position_get_distance_to_terrain, <destination_fixed_point>, <position_no>),
Then if the position is less than x amount, spawn the particles.
You might need to limit the amount of times this is called per second tho. I guess you could use a second trigger.

it just "evokes" it almost to cover the enemy up
If you find each agents position then you have the locations to spawn particles from. We usually attach scene props but that creates a new set of problems.

Code:
Has someone written something akin before?
Yeah Sebastian's boe shaders have a lightning location that changes how all the shaders behave.
I suggest you leave the shaders / red lighting until the rest of the project is done. It would be a complicated cherry on top. Better to spend your time on other areas first.
 
Thank you

In BoE i found a nice shader that could suit this, it appears when the player dies, aside from this, i haven't found anything else...
i tried to search it on openBRF but i couldn't find it, neither among shaders nor particles. Why can't i view the shaders on openBRF?

With the spare time left i tried to compile something myself  :lol:, it was a ridiculous attempt, i looked for source reference files amidst magic mods only to face eventually unknown operations and ten years old variables...But i don't want to learn M&B for the meantime.
Years ago i said i would not learn any other game code language, except BIS studio games, thereof i am staunch follower being said that Arma or OFP coding are a bit harder than M&B, in Arma series me = kalarhan, so i definitively need some help and wherefore ready to pay someone. Is there a coder available to write this for me? What about you?

Announcement:
So i would request a magic attack with multiple discrete front damage to closest bots within distance let's say 20 (distance value),
stun animation for injured enemies, no flames on them just few on the ground, attack bound to a key (K), few sparks, ability to spawn these particles without enemy maybe using that raycasting or detecting the position from the ground, ground dust fluttering towards attack direction. Of course send me a PM. That's all for now.

Edit:I've been a little straightforward, i'm not gonna spend half-a-day again trying to put together things i know barely of, not at all.
Just one thing, are you all afraid of money? You say the price, i may tell you yea or nay, but to get paid you must be sure of the result, neat.
 
Hello people,
I got help! I'm no longer locked in a standoff! Someone on this forum kindly helped me, and gave me the wherewithal to make the script i needed, it's already coming out good. Now that i have the script to deal damage, i need something to spawn the tiny flames nearby.
This is how it should work:
w4B7o.png

So the area in front of me, i.e. 5  x 3 meters wide on a base angle of 180°, up to 3/4 flamelets should spawn randomly.
I was thinking to use an array of points (10-30) fixed on the ground and make it sort amongst them, but then i wondered whether it worked say before a chasm or a barrow, where the flames would probably spawn either on the bottom beneath me or above; or before any obstacle, like a wall.
I looked up several operations that could be useful, to generate random values with a seed, those could really work out but again i don't know how to use them.
The mtrand operation for example, can it be used to generate completely random spawn points/positions in the area, perhaps detecting whichever contingent obstacle or collision-box close by?
I really could use some help here, for i searched everywhere on this forum and further, and found absolutely nil.
Could you help me?
 
What you're going for shouldn't be too difficult. The flames you'd be spawning wouldn't be physical objects, so there's no need to be afraid of them "falling".
Speaking of the flames, I've never used the particle systems in this game much, but I somehow doubt it'd be impossible to make a particle system that kind of looks like a moderately-levelled Igni sign from the Witcher 1. Dunno about red-shifting. If this is the plan, fiddle with the particle systems until you know how they work (I certainly don't), make a particle system that looks properly, then apply damage in a fitting area.

Alternatively, if you want to spawn a number of tiny flames, that'd probably be easier. "
Code:
mtrand
" is a WSE function; I imagine you can get (mostly) similar results using
Code:
store_random_in_range
without WSE. First, think about how you'd define the area parameters. You have the player agent's position and direction, so you can use some simple linear algebra to calculate the bounds of your rectangle, cone, or whatever you want -- the radius to create the stuff in. Then generate positions for the flames within those bounds. I can't tell you how exactly you'd go about doing that, but (take it with a grain of salt, but) I'm preeeetty sure what you want isn't impossible. Floating-point numbers might give you some trouble, but this should be fine if you're using WSE. (Alternatively, you could spawn the flames in a fixed, hard-coded pattern in front of the player using position offsets set by hand. That could work reasonably well, and it'd probably be the least complex solution in terms of maths.)

I recommend playing around with the various operations and trying to build this one step at a time. Try spawning a single little flame first, then move it around, get a feel for how positions and offsets work. Maybe do the same with the particle systems if you want to build a custom one: fiddle with some values, see what they change, get a feel for how it all ties together, and then go for something more complex.

Good luck!
 
Back
Top Bottom