MP CHANGELIST 24th March
(Contents since 16th March)
Baph's change to loot distribution. Can be reverted - this is for experimentation. Modders will be given warning before this appears in-game.
I’ve taken the procedural container system used for places like Giga-Mart and residential kitchens and started applying it to the rest of the map. Locations that previously spawned random grab-bags of loot (like Spiffo’s) should have their contents sorted into relevant lists: If you’re looking for a bladed weapon or some fresh-cut chops, try looking around the kitchen of any place that sells meat (i.e, not a bakery) for the meat-cutting station. If it’s baking supplies you need, look for where the sacks of flour are stored-- they’ll probably be next to a rolling pin.
Convenience stores, corner stores, and gas stations have had their shelves’ contents sorted so loose cigarettes no longer mix with the lollipops. Players who visit the pharmacy already have an idea of how the shelves are laid out: Some have snacks, some have drinks. You’re less likely to find medicine in a gas station but it’s not unheard of-- ditto car supplies in a Zippee’s. If you want the most of a particular kind of item, it’s best to stick to the relevant business. Gas station tylenol is a ripoff anyway.
Medical locations now sort their contents into tools, medicine, and doctor-related stuff like gloves, masks, and scrubs. Bars, beauty salons, butcher shops, cafes, and liquor stores all take the same approach. Giant ‘catch all’ loot lists should eventually be replaced with tailored selections of items that are relevant to the location they’re spawned in.
The numbers will need adjusting as more people give their opinions regarding item scarcity.
Also: Some weirdness is to be expected in random locations: ‘room1’ is used for a few kitchens in Muldraugh, as well as a few residences in West Point.
- Sync injuries.
- Sync various generator actions.
- More PvP improvement.
- Sync blood on cars.
- Teleport logic is added to FakeClientManager
- Teleport count and current average update time are added to GameServer statistics
- FakeClientManager scripts are updated
- Server stats obtaining by FakeClientManager is added
- FakeClientManager logic is improved
- GameServer now able to make performance profiler recordings.
- Requires the GameProfiler.Enabled=1 flag.
- Beware, generates volumes of data. User beware. ;)
- Fixed up parsing code to handle 1/0 as well as true/false strings.
- AnimZed v1.8.2.01
- Able to function with just one thread in a recording. ie. Server recordings now play just fine.
- Fixed not having hit reaction vs zombies.
- Fixed some invisible weapons occurence.
- Fixed various problems with farming.
- Fixed taking dirt from ground error on server.
- Fixed stopPower of assaultRifle.
- Fixed some problems with the aiming outline in PvP.
- Fixed not being able to wash car.
- Fixed not being able to gain sneak/lightfooted exp in MP.
- Fixed various farming problems.
- Zombie fade outside of FOV being impacted by FPS, and resulting zombie pop-in, worked on. Feedback required on current fade speed.
- Fixes to alpha fade mechanism and rates
- updateAlpha rates no longer defined by calling code's magic numbers.
- removed calls such as updateAlpha(idx, 2.0, 1.5)
- replaced with a simple updateAlpha()
- updateAlpha() and updateAlpha(playerIdx) determine fade rates using the new accessors getUpdateAlphaRatesMul/Div
- IsoObject.updateAlpha base function checks for isUpdateAlphaEnabled().
- Allows sub-classes to override whether alpha should fade. eg. Teleporting characters.
- Base implementation just returns TRUE.
- All objects now obey the square.room rule
- All characters now obey the shortSighted/eagleEyed traits
- Characters no longer override updateAlpha function at all.
- isUpdateAlphaEnabled override returns false if character is currently teleporting.
- Fixing alpha vis issues, searching for cause of zed ghosting
- now checks whether it is invisible right away,
avoids doing any more work such as lighting and toggling gl states.
- Early-outs if this.currentSquare is not valid,
instead of doing this check for every object in the cell.
- Gets the playerIndex, location, and server/client states before the loop starts.
- Readability improvements:
s -> numObjects
dist -> distanceToMovingObject
chr -> movingObject
(chr instanceof IsoGameCharacter) -> movingCharacter = Type.tryCastTo(movingObject, IsoGameCharacter.class)
(chr instanceof IsoPlayer) -> movingCharacter = Type.tryCastTo(movingCharacter, IsoPlayer.class)
- canSee/couldSee clarification
- Replaced trinary with if-then-else statements for more readable flow.