Joonas Rikkonen
5354670288
Fixed StatusEffects being multiplied by deltatime when a client uses an item with the "use on self" buttons (even though the effect should be instantaneous). Caused effects with no duration to do almost nothing, making calyxanide and other meds with instantaneous effects basically useless. Closes #587
2018-08-07 11:36:53 +03:00
Joonas Rikkonen
c463baed44
Made medical & toxic cabinets waterproof. Closes #578
2018-08-06 14:08:00 +03:00
Joonas Rikkonen
e57eb739e2
Cloned items copy the RequiredItems from the original item. Closes #581
2018-08-06 11:19:10 +03:00
Joonas Rikkonen
274a29bada
Fixed fabricated items always appearing to be in full condition client-side (e.g. oxygen tanks which should be empty after being fabricated). Cherry-picked from 64896b0f. Closes #561
2018-08-02 10:50:38 +03:00
Joonas Rikkonen
5a6a8e2501
Wifi components can't communicate with the enemy sub in combat missions. Fixes #554
2018-08-01 13:52:47 +03:00
Joonas Rikkonen
82103cf394
Controllers don't have to be wired directly to an item for camera focus to work (= railguns and cameras can be used over wifi). Closes #535
2018-07-31 15:03:20 +03:00
Joonas Rikkonen
c66098ca4e
Fixed only the first inventory of an item being synced (e.g. clients wouldn't get notified when an item is contained in the "output inventory" of a fabricator or deconstructor).
2018-07-30 11:00:21 +03:00
Joonas Rikkonen
9964923eba
Fixed server writing invalid item network events incorrectly (NetBuffer.Position is the read position, not write position)
2018-07-30 10:46:52 +03:00
Joonas Rikkonen
5233b51e18
More error checks in Item.ServerWrite
2018-07-30 10:12:55 +03:00
Joonas Rikkonen
458c972580
More server-side EntityEvent error logging, Item.ServerWrite does some error checks and writes NetEntityEvent.Type.Invalid as the type of the event instead of attempting to write a potentially unreadable message.
2018-07-29 22:28:56 +03:00
Joonas Rikkonen
0728784b8b
Added invalid value checks to PhysicsBody property setters & item.SetTransform, checking for excessively large values
2018-07-22 17:58:17 +03:00
Joonas Rikkonen
0abdcb969d
Fixed "failed to write event" errors when a client or server tries to change an enum value of an item (e.g. the output type of an oscillator component)
2018-07-20 15:18:46 +03:00
Joonas Rikkonen
e7e7d32123
Cherry-picked 0ff9a3d (more ragdoll optimization)
2018-07-20 12:21:53 +03:00
Joonas Rikkonen
88abbe28e3
Fixed entity IDs getting messed up and causing desync because of purchased items in multiplayer campaign. The server created cargo items first and then mission-related entities, while the clients only spawned mission entities and relied on the server to spawn the cargo, which caused mission entities to have wrong IDs. Closes #484
2018-07-17 12:50:04 +03:00
Joonas Rikkonen
1a84b6cae7
Fixed items not being placed in the same hull and sub as the item they're inside if the ItemContainer is not the first of the parent's ItemContainer components (e.g. fabricator output inventory). Closes #430
2018-05-30 19:15:55 +03:00
Joonas Rikkonen
421e77cc3e
Fixed itemcomponents being loaded incorrectly if an item has multiple components of the same type.
2018-05-07 11:15:49 +03:00
Joonas Rikkonen
c71315f4da
Fixed StatusEffects of child ItemComponents not being added to an item's StatusEffect lists
2018-04-23 15:16:51 +03:00
Joonas Rikkonen
ceaba2f5ca
Fixed some entities occasionally not being removed at the end of a round. CargoMission removed the cargo items at the end of a round without checking if the items have already been removed, which could cause another entity to be removed from the entity dictionary if it's taken the ID of the cargo item. This prevented the new entity from being removed in Entity.RemoveAll, causing errors during the next round. Closes #278
2018-04-23 13:55:08 +03:00
Joonas Rikkonen
03fa2a2e1b
Fixed item removal by SecondaryUse not being synced
2018-03-08 23:54:28 +02:00
Joonas Rikkonen
f5af432ad9
Fixed item tags & aliases not being taken into account when determining target validity in StatusEffect.Apply. Closes #316
2018-03-06 11:25:25 +02:00
Joonas Rikkonen
4e048b7895
Items removed due to the "DeleteOnUse" property are removed using EntitySpawner, removing an item removes it from the selected items of all characters. Closes #306
2018-03-05 12:13:52 +02:00
Joonas Rikkonen
c624ff2c8c
Hopefully fixed clients forcing other players to pick items when the clients actually selected them ( e29655c) without breaking AI interactions with items
2018-03-02 18:04:01 +02:00
Joonas Rikkonen
07d3d69040
Equipped items can be swapped by double-clicking, fixed inventories getting messed up when swapping multi-slot items fails (e.g. drag a jumpsuit on an equipped diving suit).
2018-03-02 15:24:54 +02:00
Joonas Rikkonen
31ba9e20a2
Item description & tags are only included in spawn network message if they differ from the prefab.
2018-03-01 22:07:51 +02:00
Joonas Rikkonen
e29655c81b
Fixed clients forcing remote players to pick an item when it's being selected, causing them to press buttons and start deattaching them when the player is actually just rewiring the button. Closes #251
2018-02-28 15:38:55 +02:00
Joonas Rikkonen
74ef5c6ea6
Fixed items attached mid-round by other clients or the host being impossible to interact with and occasionally being attached to an incorrect position. Closes #296
2018-02-28 14:01:38 +02:00
Joonas Rikkonen
77940fa992
Added some debug logging, Character.Revive removes the existing AITarget from the character before creating a new one
2018-02-26 18:05:03 +02:00
Joonas Rikkonen
a2c898150e
Item.SetTransform uses SetTransformIgnoreContacts to set the position of the physics body if the body is disabled. No need to update contacts when moving disabled items such as wearables.
2018-02-13 13:54:09 +02:00
Joonas Rikkonen
51ea71333e
Fixed ChangeProperty network events
2018-01-24 15:53:32 +02:00
Joonas Rikkonen
25ebe52248
Option to configure alternate sprites for broken items
2018-01-11 16:51:36 +02:00
Joonas Rikkonen
7187c277e7
Merge branch 'master' into moStuff
2018-01-09 10:38:06 +02:00
Alex Noir
6d30557860
Overhaul fabricators and deconstructors to have minCondition, maxCondition (deconstructor) and outCondition
...
Implement several suggestions listed in https://github.com/Regalis11/Barotrauma/issues/196
Add more fabricatables and deconstructables
2017-12-22 21:33:14 +03:00
Alex Noir
e6b7a0d313
Adds ducts, switches and motion detectors, as well as door breaking sounds, all based on Barotrauma Extended mod.
...
Several sounds and sprites were altered to their mod counterpart.
Fixes doors being unfixable without having a crowbar.
Fixed case sensitivity mismatch for crowbar.ogg - this is a problem for linux builds.
2017-12-21 16:37:46 +03:00
juanjp600
07626a1989
Merge branch 'master' of https://github.com/Regalis11/Barotrauma
...
Barotrauma/BarotraumaShared/Source/Items/Components/ItemComponent.cs
2017-12-20 19:46:53 -03:00
juanjp600
7a413aee93
Optimized GameScreen.DrawMap
...
- Downscaled lightmap, since blurring will make this unnoticeable anyway
(TODO: make this optional)
- Render LOS in fewer passes by using a shader
- Use light volume to calculate LOS
- This also means we can use the override texture to render the diving
suit obstruct effect
- Don't render bunks and labels onto LOS background (TODO: add the
option to render back into the LOS background, i.e. just use
multiplicative blending as if it was the lightmap)
- Prefer SpriteSortMode.Deferred over all others, prefer
SamplerState.LinearClamp/PointClamp over all others
- Remove shader blur in favor of geometry blur (TODO: improve on this
further, right now it has a few artifacts)
- Trim light volumes
- Do some weird shit with the background particles (use DrawTiled
instead of relying on SamplerState.LinearWrap, because that's faster
somehow :/ )
- Pressing up/down in the console only returns a typed command now
2017-12-20 19:41:23 -03:00
Alex Noir
e5f60b29e1
tweaks and stuff
2017-12-20 20:44:21 +03:00
Alex Noir
1fe71b5fe6
Fixed IsInWater acting strangely
2017-12-20 18:54:00 +03:00
Alex Noir
9a91480256
Expose Description to Sub Editor so you can do things like create spare ID cards or w/e
2017-12-16 21:09:02 +03:00
Alex Noir
bdeb3a19fd
Updated server logs so admins can see disguised persons
...
clientist should also display stuff
TODO: Log inventory interactions like putting item in slots (e.g. oxy mask equipped in Head slot or equipped in Any slot, etc.) so you can tell the exact moment someone decided to disguise themselves.
2017-12-16 20:24:24 +03:00
juanjp600
1cb39f7fd5
Fixed some inconsistencies and oddities in physics-handling code
...
I'm not sure if this fixes or breaks anything, but it's worth a shot.
2017-12-15 18:11:00 -03:00
Alex Noir
760452170e
Implement ID card slot and ID card description that states the owner and his job in preparation for identity system
2017-12-14 22:57:42 +03:00
Alex Noir
55dd58579f
I DID IT HOLY SHIT I GONE AND DONE IT
...
OnSecondaryUse is what throwing uses for doing things SPECIFICALLY on throw. This way, you can theoretically have grenades on which you'll have to pull the pin before throwing.
This also lets flares be used without the need to throw them.
did i mention my brain hurts
2017-12-10 15:56:34 +03:00
Alex Noir
231a38f71d
roll back name change from "Aim" to "SecondaryUse"
...
Expand SecondaryUse to have similar properties to normal Use so it can apply SecondaryUse-related status effects
Make Throwable great again
2017-12-10 15:00:52 +03:00
Alex Noir
1d6d1a066f
realised half way through that I don't even need a new action type, oops
2017-12-10 13:45:12 +03:00
Alex Noir
00653c5aa4
Renames "OnSecondaryUse" to "OnAim" for more sense
...
adds new "OnHudUse" to separate normal and self use
2017-12-10 13:39:00 +03:00
Joonas Rikkonen
63493d2b9d
Added a Character.AddDamage override method that does damage to a specific limb instead of the limb closest to the source of the damage. Projectiles and melee weapons now always do damage to the limb they hit, even if the center point of some other limb happens to be closer.
...
Also refactored the IDamageable interface to make more sense; now the attacker has to be a character instead of an IDamageable and damageable classes don't need to have an AiTarget.
Closes #69
2017-12-05 18:03:00 +02:00
juanjp600
a0782e5d8d
Blowing up the reactor sets karma to 0, all jobs except assistant require a certain karma level
2017-12-04 17:05:22 -03:00
juanjp600
2347f2937e
Improved revolver hitreg, shooting structures affects karma, fixed 5th server being blocked in server list
...
Closes #70
2017-12-04 12:39:27 -03:00
Joonas Rikkonen
04bcc6b9b1
Modifications to the damage/armor system:
...
- Armor values aren't reduced from the damage taken, but instead multiply the damage (e.g. an item reduces damage by 10% instead of 10 hp). Now armor doesn't make characters invulnerable to small amounts of damage.
- Armoring isn't defined as a single "armor value", but instead there are "damage modifiers" which can be added to items and limbs. The modifiers can only affect specific types of damage and have separate multipliers for the damage amount and bleeding amount.
- Having a fire proof item on a limb doesn't make that limb invulnerable to burn damage. Item's that protect against fire now have a damage modifier for the Burn damage type.
2017-12-02 15:42:13 +02:00
Joonas Rikkonen
deefcafe02
Made the name of the "Linkable/IsLinkable" property consistent
2017-12-02 14:19:23 +02:00