Commit Graph

597 Commits

Author SHA1 Message Date
Sam
68c6a0a495 Balance tweaks for harvester. 2021-06-23 22:38:16 -05:00
Sam
c162827f97 Harvester AI 2021-06-23 22:38:16 -05:00
Sam
763461ebef Ensnaring vines now ensnare you. 2021-06-23 22:38:16 -05:00
juliancoffee
573607c32a Nerf golem laser dmg and ori_rate, make it fire
+ Make laser state duration lower
2021-06-19 10:47:45 +03:00
juliancoffee
36fa8bf4f7 Use Golem Shockwave only after loosing 30% health
+ Make shockwave buildup longer
2021-06-18 22:32:43 +03:00
Joshua Barretto
294b6e394a Renamed command event 2021-06-18 11:31:06 +01:00
Joshua Barretto
96cbf60c3f Made commands a distinct ClientMsg to avoid possible sanitisation problems for clients 2021-06-17 19:55:21 +01:00
DaforLynx
9a5b95bc16 Added npc hurt sfx 2021-06-17 05:49:09 +00:00
jshipsey
0941f03608 buffs to stretch progression 2021-06-16 20:50:46 -04:00
Joshua Barretto
9510869870 Significantly more efficient sound effect processing, more NPC sounds 2021-06-16 17:23:22 +01:00
Joshua Barretto
e3c44ba7fe More voice kinds, more opportunities for sounds 2021-06-16 17:23:22 +01:00
Joshua Barretto
0ef29a6989 VoiceKind for better sound effect specs 2021-06-16 17:23:22 +01:00
Joshua Barretto
559311e1b0 Chasing sounds 2021-06-16 17:23:22 +01:00
Snowram
8351aab25d Addresses comments about roc AI 2021-06-15 09:50:23 +02:00
Snowram
f2c7836161 Makes summon range inclusive 2021-06-15 09:49:13 +02:00
Avi Weinstock
cb0566299a Make tornado (and empty models in general) work on WGPU. 2021-06-15 09:49:13 +02:00
Snowram
3ba0500b90 Tornado summoning attack 2021-06-15 09:49:13 +02:00
Snowram
97ce50e5d4 Add troll variants and roc npcs 2021-06-15 09:49:13 +02:00
juliancoffee
0c9f05b8d1 Load skillsets from assets
Done:
    support loading from assets in skillset_builder.rs
    entity_config field with skillset asset field
    move every SkillSet config to assets
    tests for skillset assets
    tests for assets in entity configs
2021-06-09 15:37:04 +03:00
juliancoffee
c3a120c551 Post refactoring 2021-06-09 15:37:04 +03:00
juliancoffee
5f3eaddb70 Split LodoutBuilder::build_loadout
LoadoutBuilder::build_loadout is a function which has four parameters
and 3 of them are Option<>, and although fourth (body) isn't Option<>,
it's optional too because it is used only in some combinations of
another arguments.

Because these combinations produces quirky code flow, it will be better
to split it to different methods.

So we did following changes to remove it and rewrite code that was using it
to use better methods.

* Introduce LoadoutPreset as new LoadoutConfig, currently it's only used
in Summon ability, because SummonInfo uses Copy and we can't specify
String for specifying asset path for loadout.
Everything else is rewritten to use asset path to create loadouts.

* More builder methods for LoadoutBuilder.
Namely:
    - from_default which is used in server/src/cmd.rs in "/spawn" command.
    - with_default_equipment, with_default_maintool to use default
    loadout for specific body
    - with_preset to use LoadoutPreset

* Add new make_loadout field with `fn (loadout_builder, trading_info) -> loadout_builder`
to EntityInfo which allows to lazily construct loadout without
modifying LoadoutBuilder code

* Fix Merchants not having trade site
We had heuristic that if something has Merchant LoadoutConfig - it's
merchant, which can be false, especially if we create Merchant loadout
lazily
As side note, we do same check for Guards and it fails too.

Too fix it, we introduce new agent::Mark, which explicitly specifies
kind of agent for entity

* `LoadoutBuilder::build_loadout` was written in a such way that depending
on main_tool you will have different loadout. Turns out it was this
way only for Adlets though and this behaviour is reproduced by specifying
different loadouts directly in world code.
2021-06-09 15:37:04 +03:00
Sam
acf7ad27f1 Balance tweaks. 2021-06-05 17:15:04 -05:00
Sam
74b7039219 Yeti AI 2021-06-05 13:25:47 -05:00
Sam
81f7e690fd Snowball attack. 2021-06-04 18:17:15 -05:00
Sam
5bf99eac11 Added totem ability, totem ai, totem ability set, particles for totem abilities, and totem voxel model. 2021-06-03 21:39:15 -05:00
Sam
ac2f097d80 Tidal warrior AI. 2021-06-03 21:39:14 -05:00
Samuel Keiffer
d235e98efe Merge branch 'aweinstock/agent-pid' into 'master'
Implement PID controllers and use them to stabilize Agent airship flight.

See merge request veloren/veloren!2356
2021-06-02 23:15:08 +00:00
Imbris
23eca4c3f6 Re-disable incremental just for common-systems, small fix in plugin
crate, more new clippy fixes
2021-05-31 20:44:57 -04:00
Avi Weinstock
e09ae8ad83 Address MR 2356 comments. 2021-05-30 13:36:25 -04:00
Avi Weinstock
8b20175b6e Implement PID controllers and use them to stabilize Agent airship flight. 2021-05-30 13:36:25 -04:00
Sam
01f82314dc Fixed a few oddities with the AI 2021-05-26 21:34:21 -05:00
Sam
b826d5cb2b Fixed exp splitting in inactive equip slots. 2021-05-26 21:13:16 -05:00
Sam
42c8c08145 Fixed bow AI 2021-05-26 20:53:29 -05:00
Justin Shipsey
d7c7f6bf5d Merge branch 'sam/rework-bow' into 'master'
Bow Rework

See merge request veloren/veloren!2310
2021-05-26 04:44:09 +00:00
Avi Weinstock
624f8796bd Fix mindflayer tactic to make it shoot purple fireballs again. 2021-05-22 20:35:21 -04:00
Sam
1014ac45bf Made new skills for reworked bow.
Created migration to reset bow skills.
2021-05-22 12:33:21 -05:00
Samuel Keiffer
a0599ac046 Merge branch 'sam/extra-equip-slots' into 'master'
Added Extra Loadout Slots

See merge request veloren/veloren!2295
2021-05-21 20:28:53 +00:00
James Melkonian
27885e00b2 Allow NPCs to path towards far away enemies 2021-05-21 03:14:45 +00:00
James Melkonian
b076fb7baa Small cockatrice AI fixes 2021-05-17 22:46:50 +00:00
Sam
9173dca03f Added equip slots for other weapons. 2021-05-15 15:16:37 -05:00
holychowders
d5f3ba77d4 Make NPCs Aware of Sound - See Issue #913 2021-05-15 19:36:27 +00:00
James Melkonian
f76b61ac17 Make merchants /tell instead of /say 2021-05-11 17:26:22 +00:00
Sam
7f6c6c5603 Fixed offsets for laser and rocket attacks of clay golem. 2021-05-10 18:54:04 -05:00
Sam
0d53e790fd Made golem laser spawn based off of orientation rather than look_dir. Additional balance tweaks. 2021-05-10 18:54:00 -05:00
Sam
fca56be4c0 Balance tweaks 2021-05-10 18:53:52 -05:00
Sam
58e5b1fdf5 AI tweaks. 2021-05-10 18:53:49 -05:00
Snowram
47a2bf7de8 Adds haniwa sentry object 2021-05-10 18:53:48 -05:00
Sam
c67c56d194 Dungeon placement. Tweaks to melee. 2021-05-10 18:53:47 -05:00
Sam
9f8aeb91c0 Added armor, more ai tweaks. 2021-05-10 18:53:46 -05:00
Sam
1c8db241e2 Golem AI 2021-05-10 18:53:43 -05:00
Joshua Yanovski
0cf0f59fa7 Merge branch 'sharp/modtools' into 'master'
Added non-admin moderators and timed bans.

See merge request veloren/veloren!2276
2021-05-10 04:54:06 +00:00
Joshua Yanovski
e7587c4d9d Added non-admin moderators and timed bans.
The security model has been updated to reflect this change (for example,
moderators cannot revert a ban by an administrator).  Ban history is
also now recorded in the ban file, and much more information about the
ban is stored (whitelists and administrators also have extra
information).

To support the new information without losing important information,
this commit also introduces a new migration path for editable settings
(both from legacy to the new format, and between versions).  Examples
of how to do this correctly, and migrate to new versions of a settings
file, are in the settings/ subdirectory.

As part of this effort, editable settings have been revamped to
guarantee atomic saves (due to the increased amount of information in
each file), some latent bugs in networking were fixed, and server-cli
has been updated to go through StructOpt for both calls through TUI
and argv, greatly simplifying parsing logic.
2021-05-09 21:19:16 -07:00
Avi Weinstock
abcb6f34a3 Remove the dependency of the new mindflayer AI on action_state.timer. 2021-05-09 21:16:57 -04:00
Avi Weinstock
1ae105125d Change agent's condition field back to a bool (from bitflags) and add a separate int_counter field. 2021-05-09 18:09:53 -04:00
Avi Weinstock
1dfcdce1c0 Add a purple fireball to mindflayer and have it shoot it a few times before teleporting, and fix mindflayer AI's husk summons. 2021-05-09 18:09:31 -04:00
Samuel Keiffer
a2999ce96f Merge branch 'aweinstock/damage-types' into 'master'
Add `DamageKind`, and make piercing damage partially ignore damage resistence.

See merge request veloren/veloren!2262
2021-05-06 22:22:49 +00:00
Avi Weinstock
e4cda4309e Add DamageKind, and make piercing damage partially ignore damage resistence.
- Tweak bow/staff M1 stats.
2021-05-06 17:39:06 -04:00
James Melkonian
346eb48a27 Move weapon tactics to functions and take target body into attack radius consideration 2021-05-06 21:17:05 +00:00
Daniel Mizerski
3197bcd12a (Wiring) Logic - make wiring turing complete 2021-05-06 19:53:12 +02:00
Marcel
91f76d3b00 Merge branch 'xMAC94x/fixDisconnectMetrics' into 'master'
instead of manually trying to sync disconnect metrics we now pass a Reason to...

See merge request veloren/veloren!2259
2021-05-06 11:32:37 +00:00
Marcel Märtens
8196fd8b35 instead of manually trying to sync disconnect metrics we now pass a Reason to the handle_disconnect.
There we make sure that the disconnect only happens once and decrease the respective Metrics.
Also added more reasons
2021-05-06 11:43:10 +02:00
Daniel Mizerski
b34704ea3f (Wiring) OnDeath 2021-05-05 19:08:18 +02:00
Daniel Mizerski
a2a0329440 (Wiring) Switch to using maybes 2021-05-05 16:59:17 +02:00
Sam
2652660a58 Addressed comments and more testing feedback. 2021-05-04 08:45:14 -04:00
Sam
240a8e577d Minor balancing tweaks. 2021-05-04 08:45:13 -04:00
Sam
5c241850f1 Added sfx. Addressed comments. 2021-05-04 08:45:12 -04:00
Sam
2290a22a15 Gave minotaur AI. 2021-05-04 08:45:09 -04:00
Sam
811f1fadb2 Replaced action_timer with action_state so there are additional fields. 2021-05-04 08:45:09 -04:00
Marcel
f5c7f99846 Merge branch 'xvar/persistence-fixes' into 'master'
Fixed a rare server crash when creating a character

See merge request veloren/veloren!2237
2021-05-03 18:09:59 +00:00
Samuel Keiffer
610c529c42 Merge branch 'sam/ability-sets' into 'master'
Allow Specification of Custom Ability Sets per Weapon

See merge request veloren/veloren!2231
2021-05-03 17:50:11 +00:00
Avi Weinstock
be39054767 Make terrain compression a checkbox instead of a bandwidth (throughput?) heuristic. 2021-05-03 00:09:44 -04:00
Avi Weinstock
b15913560b Optimize CompressedData with Vec::with_capacity, and move obsolete formats from common_net into the compression benchmark. 2021-05-03 00:09:24 -04:00
Avi Weinstock
c199d12f2d Address MR 2207 review comments.
- Add metrics for which branch of the compression heuristic was taken.
- Reduce the threshold for the heuristic.
- Deduplicate code for dealing with lazy messages.
- Make jpeg dependency only scoped to the compression benchmark.
- Remove commented code.
2021-05-03 00:09:24 -04:00
Avi Weinstock
30cae40b82 Add a bandwidth-based heuristic for chunk compression. 2021-05-03 00:09:24 -04:00
Avi Weinstock
cdc2eccda8 Improve quadpng by adding WidePacking, which makes a wider image, which is faster due to PNG compressing by row. Heuristically switch between quadpng and deflate based on chunk height to reduce variance. 2021-05-03 00:09:24 -04:00
Avi Weinstock
f81539cb00 Get PngPngPngJpeg terrain working in the actual game. 2021-05-03 00:09:24 -04:00
Daniel Mizerski
7faa0d3cd9 Add fundamentals for wiring system. 2021-05-02 22:38:44 +02:00
Ben Wallis
d7582efad0 Moved character creation to use character_updater instead of character_loader. Changed character_loader to use a read-only database connection. 2021-05-02 16:08:39 +01:00
Sam
d500a00414 Made naming of fields more explicit. 2021-05-01 09:25:56 -04:00
Sam
3cb0ee98c8 Removed all unique and simple tool kinds. 2021-05-01 09:25:51 -04:00
Sam
a35b8b4aad Removed ability set as field on items. 2021-05-01 09:25:49 -04:00
Joshua Barretto
b29e2b0017 Fixed admin physics check exemption 2021-04-30 14:06:07 +01:00
Ben Wallis
e2d6326615 Made admins exempt from the server-side position and velocity checks 2021-04-29 17:46:40 +01:00
Ben Wallis
c16bf51ab2 Merge branch 'xvar/reduce-timeofday-sync-frequency' into 'master'
Reduced frequency of TimeOfDay message being sent to clients

See merge request veloren/veloren!2218
2021-04-29 13:50:08 +00:00
Ben Wallis
3c20e8ed4e Reduced sync of TimeOfDay to once per 100 ticks 2021-04-29 12:34:27 +01:00
James Melkonian
2fafcded93 Set bird default to not flying and give non-strafing NPCs a larger attack angle 2021-04-28 02:31:51 +00:00
James Melkonian
24095187c7 Partially fixes wolf AI 2021-04-27 17:57:31 +00:00
Ludvig Böklin
34660462e9 Glider physics 2021-04-27 14:41:48 +00:00
Sam
1a7779beb3 Added angle check for new npcs. 2021-04-25 22:19:30 -04:00
Sam
9084e93f8b Added an angle check to all agent attacks. 2021-04-25 22:02:31 -04:00
Marcel
991ccf0033 Merge branch 'aweinstock/deflate-downgrade-20210425' into 'master'
Downgrade deflate from level 5 to level 1 in the terrain system to match LZ4's...

See merge request veloren/veloren!2199
2021-04-25 23:35:43 +00:00
holychowders
5488f9f525 Prevent safezoned villagers from spamming messages upon seeing an enemy 2021-04-25 21:24:06 +00:00
Avi Weinstock
57aee57d82 Downgrade deflate from level 5 to level 1 in the terrain system to match LZ4's worst-case encoding time. 2021-04-25 16:18:57 -04:00
Snowram
8f54a0bf31 More phoenix AI work
More phoenix AI work
2021-04-25 04:07:12 +02:00
James Melkonian
0cf7e7114f Phoenix AI pass 2021-04-25 04:07:11 +02:00
Snowram
8cf8e51962 Phoenix npc + AI (WIP) 2021-04-25 04:07:11 +02:00
Avi Weinstock
95d32b40bb Remove redundant terrain message per MR 2166 comment. 2021-04-20 23:48:15 -04:00
Avi Weinstock
308ad4d81e Cleanup errors introduced in rebase. 2021-04-20 23:34:17 -04:00
Avi Weinstock
15e32e5655 Move terrain compression code to common_net and disable redundant LZ4 compression on the terrain stream. 2021-04-20 23:24:24 -04:00
Avi Weinstock
6d9de520f3 Compress terrain chunks with deflate. Includes a benchmark showing that this makes them around 70% smaller, and is the same speed as LZ4. 2021-04-20 23:23:53 -04:00