Content: Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Background: Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Pattern: Blank Waves Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Welcome to Xbox Chaos: Modding Evolved

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.


  • Content count

  • Joined

  • Last visited

Everything posted by h3r3t1c

  1. Modding

    I attempted a similar approach way back in 2004 in Halo Custom Edition (linear recoil was in the game before Halo 2 even though none of the vanilla weapons used it) but haven't bothered with the concept since then. My best guess is that if it exists in Reach, it's in the "simulated input" sidt tags (referenced in the drdf) which currently don't show anything when you try to open them (I'm guessing the parameters haven't been sussed out yet). I attached a pic of what the linear recoil values look like in Halo Online, which I'm guessing were the same in Halo 3, and are tellingly missing from Reach's weapon tags. Kinda strange that so many old, unused parameters (like the entire old damage info system in the character models) were left wholesale in Reach's tags, but they still bothered to remove Angle Change.
  2. Hi there. So the tooltips in the latest Assembly says that an AI char interpolates between the 1st and 2nd firing pattern block based on its 0-1 accuracy. However, most covenant weapons have 4 firing pattern blocks, so what are the 3rd and 4th firing patterns for? Through some in-game testing (in firefight), I think I have confirmed all of the following theories to be false:

    • patterns 0-3 used sequentially between accuracy 0 and 1 (pattern 3 is not used on accuracy 1 ever)
    • patterns 2-3 replace patterns 0-1 on heroic or legendary (legendary AI on accuracy 1 still uses pattern 1)
    • patterns 2-3 are for USNC characters using covie weapons (I gave an ODST a needler and he used the same pattern as the grunt I took it from)

    My only untested theory is that one pair is for campaign and the other is for firefight? But i doubt it.

  3. Modding

    Hey, you may have already noticed, but the latest version of Assembly adds tooltip explanations for a tons of parameters. Lots of stuff in the weapon properties and firing patterns which wasn't previously clear is fully explained, so it may give you more ideas on how to get the behavior you want. The thing that made the most biggest instantaneous difference for me was having the per-difficulty velocity scaling spelled out. Pretty much all projectiles are gimped in speed on all difficulties for AI, so changing/removing those values makes it a whole different ball game.
  4. The pak from Nexus mods did the trick and is definitely the cleanest, easiest solution. Thanks!
  5. I had some ideas for a new map variant in mind while driving home from work, and when I get home, the Create option is gone. Steam updated the game while I was away. Offset 1E2F5D0 no longer exists in the new MCC-WindowsNoEditor.pak, so the old tutorials for enabling Forge don't work. If you try restoring a backup of your old MCC-WindowsNoEditor.pak from December, the same old edits now have no effect.
  6. Modding

    It sounds like you have already gotten into some of these values, so I apologize if I'm going over stuff you already know, but mainly I'd suggest: start with the char tag "ai/generic", as most AI inherits behaviors from there within AI/generic, check the weapon properties for every weapon that the AI in question commonly uses (i.e. for grunts: PP/Needler) increase the "Normal Combat Range min" value to the distance you want the AI to try staying away 1 Halo unit is 2 meters, so 7.5u = 15m / 49ft / the radius of your radar, in theory this should be more than enough increase the "Normal Combat Range max" to at least 50u (I use 150+), so the AI will start trying to kill you well before reaching their minimum distance for some enemies (i.e. Grunt Ultra, base Jackals) you will have to repeat these changes in their own char tag, because they have their own weapon properties which override the generic At least for campaign maps, I have found the changes above to be pretty effective. I have the Normal Combat Range max set to 300+ meters, so on outdoor maps, they mostly hang back and shoot from afar. For Firefight, the AI's entire directive is to hunt you down, so it's harder to make them keep their distance. The changes above will help, but ultimately they will almost always try to close in for the kill at some point. Indoor campaign maps also tend to increase the number of situations where the AI won't see or shoot at you till it's already close range. Plus, many enemies can't actually run fast enough to stay away if the player is rushing them full bore. For all these reasons, part of the key to creating more ranged combat with the AI is (counter-intuitively) to make sure they lay down enough fire at close range to deter the player from staying close. The AI often try to fire the needler and PR in single shots at a rate comparable to the DMR, which makes them terrible at fending off close range attacks because they just sit their going "pew...pew...pew". To change that, you have to go into the Firing Pattern Properties in the char tags, and set the Rate Of Fire values to match the actual rates of fire in the weapons tags (i.e. around 8 for the PR, 11 for the Needler) It also helps to set all PP fire rates to 7-8 most AI are operating at 75% base damage, so you might want to set Weapon Damage Modifier to "1" for everything there are various accuracy values in Firing Pattern Properties which can be improved as needed (Projectile Error being an easy place to start) Once you do this, gangs of grunts and jackals alone will create a hail of gunfire that's much more painful to go charging into, which results in both you and the enemy maintaining longer combat distances.
  7. General

    One down side to using the "no shields" setting is it disables shield powerups. So, for example, if you wanted to start with no shields and still be able to get them from a powerup, it's no go. When you get a shield powerup, the meter comes back briefly while the shields are charging up, then immediately disappears afterwards (along with the benefits of the shield). Thus if you want to keep the shield meter in its empty state without the annoying warning sound effect and red flashing running the entire time, the quick and dirty method is: 1) Go into chgd - chud_globals_definition, scroll down to "HUD Sounds" and uncheck the box in #3 "shield depleted". 2) Go to chdt - chud definition, open spartan.chdt, and look for two different Animation Data boxes with references to "ui\chud\animations\shields_out" and change it to a less-annoying animation. On multiplayer maps, you can use "ui\chud\animations\boot_sequence\ping_boot" which is really the best option. On campaign maps, you can use "ui\chud\animations\fade_out" which still flashes the red warning exactly once, then goes away. 3) If using a compromise animation on campaign maps, you can also change the Warning text scale to 0 to get rid of it, and change Global Dynamic 5 to Global Dynamic 2 to reduce unwanted red/pink lines to blue.
  8. .MAP

    What tool is used to do this? AFAIK Assembly only extracts as tagc and not dds.
  9. Normally when you pick up a fresh Grenade Launcher, it comes with a total of 8 grenades (or whatever number is in Rounds Total Initial in the tags), but weapons placed in Forge use the "spare clips" count set in the Forge UI, which maxes out at 5. Thus, if you add a GL to a map which didn't have one before, it won't have the default amount of ammo; it will have whatever was set in Forge's "spare clips" setting (3 by default, 5 max). However, if you start with one of Bungie's map variants and simply move an existing grenade launcher without pressing X to look at its properties, then it will still include the ammo amount defined in the tags (i.e. 8+). So basically you can't add grenade launchers to any maps which didn't already have one and still have it include the intended ammo amount. Is there a way to expand the number of "spare clips" Forge will let you add via hex editing or whatever? Or do we just have to hope 343 notices this problem and fixes it for the official PC launch of Forge? EDIT: For now my workaround is to add a custom grenade ammo equipment to Forge, which can then be placed close enough to grenade launcher placements that you can't pick up with launcher without receiving the additional ammo amount.
  10. I don't think so. The game only wants to load maps that shipped with the game, and Assembly is more geared towards editing tags (which are unfortunately tied to maps) rather than an alternative to Forge. 343i has vaguely promised "increased mod support" so maybe that will change in the future. I would really love it if MCC had "tag mods" like Eldewrito, where all the tags for your mod can be stored separately from the maps in their own dat file, then loaded into the maps at will. Then users could easily swap tag mods from the UI and mod makers could be freed from redundantly making the same tag edits over again on every map individually.
  11. Hmm, if it's just a matter of matching the damage section string name with string names in the collision region block, there are several damage sections like shield, armor_lock_shield_loop, and armor_lock_shield_pre, which don't match any collision region strings, so how are those being assigned to collision regions? I don't see any other fields in the damage section which point to collision regions, nor fields in the collision regions which point back to damage sections. In fact, the only block I see with a field for damage sections is the targets block, and it doesn't actually use the damage sections fields for any targets on spartans or elites. I guess I could take a shot in the dark and create an 2nd "head" damage section hoping it matches to the head collision region, then check Bit7 and hope that causes it to share a vitality pool with the base shield. But I feel like I'm missing something crucial so I won't get my hopes up. EDIT: Yeah, no luck. In addition to merely matching the damage section string name to the collision region string name, I tried making a new collision region and matching to that, and I tried using region state changes pointing to the region index based on how grunt/brute helmets are handled. Nothing worked. Basically it all came down to two problem: 1) The new shield isn't localized to the head region at all 2) The new shield doesn't carry damage over to the base shield or nor destroy it upon being destroyed itself. I wouldn't rule this out as entirely impossible yet, but the solution definitely escapes me.
  12. Looking at the Omaha Damage Sections, it seems plausible to add a "head shield" with its own global material, allowing i.e. Spartan and Elite bipeds to receive damage modifiers for shield headshots. My main question is how would you link it specifically to the head region? Everything I see in Omaha Damage Sections looks self-explanatory, but I don't see any locational references (beyond the name string?).
  13. I'd be curious to try this out as well. Aside from the Windows 10 issue, I'd also question why the download link returns a "virus detected" error in Chrome?
  14. I am trying to use Assembly to edit the default player traits and powerup effects in game_engine_settings.wezr, but from what I can tell, Reach PC completely ignores whatever you change here. In Eldewrito, I was able to freely edit all this stuff in Assembly without issues; I could edit the Overshield and Active Camo into whatever I wanted just as if it were a custom powerup. I could change the default player traits and then they would just work without having to load a custom gametype. However, in Reach PC these changes are entirely ignored and the game just loads the vanilla player traits and powerup functionality regardless. Anyone know how to bypass this limitation? My first thought was maybe the game loads a .wezr from the shared or campaign maps instead, but they don't appear to contain any tags. EDIT: I'm guessing Megalo is overriding whatever trait profiles are in the map tags when the game loads?
  15. When you use HXD to get into PC Forge early, can you actually save map variants without issues?
  16. Quick and dirty: 1) Find the elite hlmt tag, and scroll down to the "variants" box. Click twice on the number in the top right corner "0-10 (11)" and tap the up/down arrow keys till you find the variant you want to add. For example, when you get to "6-10 (11)" the Zealot comes up. The left-most number at the top-right corner is the "variant index", so take note of that number [in other words from "6-10 (11)" remember the number 6 ]. 2) Next, find the "char" tags, and pick a char to use as a base (i.e. elite_general). Right click the elite-general class, and pick "duplicate", name your new tag (i.e. elite_zealot) and click "ok". 3) Now, open your new char tag (i.e. elite_zealot) and spot the "variants" box (should be the first box). Change the variant name (i.e. general) to your new name (i.e. zealot). Change the variant index to the number you found in the hlmt tag (i.e. #6). You can also change the health and shields under the "vitality properties box". Click the save button at the bottom when you are done. 4) Finally, look through the "wave" tags to find waves where you want to include your new variant. For example, pick wave_templates\elites, click the arrow icon to open its squad template, and change the char tag under "actors" to your new class. Keep in mind there are usually multiple squads to scroll through (number in the top right) under each squad template. Always save when you are done.
  17. I am finding that simply duplicating the tag gives you a version without merged blocks. For example Spiker/Plasma Rifle/Needler all share the same Trigger Behavior block, so setting one to Latch forces them all to Latch. However, if you duplicate one of them, then changing the dupe's Trigger Behavior doesn't force the others to match, and changing the others doesn't force change the dupe.
  18. In every prior game, the check box "Travels Instantaneously" made projectiles histscan, and unchecking it would convert back to whatever speed set in the Velocity values. In Reach, this is clearly not the case, as projectiles for the DMR, Magnum, Needle Rifle, etc. don't have this box checked. I have spent a bunch of time comparing to projectiles like the Plasma Rifle and Spiker and not noticed any difference that will make a DMR or Needler Rifle into projectile weapons. EDIT: So it seems I was mistaken, and at least in custom games, projectiles like that of the Needle Rifle, DMR, and Magnum are actually NOT HITSCAN as everyone seems to think. By simply lowering the projectile speeds to something under 100u/s, it becomes blatantly obvious they are not instant and will drop if gravity is a non-zero value, so it all works as expected. I tested online, and hits on other players do in fact register when the projectile model appears to be hitting them, and not instantly. So my working theory is that these projectiles are never actually hitscan in the vanilla game; they're just so fast that there is no perceptible travel time. By default they are set to 3000 units per second velocity, which is equivalent to about 6,000 meters, or 20,000 feet per second. In other words; about 7 times faster than a real rifle bullet; unless you find a spot on the map where you can see players 2 miles away, you're not going to notice any travel time. Alternatively, maybe the game automatically converts projectiles to hitscan when the speed is above a certain point. It would take more testing to find out what that cutoff point is, but as long as it's above the speeds I want to use, it's not a big concern to me.
  19. Yeah this has actually been an issue since Halo 2. There are basically two methods for controlling full-auto rate of fire from Halo 2 onwards: 1) The "normal" method: Use the "Rounds Per Second" values and make sure the "Shots Per Fire" values are set to zero. This is easier to get the true rate of fire you want, but the gun always wants to fire 2-3 rounds even if you let off the fire button before the 2nd shot is fired. If you want to be able to tap-fire single shots, or even have tight control of your bursts, this winds up being counter-productive. 2) The workaround method: Set your min and max "Shots Per Fire" values to 1, and control your cyclic rate with the Fire Recovery Time value. This stops firing exactly when you release the trigger allowing for precise tap-firing of single-shots and precise bursts. FYI, the Rounds Per Second value stops being used entirely and does nothing as soon as "Shots Per Fire" is a non-zero value, so don't try to use them in tandem thinking it will change something. The big disadvantage to the second method is that the "Fire Recovery Time" does not actually have a 1:1 relationship with the timing between shots. Normally you would expect that to get a rate of fire of 10 shots per second, you would set the Fire Recovery Time to 1/10 of a second (0.1). In actuality, the Fire Recovery Time adds ROUGHLY 0.025 seconds to whatever value you put in, so 0.1 gives you a rate closer to 8 shots per second (0.125 seconds between shots). In order to get the cyclic rates I wanted in my Halo Online mod, I had to do a ton of trial to match things up. The values I discovered that matched were as-follows: shots per second = fire recovery time 15 sps = 0.04 frt 12.5 sps = 0.0475 frt 12 sps = 0.05 frt 10 sps = 0.07 frt 9 sps = 0.085 8 sps = 0.01023 6 sps = 0.15 frt 4 sps = 0.22 3 sps = 0.31 Again, this was in Halo Online/Edlewrito. I haven't tested Reach too much yet, so these may not translate exactly in Reach. I have definitely found some values to work differently from prior games. EDIT: Yeah, Reach works totally different to the above. In Reach, the fire recovery time will not go smaller than about 1/8th of a second regardless of what value you put in, so you're stuck with WWII-era cyclic rates which feel kinda bad on something like the AR.
  20. I'm getting "tools for v140 toolset cannot be found." It says to select "update VC++ projects" from the build menu, but the option doesn't exist. No retargeting option comes up when I open the project either. Also getting a "this version of visual studio only works with windows store apps" message. Starting to think this version (VS 2012 Express) I got off some random site (because MS removed their official download link) is the wrong version. Too bad my 2019 trial expired aged ago. BTW I got really used to eldewrito's tags all being stored in a central tag.dat file so you didn't have to make the same tag edits over and over on every map. Does Reach do this by any chance?