Avengers Mod V2.0, 9/feb/07 NPC>27Mod Beta 19/feb/07

Started by thetommyboy2002, January 22, 2007, 06:17AM

Previous topic - Next topic
does that also mean no restarting games or does a new NPCStat require a restart?

If not the npcstat, the eventual having of a new char select system will most def require a new game.

Quote from: BliZZ on February 16, 2007, 07:09PM
If not the npcstat, the eventual having of a new char select system will most def require a new game.
No, not necessarily.
I developed the swap system and the NPC stat with a saved game that predates the swap system.
And have tried other savedgames which (provided they are not from a previous version of Herostat) seem to work.
So it's a bit early to say for sure, but my inclination today is that the addition of:
1. an altered NPCstat
2. an altered conversation or 5
3. a bunch of new scripts
WON'T mean you have to start a new game.
I may be wrong, and it MAY change.

MAJOR PROGRESS on the Scarlet Witch "slow-time" bug:

I have got things working now with BOTH of her xtreme powers working (the "Anarchy Assault" AND "Revitalize") -- you can initiate EITHER xtreme while controlling the Scarlet Witch without invoking the "slow-time" bug, and you can now initiate a Team Extreme using any other character while all four are powered-up without invoking the "slow-time" bug.  This is a MAJOR improvement.

The ONLY thing that I still need to address is the fact that when you launch one of Scarlet Witch's xtreme power (either the "Anarchy Assault" or "Revitalize") while the other three characters are powered-up, it does NOT initiate a "Team Extreme" (the xtreme effect does not chain properly to initiate the other three character's xtremes).

I'm sure I can figure this last bit out with a bit more trial-and-error, though . . . just gonna take a bit more trial-and-error . . .

;)

Now 99.999% there -- Team Extremes now chain properly when initiated using the Scarlet Witch and the slow-time bug is completely gone.  The ONLY thing I haven't got sorted-out is the fact that when launching the Scarlet Witch's xtremes, the xtreme labels do not display; if you launch a Team Extreme using another character while all four are charged, the Scarlet Witch's xtreme labels DO show up fine, though.  Odd, but not a show-stopper.

I'm going to try to sort this last detail out before I release a set of patch files (and I might also re-name the Vision's xtreme power -- something like "Solar Discharge" would seem more character-appropriate than "Warbird's Wrath").

Fun stuff -- off to bed now, though.

:)

February 17, 2007, 04:31PM #125 Last Edit: February 17, 2007, 04:34PM by The Four-Eyed Avenger
Okay folks -- these files fix the Scarlet Witch's xtreme "slow-time" bug, and they also fix the Team Extreme chaining issue (which was actually the cause of the "slow-time" bug).  I also included an update to the Vision's powerstyle file, so now HIS xtreme attack label reads "Vision's Wrath" (which is much more appropriate than "Warbird's Wrath").

Three ps files in the zipfile -- just place the files in the "..\data\powerstyles\" directory (overwrite the existing files):

http://filexoom.com/files/3354/ScarletWitchVisionFix.zip

February 17, 2007, 04:33PM #126 Last Edit: February 17, 2007, 04:36PM by thetommyboy2002
Thanks, nicely done.

Glad to help, Tommyboy -- my pleasure to lend a hand! 

:)

Try it again -- had to rename the file . . . download works for me now:

http://filexoom.com/files/3354/ScarletWitchVisionFix.zip

(link above also corrected)

Does the chain start properly when Wanda is the one who activates it? Because when I tried to fix Cyclops', I fixed it almost fully, except when he was the one whose xtreme you used it didn't set off the chain, he just executed his power. If it does, how exactly did you you get it to? :P

Yes, Team Extremes DO chain properly when an xtreme is initiated by Wanda (or when Wanda is charged and a Team Extreme is initiated by another character). 

Here is what Wanda's original file looked like:

Quote}

   event {
   damage = %scar_p9_dmg ;
   damagescale = none ;
   inherit = radial ;
   maxrange = 350 ;
   name = p9_blast ;
   }

   FightMove {
   aireusetime = 5 ;
   animenum = ea_power9 ;
   blendtime = 0 ;
   combotextfinisher = Chaos ;
   description = ANARCHY ASSAULT ;
   icon = 8 ;
   lockangles = true ;
   name = power9 ;
   playspeed = 10 ;
   powerup_tag = scar_power9 ;
   priority = 5 ;
      require {
      cat = skill ;
      item = scar_p9 ;
      level = 1 ;
      }

      require {
      cat = xtreme ;
      level = 1 ;
      }

      trigger {
      life = -1 ;
      name = xtreme_start ;
      time = 0 ;
      }

      trigger {
      bolt = Bip01 L Hand ;
      effect = char/switch/p9_charge ;
      fxlevel = 1 ;
      name = effect_sound ;
      sound = char/switch_m/p9_charge ;
      time = 0 ;
      }

      trigger {
      bolt = Bip01 R Hand ;
      effect = char/switch/p9_charge ;
      fxlevel = 1 ;
      name = effect ;
      time = 0 ;
      }

      trigger {
      filteractor = true ;
      maxdangerrating = 10 ;
      name = bossfilter ;
      noboss = true ;
      passtag = 99 ;
      tag = 98 ;
      time = -1 ;
      type = ce_filter_event ;
      }

      trigger {
      apply_chance = %scar_p9_pct ;
      class = delayed_damage ;
      damageamount = %scar_p9_dmg ;
      damagetype = dmg_energy ;
      life = 30 ;
      name = powerup ;
      tag = 99 ;
      time = -1 ;
         special_fx {
         bolt = Bip01 Head ;
         effect = base/powerup/pu_converted ;
         }

         affecter {
         attribute = team_switch ;
         level = 1 ;
         }

      }

      trigger {
      arc = 180 ;
      damage = 0 ;
      damagelevel = 1 ;
      index = 1 ;
      maxrange = 350 ;
      name = convert ;
      time = 0.45 ;
      type = ce_atk ;
      victimeventtag = 98 ;
      }

      trigger {
      name = randomattack ;
      tag0 = 10 ;
      tag1 = 20 ;
      tag2 = 30 ;
      tag3 = 40 ;
      time = 0.7 ;
      type = ce_random_event ;
      }

      trigger {
      name = otherevent ;
      othertag = 11 ;
      othertag2 = 12 ;
      tag = 10 ;
      time = -1 ;
      }

      trigger {
      effect = char/switch/p9_impact ;
      fxlevel = 1 ;
      name = effect ;
      tag = 11 ;
      time = -1 ;
      }

      trigger {
      damagetype = dmg_cold ;
      name = p9_blast ;
      tag = 12 ;
      time = -1 ;
      }

      trigger {
      name = otherevent ;
      othertag = 21 ;
      othertag2 = 22 ;
      tag = 20 ;
      time = -1 ;
      }

      trigger {
      effect = char/switch/p9_impact ;
      fxlevel = 2 ;
      name = effect ;
      tag = 21 ;
      time = -1 ;
      }

      trigger {
      damagetype = dmg_physical ;
      name = p9_blast ;
      tag = 22 ;
      time = -1 ;
      }

      trigger {
      name = otherevent ;
      othertag = 31 ;
      othertag2 = 32 ;
      tag = 30 ;
      time = -1 ;
      }

      trigger {
      effect = char/switch/p9_impact ;
      fxlevel = 3 ;
      name = effect ;
      tag = 31 ;
      time = -1 ;
      }

      trigger {
      damagetype = dmg_mental ;
      name = p9_blast ;
      tag = 32 ;
      time = -1 ;
      }

      trigger {
      name = otherevent ;
      othertag = 41 ;
      othertag2 = 42 ;
      tag = 40 ;
      time = -1 ;
      }

      trigger {
      effect = char/switch/p9_impact ;
      fxlevel = 4 ;
      name = effect ;
      tag = 41 ;
      time = -1 ;
      }

      trigger {
      damagetype = dmg_energy ;
      name = p9_blast ;
      tag = 42 ;
      time = -1 ;
      }

      chain {
      action = idle ;
      result = idle ;
      }

   }

   FightMove {
   aireusetime = 5 ;
   aitype = projectilenear ;
   animenum = ea_power10 ;
   combotextfinisher = Doom ;
   combotextstarter = Cursed ;
   icon = 9 ;
   lockangles = true ;
   name = power10 ;
   powerup_tag = scar_power10 ;
   priority = 5 ;
      require {
      cat = skill ;
      item = scar_p10 ;
      level = 1 ;
      }

      trigger {
      bolt = Bip01 L Hand ;
      effect = char/switch/p1_charge ;
      fxlevel = 3 ;
      name = effect ;
      time = 0 ;
      }

      trigger {
      bolt = Bip01 R Hand ;
      effect = char/switch/p1_charge ;
      fxlevel = 3 ;
      name = effect ;
      time = 0 ;
      }

      trigger {
      effect = char/switch/p10_charge ;
      name = effect_sound ;
      sound = char/switch_m/p10_charge ;
      time = 0.4 ;
      }

      trigger {
      damage = 0 ;
      maxrange = 120 ;
      name = radial ;
      powerusage = %scar_p10_pwr ;
      time = 0.4 ;
      victimeventtag = 10 ;
         damageMod {
         name = dmgmod_no_damage ;
         }

      }

      trigger {
      bolt = Bip01 Head ;
      class = hurt_attacker ;
      damagepercent = %scar_p10_dmg ;
      damagetype = physical ;
      effect = char/switch/p10_aura ;
      hurtowner = true ;
      life = %scar_p10_lif ;
      name = powerup ;
      tag = 10 ;
      time = -1 ;
      }

      chain {
      action = idle ;
      result = idle ;
      }

   }

   FightMove {
   aireusetime = 5 ;
   animenum = ea_power1 ;
   blendtime = 0 ;
   description = REVITALIZE ;
   icon = 13 ;
   lockangles = true ;
   name = power11 ;
   priority = 5 ;
      require {
      cat = skill ;
      item = scar_p9 ;
      level = 1 ;
      }

      require {
      cat = xtreme ;
      level = 1 ;
      }

      trigger {
      alternate = true ;
      life = -1 ;
      name = xtreme_start ;
      time = 0 ;
      worldspeed = 0.5 ;
      }

      trigger {
      bolt = Bip01 L Hand ;
      effect = char/switch/p1_charge ;
      fxlevel = 6 ;
      name = effect_sound ;
      sound = char/switch_m/p4_charge ;
      time = 0 ;
      }

      trigger {
      bolt = Bip01 R Hand ;
      effect = char/switch/p1_charge ;
      fxlevel = 6 ;
      name = effect ;
      time = 0 ;
      }

      trigger {
      name = sound ;
      sound = char/switch_m/p4_power ;
      time = 0.5 ;
      }

      trigger {
      apply_ally = all ;
      life = %scar_p11_lif ;
      name = powerup ;
      time = 0.5 ;
         special_fx {
         effect = char/switch/p2_aura ;
         fxlevel = 2 ;
         }

         affecter {
         affect_type = scale ;
         attribute = maxhealth ;
         level = 1.25 ;
         }

      }

      trigger {
      apply_ally = all ;
      life = 1 ;
      name = powerup ;
      time = 0.5 ;
         affecter {
         attribute = health_regen_pct ;
         level = 10 ;
         }

      }

      chain {
      action = idle ;
      result = idle ;
      }

   }

}


Note that the "ANARCHY ASSUALT" and "REVITALIZE" xtremes are separated in the original file (the "power10" power separates the two xtremes, whereas in many other ps files, the xtremes are at the very end of the file . . . not sure if this was important or not). 

Here are the modifications I made to get the Team Extreme chaining to work properly:

Quote}

   FightMove {
   animenum = ea_idle1 ;
   blendtime = 0 ;
   handler = ch_team_xtreme ;
   icon = 8 ;
   is_power = true ;
   lockchaining = false ;
   name = team_xtreme ;
   playspeed = 10 ;
   priority = uninterruptable ;
      require {
      cat = skill ;
      item = scar_power9 ;
      level = 1 ;
      }

      require {
      cat = xtreme ;
      level = 1 ;
      }

      trigger {
      name = xtreme_start ;
      only_non_looped = true ;
      team_xtreme = 2 ;
      time = 0 ;
      }

      chain {
      action = idle ;
      result = team_xtreme ;
      }

      chain {
      action = special ;
      result = power9 ;
      }

   }

   event {
   damage = %scar_p9_dmg ;
   damagescale = none ;
   inherit = radial ;
   maxrange = 350 ;
   name = p9_blast ;
   }

   FightMove {
   aireusetime = 5 ;
   animenum = ea_power9 ;
   blendtime = 0 ;
   combotextfinisher = Chaos ;
   description = ANARCHY ASSAULT ;
   icon = 8 ;
   lockangles = true ;
   name = power9 ;
   playspeed = 10 ;
   powerup_tag = scar_power9 ;
   priority = uninterruptible ;
      require {
      cat = skill ;
      item = scar_p9 ;
      level = 1 ;
      }

      require {
      cat = xtreme ;
      level = 1 ;
      }

      trigger {
      description = Special ;
      name = team_xtreme_msg ;
      time = 0 ;
      title = Anarchy Assault ;
      }

      trigger {
      name = sound ;
      sound = char/drstr_m/p9_charge ;
      time = 0 ;
      }

      trigger {
      bolt = Bip01 L Hand ;
      effect = char/switch/p9_charge ;
      fxlevel = 1 ;
      name = effect_sound ;
      sound = char/switch_m/p9_charge ;
      time = 0 ;
      }

      trigger {
      bolt = Bip01 R Hand ;
      effect = char/switch/p9_charge ;
      fxlevel = 1 ;
      name = effect ;
      time = 0 ;
      }

      trigger {
      filteractor = true ;
      maxdangerrating = 10 ;
      name = bossfilter ;
      noboss = true ;
      passtag = 99 ;
      tag = 98 ;
      time = -1 ;
      type = ce_filter_event ;
      }

      trigger {
      apply_chance = %scar_p9_pct ;
      class = delayed_damage ;
      damageamount = %scar_p9_dmg ;
      damagetype = dmg_energy ;
      life = 30 ;
      name = powerup ;
      tag = 99 ;
      time = -1 ;
         special_fx {
         bolt = Bip01 Head ;
         effect = base/powerup/pu_converted ;
         }

         affecter {
         attribute = team_switch ;
         level = 1 ;
         }

      }

      trigger {
      arc = 180 ;
      damage = 0 ;
      damagelevel = 1 ;
      index = 1 ;
      maxrange = 350 ;
      name = convert ;
      time = 0.45 ;
      type = ce_atk ;
      victimeventtag = 98 ;
      }

      trigger {
      name = randomattack ;
      tag0 = 10 ;
      tag1 = 20 ;
      tag2 = 30 ;
      tag3 = 40 ;
      time = 0.7 ;
      type = ce_random_event ;
      }

      trigger {
      name = otherevent ;
      othertag = 11 ;
      othertag2 = 12 ;
      tag = 10 ;
      time = -1 ;
      }

      trigger {
      effect = char/switch/p9_impact ;
      fxlevel = 1 ;
      name = effect ;
      tag = 11 ;
      time = -1 ;
      }

      trigger {
      damagetype = dmg_cold ;
      name = p9_blast ;
      tag = 12 ;
      time = -1 ;
      }

      trigger {
      name = otherevent ;
      othertag = 21 ;
      othertag2 = 22 ;
      tag = 20 ;
      time = -1 ;
      }

      trigger {
      effect = char/switch/p9_impact ;
      fxlevel = 2 ;
      name = effect ;
      tag = 21 ;
      time = -1 ;
      }

      trigger {
      damagetype = dmg_physical ;
      name = p9_blast ;
      tag = 22 ;
      time = -1 ;
      }

      trigger {
      name = otherevent ;
      othertag = 31 ;
      othertag2 = 32 ;
      tag = 30 ;
      time = -1 ;
      }

      trigger {
      effect = char/switch/p9_impact ;
      fxlevel = 3 ;
      name = effect ;
      tag = 31 ;
      time = -1 ;
      }

      trigger {
      damagetype = dmg_mental ;
      name = p9_blast ;
      tag = 32 ;
      time = -1 ;
      }

      trigger {
      name = otherevent ;
      othertag = 41 ;
      othertag2 = 42 ;
      tag = 40 ;
      time = -1 ;
      }

      trigger {
      effect = char/switch/p9_impact ;
      fxlevel = 4 ;
      name = effect ;
      tag = 41 ;
      time = -1 ;
      }

      trigger {
      damagetype = dmg_energy ;
      name = p9_blast ;
      tag = 42 ;
      time = -1 ;
      }

      trigger {
      life = -1 ;
      name = xtreme_start ;
      only_non_looped = true ;
      team_xtreme = 9 ;
      time = 0 ;
      }

      chain {
      action = idle ;
      result = team_xtreme ;
      }

      trigger {
      critical = true ;
      end = true ;
      name = xtreme_start ;
      time = 0.75 ;
      }

      chain {
      action = idle ;
      result = idle ;
      }

   }

   FightMove {
   aireusetime = 5 ;
   animenum = ea_power1 ;
   blendtime = 0 ;
   description = REVITALIZE ;
   icon = 13 ;
   lockangles = true ;
   name = power11 ;
   priority = uninterruptible ;
      require {
      cat = skill ;
      item = scar_p9 ;
      level = 1 ;
      }

      require {
      cat = xtreme ;
      level = 1 ;
      }

      trigger {
      life = -1 ;
      name = xtreme_start ;
      only_non_looped = true ;
      team_xtreme = 9 ;
      time = 0 ;
      }

      chain {
      action = idle ;
      result = team_xtreme ;
      }

      trigger {
      description = Special ;
      name = team_xtreme_msg ;
      time = 0 ;
      title = Revitalize ;
      }

      trigger {
      name = sound ;
      sound = char/drstr_m/p9_charge ;
      time = 0 ;
      }

      trigger {
      bolt = Bip01 L Hand ;
      effect = char/switch/p1_charge ;
      fxlevel = 6 ;
      name = effect_sound ;
      sound = char/switch_m/p4_charge ;
      time = 0 ;
      }

      trigger {
      bolt = Bip01 R Hand ;
      effect = char/switch/p1_charge ;
      fxlevel = 6 ;
      name = effect ;
      time = 0 ;
      }

      trigger {
      name = sound ;
      sound = char/switch_m/p4_power ;
      time = 0.5 ;
      }

      trigger {
      apply_ally = all ;
      life = %scar_p11_lif ;
      name = powerup ;
      time = 0.5 ;
         special_fx {
         effect = char/switch/p2_aura ;
         fxlevel = 2 ;
         }

         affecter {
         affect_type = scale ;
         attribute = maxhealth ;
         level = 1.25 ;
         }

      }

      trigger {
      apply_ally = all ;
      life = 1 ;
      name = powerup ;
      time = 0.5 ;
         affecter {
         attribute = health_regen_pct ;
         level = 10 ;
         }

      }

      trigger {
      critical = true ;
      end = true ;
      name = xtreme_start ;
      time = 0.75 ;
      }

      chain {
      action = idle ;
      result = idle ;
      }

   }

}

NOTE that I moved BOTH the "ANARCHY ASSAULT" and the "REVITALIZE" to the END of the ps file (I placed the "power10" power above the "ANARCHY ASSAULT" entry).  Again, not sure if this was necessary, but it seemed tidier this way, and I think it might have helped (I worked through about 25 - 30 different iterations using the tried-and-true trial-and-error method before I actually got the chaining to work correctly). 

Hope this helps!

Right, I now have a Mod that has one conversation with Vision, where you can choose any of my AvengersMod characters, a conversation with Hank Pym where you can choose about 15 xmen characters clumsily ported from XML2, and a few odd NPCs given wonky powersets that probably dont work too well, like Namor, Valkyrie, Blackbolt.
There are some new characters (Hercules, Swordsman, Quasar).
It contains meshes, powersets, talent files, packages, Icons, Huds. And of course the NPCstat, Scripts, and Converations.
It shouldn't overwrite too many things, but if it does, back it up.
The Xmen ALL need Huds, Icons and their powers fixing, but you are basically getting 30 new characters to play as, which I'm quite pleased with.
Its about 75Mb installed, 24Mb zipped up.
http://tommyboymeshes.freedomforceforever.com/MUA%20Stuff.html

I'll add conversations to the other bases when I can figure out what existing conversations can be replaced.
It's Buggy. It's still a Beta, so expect missing Huds/icons/Fx/broken powers and odd glitches like missing villains. Hopefully one day all this gets fixed...

Oh, and I could include my updated Herostat if you DO want to replace all the builtins with Avengers as in the Avengers Mod, if people want that too...

That is so cool went ahead started new got to Starktower and switcharoo Tigra,Angel and all,really great work.Back to messin with this sim&dr deal maybe I'll have some luck this time.
And their turning us into Monsters its all designed!!

Tommyboy, I know that you are still working on the scripting but let me know when you want some feedback.  I am not a modder but can do some testing and in fact have done some with both of your versions to see how cool it is.  I did find some glitches but will wait for you to advise that you would like some testing.

Feedback is good, any bugs, glitches, errors or omissions anyone finds are welcome.
I may not be able to FIX them, but it's nice to know about them.