1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

Gandalf (Wizard)

Discussion in 'Civ5 - Unit Graphics' started by Nomad or What, Jun 19, 2014.

  1. Nomad or What

    Nomad or What Wayfarer Supporter

    Joined:
    Nov 25, 2012
    Messages:
    686
    Location:
    Wherever the winds take me
    "Gandalf"-style wizard, 4 different skins. Uses Civ V Scout animations with fireball (city attack) effects included in the .ftsxml. High detail and poly count (3,000+), so should ideally be used as an individual unit or great person. Source art from Atlantica Online.

    EDIT: Updated effects to six different varieties: City attack, Dromon fire, GDR Railgun, Rocket Artillery, GDR Rocket, and XCOM Plasma Rifle. Images of effects below. :END EDIT


    Images of various effects:

    Artillery Rocket

    Dromon Fire

    Dromon Smoke on Wizard Staff

    Mech Railgun

    Mech Rocket

    XCOM Plasma Rifle

    DOWNLOAD HERE
    :)
     
    Last edited: Mar 7, 2018
    AzraelZephyrian likes this.
  2. PawelS

    PawelS Ancient Druid

    Joined:
    Dec 11, 2003
    Messages:
    2,803
    Location:
    Poland
    Magnificent unit :) I'll use him as a Great Mage - a kind of Great Person with combat ability.

    Btw, the beard looks like composed from 2 parts - smaller and larger. So perhaps you can remove the second part and make a version with a smaller beard...
     
  3. Nomad or What

    Nomad or What Wayfarer Supporter

    Joined:
    Nov 25, 2012
    Messages:
    686
    Location:
    Wherever the winds take me
    That effect comes from the lack of transparency alpha channel in Civ V; I try to reshape the UV mapping to avoid them but occasionally I miss a couple. Fortunately it can't be seen at scale in-game.

    The beard is easy enough to separate; the bottom portion is on a different mesh.
     
  4. Pazyryk

    Pazyryk Chieftain

    Joined:
    Jun 13, 2008
    Messages:
    3,584
    Great job!

    Do you happen to know if the "city attack fireball" animation fires if this unit is made to do a ranged attack on another unit?

    I ask because I figure that most modders will want some kind of ranged attack animation from these. I have a very complex hack to do this, but it'd be better to have animation in the unit. (I know it sounds weird, but the Rocket Artillery ranged attack animation is actually a pretty good representation for a Magic Missile spell, if you are looking for an animation.)

    [My "complex hack" is to combine a single unit member (my spellcaster) with an "Invisible Rocket Artillery" member (kindly supplied by Nutty). It's complex because I use Lua to plop this special unit on the map only when the spell is cast.]
     
  5. Nomad or What

    Nomad or What Wayfarer Supporter

    Joined:
    Nov 25, 2012
    Messages:
    686
    Location:
    Wherever the winds take me
    Yep, sure does...I tested it in-game already. No real hack necessary; I just changed the scout attack_a (1100), attack_b (2100), and charge_attack (1140) codes to be defined as the city_attack animation (1160 & 1180). Then, I changed the attack codes in the .ftsxml triggers file to be identical to the city attack effects. Finally, I defined the unit in the .xml file to have RangedCombat with Range=1. So, effectively it is a scout unit that fires as an archer and always uses city attack animations when it attacks.

    Here is the code if you are interested:

    Wizard_M4.fxsxml:
    Spoiler :

    <Asset>
    <Mesh file="Wizard_M4.gr2"/>
    <Animation file="Scout_IdleA.gr2" ec="1000"/>
    <Animation file="Scout_FidgetA.gr2" ec="1040"/>
    <Animation file="Scout_IdleA_Trans_IdleB.gr2" ec="1020"/>
    <Animation file="Scout_IdleB.gr2" ec="2000"/>
    <Animation file="Scout_FidgetB.gr2" ec="2040"/>
    <Animation file="Scout_IdleB_Trans_IdleA.gr2" ec="2020"/>
    <Animation file="Scout_Fortify.gr2" ec="1500"/>
    <Animation file="Scout_Fortify_Idle_Trans_IdleA.gr2" ec="1580"/>
    <Animation file="Scout_Fortify_Idle.gr2" ec="1520"/>
    <Animation file="Scout_Fortify_Idle_Fidget.gr2" ec="1540"/>
    <Animation file="Scout_Fortify_Idle_Trans_Combat_Ready_Idle.gr2" ec="1560"/>
    <Animation file="Scout_Combat_Ready_Idle.gr2" ec="1620"/>
    <Animation file="Scout_Combat_Ready.gr2" ec="1600"/>
    <Animation file="Scout_Combat_Ready_Idle_Trans_IdleA.gr2" ec="1640"/>
    <Animation file="Scout_Shuffle.gr2" ec="1450"/>
    <Animation file="Scout_Run.gr2" ec="1400"/>
    <Animation file="Scout_Stop_Run.gr2" ec="1440"/>
    <Animation file="Scout_Run_Stop_IdleB.gr2" ec="2440"/>
    <Animation file="Scout_Charge_Run.gr2" ec="1120"/>
    <Animation file="Scout_Attack_City.gr2" ec="1100, 1140, 1160, 1180, 2100"/>
    <Animation file="Scout_Victory.gr2" ec="1800"/>
    <Animation file="Scout_Bombard_Defense.gr2" ec="1280"/>
    <Animation file="Scout_Bombard_Defense_Idle.gr2" ec="1285"/>
    <Animation file="Scout_Bombard_Defense_Trans_IdleA.gr2" ec="1290"/>
    <Animation file="Scout_Death_A.gr2" ec="1200"/>
    <Animation file="Scout_Death_A_Idle.gr2" ec="1220"/>
    <Animation file="Scout_Death_B.gr2" ec="2200"/>
    <Animation file="Scout_Death_B_Idle.gr2" ec="2220"/>
    <Texture file="WIZARDM4_MAP00.dds"/>
    <Texture file="WIZARDM4_MAP01.dds"/>
    <Texture file="WIZARDM4_MAP02.dds"/>
    <Texture file="black_4x4.dds"/>
    <Texture file="Unit_Environment_Dull.dds"/>
    <Texture file="Unit_Environment_Sharp.dds"/>
    <Texture file="Unit_Irradiance.dds"/>
    <BoneUsage>
    <Bone name="Staff"/>
    <Bone name="Base HumanSpine2"/>
    <Bone name="bone_STAFF_high"/>
    <Bone name="bone_STAFF_low"/>
    <Bone name="Base HumanRPalm"/>
    </BoneUsage>
    <TimedTrigger file="FX_Triggers_Wizard.ftsxml"/>
    <AnimGraph file="RUN_CHARGE_SHUFFLE_TO_SHUFFLE_RUN_CHARGE.dge"/>
    <AnimGraph file="IDLE_OFFSET_CONTINUE_TRUE_GRAPH.dge"/>
    <AnimGraph file="FORTIFY_FIDGET_GRAPH.dge"/>
    <AnimGraph file="ENTER_FORTIFY.dge"/>
    <AnimGraph file="LEAVE_BOMBARD_DEFEND_TRANS_IDLE_A_GRAPH.dge"/>
    <AnimGraph file="DEATH_FINAL_GRAPH.dge"/>
    <AnimGraph file="BOMBARD_DEFEND_LOOP_GRAPH.dge"/>
    <AnimGraph file="ENTER_BOMBARD_DEFEND_GRAPH.dge"/>
    <AnimGraph file="DEATH_GRAPH.dge"/>
    <AnimGraph file="LEAVE_COMBAT_READY.dge"/>
    <AnimGraph file="ENTER_COMBAT_READY_GRAPH.dge"/>
    <AnimGraph file="FORTIFY_LEAVE_GRAPH.dge"/>
    <AnimGraph file="COMBAT_READY_GRAPH.dge"/>
    <AnimGraph file="FORTIFY_GRAPH.dge"/>
    <AnimGraph file="TRANSITIONS_FOR_IDLES.dge"/>
    <AnimGraph file="STOP_RUNNING.dge"/>
    <AnimGraph file="IDLE_GRAPH.dge"/>
    <AnimGraph file="FIDGETS_GRAPH.dge"/>
    <AnimGraph file="MELEE_ATTACKS.dge"/>
    <StateMachine file="1_OMNI_STATE_01.fsmxml"/>
    <AnimGraph file="RUN_CHARGE_SHUFFLE_LOOP.dge"/>
    <AnimGraph file="ATTACK_TO_RUN_CHARGE_SHUFFLE.dge"/>
    <AnimGraph file="ATTACK_CITY_TO_RUN_CHARGE_SHUFFLE.dge"/>
    <AnimGraph file="START_RUN_CHARGE_SHUFFLE.dge"/>
    <AnimGraph file="SHUFFLE_STOP_GRAPH.dge"/>
    </Asset>


    FX_Triggers_Wizard.ftsxml:
    Spoiler :

    <triggers>

    <!-- "Scout_AttackA.gr2" ec="1100" replaced by "Scout_Attack_City.gr2" in .fxsxml file; ec="1100" effects replaced with ec="1160" to represent city attack effects for Attack "A" -->

    <trigger type="FTimedTriggerSound" id="32" time="0.5629633" duration="0" repeat="0" ec="1100" track="1" tier="0" event="AS3D_UNIT_SCOUT_ATTACK_VOX_G" bone=""/>
    <trigger type="FTimedTriggerEffect" id="16" time="0.08333332" duration="0.56" repeat="0" ec="1100" track="2" tier="0" event="ART_DEF_VEFFECT_MELEE_TORCH_PROJECTILE" bone="Base HumanRPalm"/>
    <trigger type="FTimedTriggerTransfer" id="43" time="0.6333333" duration="0" repeat="0" ec="1100" track="3" tier="0" refid="16" speed="0" tangent.x="0.256407171" tangent.y="-0.9349204" tangent.z="0.245314345"/>
    <trigger type="FTimedTriggerSound" id="24" time="0.562963" duration="0" repeat="0" ec="1100" track="1" tier="1" event="AS3D_UNIT_SCOUT_THROW_TORCH_T1" bone=""/>
    <trigger type="FTimedTriggerSound" id="41" time="0.562963" duration="0" repeat="0" ec="1100" track="1" tier="2" event="AS3D_UNIT_SCOUT_THROW_TORCH_T2" bone=""/>
    <trigger type="FTimedTriggerSound" id="42" time="0.5833335" duration="0" repeat="0" ec="1100" track="1" tier="0" event="AS3D_UNIT_SCOUT_SWORD_SWING_LOW" bone=""/>
    <trigger type="FTimedTriggerSound" id="45" time="0.8925928" duration="0" repeat="0" ec="1100" track="1" tier="0" event="AS3D_UNIT_SCOUT_THROW_TORCH" bone=""/>

    <!-- "Scout_AttackB.gr2" ec="2100" replaced by "Scout_Attack_City.gr2" in .fxsxml file; ec="2100" effects replaced with ec="1180" to represent city attack effects for Attack "B" -->

    <trigger type="FTimedTriggerSound" id="44" time="0.562962949" duration="0" repeat="0" ec="2100" track="1" tier="0" event="AS3D_UNIT_SCOUT_ATTACK_VOX_G" bone=""/>
    <trigger type="FTimedTriggerEffect" id="22" time="0.08333332" duration="0.56" repeat="0" ec="2100" track="2" tier="0" event="ART_DEF_VEFFECT_MELEE_TORCH_PROJECTILE" bone="Base HumanRPalm"/>
    <trigger type="FTimedTriggerTransfer" id="34" time="0.6333333" duration="0" repeat="0" ec="2100" track="3" tier="0" refid="22" speed="0" tangent.x="0.256407171" tangent.y="-0.9349204" tangent.z="0.245314345"/>
    <trigger type="FTimedTriggerSound" id="69" time="0.5833335" duration="0" repeat="0" ec="2100" track="1" tier="0" event="AS3D_UNIT_SCOUT_SWORD_SWING_LOW" bone=""/>
    <trigger type="FTimedTriggerSound" id="70" time="0.8870372" duration="0" repeat="0" ec="2100" track="1" tier="0" event="AS3D_UNIT_SCOUT_THROW_TORCH" bone=""/>
    <trigger type="FTimedTriggerSound" id="71" time="0.562963" duration="0" repeat="0" ec="2100" track="1" tier="1" event="AS3D_UNIT_SCOUT_THROW_TORCH_T1" bone=""/>
    <trigger type="FTimedTriggerSound" id="79" time="0.562963" duration="0" repeat="0" ec="2100" track="1" tier="2" event="AS3D_UNIT_SCOUT_THROW_TORCH_T2" bone=""/>

    <!-- "Scout_Charge_Attack.gr2" ec="1140" replaced by "Scout_Attack_City.gr2" in .fxsxml file; ec="1140" effects replaced with ec="1180" to represent city attack effects for Charge Attack -->

    <trigger type="FTimedTriggerSound" id="52" time="0.562962949" duration="0" repeat="0" ec="1140" track="1" tier="0" event="AS3D_UNIT_SCOUT_ATTACK_VOX_G" bone=""/>
    <trigger type="FTimedTriggerEffect" id="53" time="0.08333332" duration="0.56" repeat="0" ec="1140" track="2" tier="0" event="ART_DEF_VEFFECT_MELEE_TORCH_PROJECTILE" bone="Base HumanRPalm"/>
    <trigger type="FTimedTriggerTransfer" id="54" time="0.6333333" duration="0" repeat="0" ec="1140" track="3" tier="0" refid="53" speed="0" tangent.x="0.256407171" tangent.y="-0.9349204" tangent.z="0.245314345"/>
    <trigger type="FTimedTriggerSound" id="55" time="0.5833335" duration="0" repeat="0" ec="1140" track="1" tier="0" event="AS3D_UNIT_SCOUT_SWORD_SWING_LOW" bone=""/>
    <trigger type="FTimedTriggerSound" id="56" time="0.8870372" duration="0" repeat="0" ec="1140" track="1" tier="0" event="AS3D_UNIT_SCOUT_THROW_TORCH" bone=""/>
    <trigger type="FTimedTriggerSound" id="59" time="0.562963" duration="0" repeat="0" ec="1140" track="1" tier="1" event="AS3D_UNIT_SCOUT_THROW_TORCH_T1" bone=""/>
    <trigger type="FTimedTriggerSound" id="60" time="0.562963" duration="0" repeat="0" ec="1140" track="1" tier="2" event="AS3D_UNIT_SCOUT_THROW_TORCH_T2" bone=""/>

    <!-- "Scout_Attack_City.gr2" ec="1160" appears as normal, unedited -->

    <trigger type="FTimedTriggerSound" id="33" time="0.5629633" duration="0" repeat="0" ec="1160" track="1" tier="0" event="AS3D_UNIT_SCOUT_ATTACK_VOX_G" bone=""/>
    <trigger type="FTimedTriggerEffect" id="23" time="0.08333332" duration="0.56" repeat="0" ec="1160" track="2" tier="0" event="ART_DEF_VEFFECT_MELEE_TORCH_PROJECTILE" bone="Base HumanRPalm"/>
    <trigger type="FTimedTriggerTransfer" id="31" time="0.6333333" duration="0" repeat="0" ec="1160" track="3" tier="0" refid="23" speed="0" tangent.x="0.256407171" tangent.y="-0.9349204" tangent.z="0.245314345"/>
    <trigger type="FTimedTriggerSound" id="4" time="0.562963" duration="0" repeat="0" ec="1160" track="1" tier="1" event="AS3D_UNIT_SCOUT_THROW_TORCH_T1" bone=""/>
    <trigger type="FTimedTriggerSound" id="15" time="0.562963" duration="0" repeat="0" ec="1160" track="1" tier="2" event="AS3D_UNIT_SCOUT_THROW_TORCH_T2" bone=""/>
    <trigger type="FTimedTriggerSound" id="38" time="0.5833335" duration="0" repeat="0" ec="1160" track="1" tier="0" event="AS3D_UNIT_SCOUT_SWORD_SWING_LOW" bone=""/>
    <trigger type="FTimedTriggerSound" id="48" time="0.8925928" duration="0" repeat="0" ec="1160" track="1" tier="0" event="AS3D_UNIT_SCOUT_THROW_TORCH" bone=""/>

    <!-- "Scout_Attack_City.gr2" ec="1180" appears as normal, unedited -->

    <trigger type="FTimedTriggerSound" id="78" time="0.562962949" duration="0" repeat="0" ec="1180" track="1" tier="0" event="AS3D_UNIT_SCOUT_ATTACK_VOX_G" bone=""/>
    <trigger type="FTimedTriggerEffect" id="17" time="0.08333332" duration="0.56" repeat="0" ec="1180" track="2" tier="0" event="ART_DEF_VEFFECT_MELEE_TORCH_PROJECTILE" bone="Base HumanRPalm"/>
    <trigger type="FTimedTriggerTransfer" id="30" time="0.6333333" duration="0" repeat="0" ec="1180" track="3" tier="0" refid="17" speed="0" tangent.x="0.256407171" tangent.y="-0.9349204" tangent.z="0.245314345"/>
    <trigger type="FTimedTriggerSound" id="49" time="0.5833335" duration="0" repeat="0" ec="1180" track="1" tier="0" event="AS3D_UNIT_SCOUT_SWORD_SWING_LOW" bone=""/>
    <trigger type="FTimedTriggerSound" id="50" time="0.8870372" duration="0" repeat="0" ec="1180" track="1" tier="0" event="AS3D_UNIT_SCOUT_THROW_TORCH" bone=""/>
    <trigger type="FTimedTriggerSound" id="51" time="0.562963" duration="0" repeat="0" ec="1180" track="1" tier="1" event="AS3D_UNIT_SCOUT_THROW_TORCH_T1" bone=""/>
    <trigger type="FTimedTriggerSound" id="72" time="0.562963" duration="0" repeat="0" ec="1180" track="1" tier="2" event="AS3D_UNIT_SCOUT_THROW_TORCH_T2" bone=""/>

    </triggers>
     
  6. Nomad or What

    Nomad or What Wayfarer Supporter

    Joined:
    Nov 25, 2012
    Messages:
    686
    Location:
    Wherever the winds take me
    It seems to me that there is an easier way to do this. Instead of creating an invisible unit with Lua, just alter the .ftsxml file. So, the current city attack effects simply reference rocket artillery effects instead and use the appropriate bone as the origination point ("Base HumanRPalm" in the case of this unit).

    Test my unit in game (it downloads as a ready-to-go test mod) and see what you think of the current effects. If it looks satisfactory, let me know and I will test the unit using Rocket Artillery effects in lieu of city attack effects.
     
  7. PawelS

    PawelS Ancient Druid

    Joined:
    Dec 11, 2003
    Messages:
    2,803
    Location:
    Poland
    I use FramedArchitect's recolored Scouts, they have ranged attacks and don't need any invisible members.
     
  8. Pazyryk

    Pazyryk Chieftain

    Joined:
    Jun 13, 2008
    Messages:
    3,584
    Because I had tried this (for many hours) without success :crazyeye:. There have been a number of other threads started by modders who wanted to hook up existing range animations to different units. But all of us were too ignorant about art assets to get anything working.

    Just to be clear, are you saying this can be done in fxsxml and ftsxml files only, without modding gr2? Or is that only the case when you are re-jiggering within a unit's own animations (e.g., using city attack for ranged attack but not borrowing from another unit). Or can I hook up any ranged animation to any unit this way?
     
  9. Nutty

    Nutty Chieftain

    Joined:
    Mar 9, 2011
    Messages:
    3,148
    Gender:
    Male
    Location:
    Orange County, California, U.S.A.
    No, he's referring to the effect (the projectile, in this case), not the model's animation--but it does make the complexity of using an invisible unit unnecessary. You just have to figure out which bone to which to attach the effect (note that Granny Viewer is capable of displaying bone names). You then reference the bone in the BoneUsage section in the .fxsxml, and then refer to the bone in your .ftsxml (see the examples in Nomad's post #5).
     
  10. Nomad or What

    Nomad or What Wayfarer Supporter

    Joined:
    Nov 25, 2012
    Messages:
    686
    Location:
    Wherever the winds take me
    I edited the .ftsxml triggers spoiler for clarity to easily identify how each attack is defined.
     
  11. Nomad or What

    Nomad or What Wayfarer Supporter

    Joined:
    Nov 25, 2012
    Messages:
    686
    Location:
    Wherever the winds take me
    No modding the .gr2 at all; it is done entirely through the .fxsxml and .ftsxml files. I just confirmed that it works by added a slew of various special effects to these wizards. Download the latest file and try them for yourself. Then, reverse-engineer the information contained in the .ftsxml files and apply them to whichever units you want to modify.

    There is one caveat: Some special effects (such as the Dromon) have unique bones that assist in creating an effect. So for these, unless you create a custom animation that adds this bone into the model, you will not get the desired effect. I overcame this somewhat with the wizard by coupling the Dromon fire with a city attack effect; at scale, it is hardly noticeable. Nevertheless, without the bone and animation that it uses the Dromon fire will not project outward as it should. Fortunately, most effects only require point of origination which can be assigned to any bone desired.
     
  12. bouncymischa

    bouncymischa Synthetic Genie

    Joined:
    Nov 28, 2012
    Messages:
    1,537
    Location:
    In a bottle
    Can I just say that that's TOO AWESOME?? I imagine we'll be seeing a lot more cool-looking spellcasting now!

    Gotta make my Witches spam Master Spark... :p
     
  13. Civitar

    Civitar Adventurer

    Joined:
    Mar 23, 2014
    Messages:
    1,507
    Gender:
    Male
    Location:
    Switzerland
    Holy cow, I cannot believe how good the XCOM plasma ray and GDR railgun effects look. Just a question, in each of those pictures, who is attacking? Kinda hard to tell with all those explosions and colored rays of light going off...
    Great unit though Nomad, even without the effects. Though the effects make it ten times better.:mischief:
     
  14. Pazyryk

    Pazyryk Chieftain

    Joined:
    Jun 13, 2008
    Messages:
    3,584
    Oh my! That's 4 or 5 different spells for me right there!
     
  15. Nomad or What

    Nomad or What Wayfarer Supporter

    Joined:
    Nov 25, 2012
    Messages:
    686
    Location:
    Wherever the winds take me
    It's difficult to get a screen capture of these effects with proper timing :(

    I would recommend downloading the files (it's a complete mod) and setting up a small game using it. Barbarians spawn these guys as well which makes it a lot of fun (and they are setup to be SERIOUSLY OP against all of the rival civs). You will see just how cool the effects are, particularly the plasma beam (deathray wizard) and mech autocannon (railgun wizard) effects. Those knocked my socks off! The flame wizard isn't bad, either. I am not a big fan of the two missile attacks because they look too much like a rocket and not enough like a "magic missile" for my taste. The last one uses city attack animations which also look decent but have been overplayed.

    Some of the effects originate from the right hand (Base HumanRPalm) and others from the staff. The deathray originates from his head - frickin' laser beams!!! :mwaha:
     
  16. Jamforce

    Jamforce Chieftain

    Joined:
    May 19, 2014
    Messages:
    129
    Location:
    Italy
    One word: AWESOME!
     
  17. TLhikan

    TLhikan Chieftain

    Joined:
    May 6, 2013
    Messages:
    78
    Ooh, nice. I think the GDR attack effect looks the best with the model, but the Dromon looks good too.
     
  18. Pazyryk

    Pazyryk Chieftain

    Joined:
    Jun 13, 2008
    Messages:
    3,584
    OK, I got 5 of the effects working for different spells in v5 (just released). Now I've seen them in-game and it is much more impressive than the screenshots! Even the missiles look convincingly magical.

    It's kind of funny now because the Wizard changes robe color when casting different spells. I know how to fix that but I was in a hurry to get out a working version with these guys...
     
  19. bouncymischa

    bouncymischa Synthetic Genie

    Joined:
    Nov 28, 2012
    Messages:
    1,537
    Location:
    In a bottle
    Augh, ended up playing a hotseat game with my brother all weekend, so I still haven't gotten to try the wizard out. Keen to see these effects! (Although I did manage to get a cool-looking new UI graphic done!) I'm planning to use the Dromon fire for my Sorceress, while conserving the GDR railgun graphic for my Master Spark-casting Witches, eventually...

    As for the robes... perhaps mages wear mana-reactive robes, that change color depending on what manner of magic they're casting? :p

    Also, one other thought... I recall when looking at the effects from G&K, the Great Prophet has a pair of effects associated with the founding of a religion (a burst of light and something else). While the number of attack spells that don't actually fire projectiles is probably rather slim, I do wonder if it's another possible effect to tie to a spellcasting -- perhaps for some kind of Charm or Death spell or whatnot, that could hurt an enemy without actually firing something at them...

    Admittedly, projectile spells probably DO look far cooler anyways. :p
     
  20. Civitar

    Civitar Adventurer

    Joined:
    Mar 23, 2014
    Messages:
    1,507
    Gender:
    Male
    Location:
    Switzerland
    You could do a "Dagger Storm" by using the Trireme's attack effects...and the effects from a rifle flash might look good as well.
     

Share This Page