Jump to content

Boidster

Members
  • Posts

    2,242
  • Joined

  • Last visited

  • Days Won

    15

Everything posted by Boidster

  1. Look in entityclasses.xml. There are only three settings: ZombieTemplateMale: <property name="AIFeralSense" value="1.5"/> ZombieBear: <property name="AIFeralSense" value="1.2"/> ZombieDog: <property name="AIFeralSense" value="1.6"/> My guess is that the lower the number, the weaker the "sense". Have not played with it myself, though. Edit to add: poking in the code, it would seem that this is a straight-up multiplier for the base sense range of the entity. this.sightRange = this.sightRangeBase; if (this.aiManager != null) { this.senseScale = (float) (1.0 + (double) EAIManager.CalcSenseScale() * (double) this.aiManager.feralSense); this.sightRange = this.sightRangeBase * this.senseScale; } In pseudo-code this reads: Get the base sense range for this entity Get the game-wide sense scaling, if any (EAIManager.CalcSenseScale()) Get the entity's own Feral Sense value (this.aiManager.feralSense) Calculate ScalingFactor = (1 + [game scaling] + [entity feral sense]) Actual sight range = [base range] * [ScalingFactor] Note that they call it "sight range" but it appears to be used for sound as well. Sounds in the game have a "range", but do not attenuate - if gunfire has a range of 100m, the full volume is "hearable" for 100m for the purposes of calculating whether a zombie heard it. See Steath.txt.
  2. We liked them. We'd try to hit one or two on our way to a regular quest POI.
  3. The modding forum here has some tutorials, and the wiki page on XPath syntax is excellent - very clear, comprehensive, and well-written. Truly a masterpiece*. You only need XPath if you want to make modlets which will load up and modify XML at run-time (leaving the original vanilla files intact). You can hand-edit the XML directly in the /config folder also of course, but maybe keep a copy of the original! A great way to learn how to mod Thing X is to find a mod which already does something to Thing X and then open up the modlet xml file to see how they did it. That's how I got familiar with it. That and asking n00b questions in the modding forum. There is also Guppycur's unofficial modding Discord, which has an XML/XPath channel. Link is in the modding forum. *I wrote it.
  4. Adding this to the chicken entity will make the camera see it. <property name="IsEnemyEntity" value="true"/> So far, the chicken has not attacked, but despawning is a problem. And if you don't want to be CM-ing chickens into the game, a vehicle-based solution will be better.
  5. Yellow = regular zombie Blue = strong zombie Red = boss zombie Pink = unicorn zombie (mythical)
  6. That was the next thing I tried. I'm having some sort of issue, though, 'cause the output stays high even with both doors open. With the relay + light on the output, it sure looks like the 50w generator is supporting 56w of load. Generator shows 50w load and if I disconnect the output components and then reconnect them, they stay off. Cycle the switches and output (and everything else) stays on. Weird. This is the beginning of the code which controls the targeting. It gets a list of entities within the cone of vision of the camera. The bit in orange is probably going to trip you up for an "easy" (i.e. XML-only) change to vehicles. They certainly could be given the "alive" tag in XML, but who knows what other behaviors would suddenly be attached to them. Will they wander off if not enclosed? Will zombies and bears and whatnot start attacking the 4x4? Worth a try I suppose. Could be fun! private bool hasTarget() { List<Entity> entitiesInBounds = GameManager.Instance.World.GetEntitiesInBounds(typeof (EntityAlive), Having my toe dipped ever so slightly into DLL modding, I might actually take a shot at altering that one statement so it will detect, say, bicycles (only). Probably it could be modified (by someone with an entire foot in the DLL modding pool) to detect any specific block, but to start I'll probably limit to entities.
  7. If your group needs shale, you could literally tell them to go pound sand.
  8. One problem (I think?) is that the output of the NAND gate isn't at full strength. So I built an amplifier (aka Repeater in Minecraft redstone lingo) using another Arlene-in-a-box. Available output is 45w on one engine, but it could be scaled easily. I propose we call this system "Deadstone Circuitry". Whoops, it already has a name: Zombietronics! I think you could make a modlet to add animals (or even just a particular type of animal - chickens perhaps) into one of the motion sensor factions. Make them count as "stranger" and the system ought to work.
  9. Obviously I had to try. Working NAND gate. Switches are the inputs, light at the bottom is the output. The 7-segment light is just makework at this point. I'm going to need more Arlenes.
  10. Works like a charm. Well done. Generator -> Hatch Generator -> Sensor Sensor -> 49W of assorted lights and relays Blinks like an airport beacon.
  11. Interestingly, if you use a quantity > 1 in that command, all the items are identical. I'm poking around in the code to see if I can figure out how that console command differs from a drag-and-drop from the creative menu. It's...complicated. At least for me who is not a C# programmer and only an academic exposure to C++. I know that this is the class which handles the 'giveself' console command, but tracing down to the moment where BlockDamage is calculated is a great use-case for Ibuprofen! And finding the place where stats are calculated on items pulled from CM may require codeine.
  12. I didn't mention it, but I also tried the same technique as BFT, but using the game-standard quality template. I got the same results - usually all T6s in the same container had identical stats. Very occasionally one T6 out of the 3 or 4 in the container would be different, but usually they were identical. So I'm sticking with BFT's custom quality template being the smart idea.
  13. Oh, that room? Don't worry about that, it runs my security system and also plays Minecraft. Also:
  14. I bet it's the custom quality template that 'fixes' the problem of all T6's in a container having the same stats. Good idea.
  15. I pulled 25 Q6 steel pickaxes from random loot (after modifying the XML as shown above, and ignoring the duplicate stats within a single container) and got the following distribution. This looks much more like what one would expect from a random distribution, including values very close to the maximum of 103.6 (taking @Gako21's word for that). This seems to be good evidence in favor of the common wisdom about not using CM to check random stats. None of that artificial RNG, you need free-range organic world-seed RNG!
  16. Right, but "common wisdom" (which may be neither!) is that nevertheless the CM does not produce the same range of possibilities as a real game.
  17. If you go into loot.xml and comment out the entire "groupWorkbenchLoot" lootgroup and then paste this right below it, you'll get 10 steel pickaxes from every workbench. Using the 000_loot_new_test POI you can get 400 samples by searching the workbenches. Actually, this is only a partial solution. It "works", but generally all Q6 picks in a single bench will have identical stats. I'll get something better. <lootgroup name="groupWorkbenchLoot" count="10" loot_quality_template="QLTemplateT2"> <item name="meleeToolPickT2SteelPickaxe"/> </lootgroup> You'll want to use 'giveselfxp' to get your lootstage up. I used 5 million XP and it gives Q4-5-6. The workbenches are towards the back of the center section of the POI. Approximately where the red box is.
  18. For what it is worth, it used to be that CM spawns did not use the RNG system in the same way as real-world spawns. You might want to repeat your test using the 000_loot_new_test POI in the prefab editor. Has 40x of every container in the game. You could mod a couple of container types so they only produce steel picks (using appropriate quality probability tables) and then open a bunch of containers to get 'random' picks. Possibly the results would be the same, but I will say that a few days ago I was looking at guns and using the CM and every Q1 rifle had identical stats, as did every Q2 rifle and so on. I've been conditioned to not use CM for any statistical analyses. Maybe it's a myth though; your data is more varied than I would have expected.
  19. Tough to say. Do you have any pictures of your wife? /Want some?
  20. I have a tiny modlet on Nexus which removes the yellow and red dots from the compass. Seems crazy, but apparently at least one guy uses it because he pinged me this week to test it with A20 (which I did). I can't imagine the frustration of having one more Z in Dishong but having absolutely zero idea where it's at even if you walk right past its hidey-hole. We had that all the time in A19, but it was because we were using the robots from Creature Pack and the tiny little hornet bots would replace vultures and then fly waaaaaaay the f*** away from the POI. We could see the marker floating there, but nothing to kill. We'd just stake out positions on the roof and wait for the little @%$# to come bleep-blooping in range and hope we got a good shot on it before it flew away again. I ended up modifying the hornets to be 6x larger so we could at least see them flying over yonder. Maybe take a sniper shot at them.
  21. Even in the wasteland, loot is relative to lootstage. You get a boost, but your Level 9 will still get relatively crappy loot compared to your Level 100. This is a 'feature' of all level-scaled co-op games, innit? I'm not sure how the game could even prevent it regardless of the XP award system, shared or not. A group of l33ts with a n00b is going to have to babysit the n00b. If they like her/him that is. Actually, if the game shared proportionally more XP with the n00b than it did for the l33ts, that could be a way to rubber-band the n00b into higher levels more quickly. But the wailing and gnashing of teeth would be detected on seismographs worldwide. All of this is why I'm in favor of the XP-for-survival idea. Every 60 IRL minutes you survive you get a congratulatory package of XP. Every time you die, you take a hit to the 60-minute counter. Do what you want - mine, craft, farm, kill, loot, make a pass at Joel or Jen - doesn't matter. If you survive, you make progress. No more XP farming, the only goal is to survive another day. Roland passed on to me his 0XP mod from A18 and I'm sorta dipping my toe into the DLL modding side of things to see if I can put something like this together. I'm sure it's doable, I just have a lot to learn about the game's main DLL.
×
×
  • Create New...