Commit Graph

969 Commits

Author SHA1 Message Date
juliancoffee
e004fba9da Adress review 2022-01-28 00:02:34 +02:00
juliancoffee
4a4f2f8d8f Loadout Update: Managed Rng
Rewrite EntityInfo api to take Rng from caller.
2022-01-28 00:02:34 +02:00
juliancoffee
d5b927602a Loadout Udpate: NpcData part
Actually implement creating npc with new EntitytInfo by chaning
CreateNpc.loadout to CreateNpc.inventory and cleaning code in
NpcData::from_entity_info.
2022-01-28 00:02:34 +02:00
Dr. Dystopia
b0d6a68e8c Create 'push_initiate_invite' function 2022-01-26 21:23:37 +01:00
Dr. Dystopia
027154a5be Create 'push_invite_response' function 2022-01-26 21:16:29 +01:00
Dr. Dystopia
0516526985 Create 'push_utterance' function 2022-01-26 21:12:19 +01:00
Dr. Dystopia
765e858c19 Create 'push_cancel_input' function 2022-01-26 21:07:36 +01:00
Dr. Dystopia
b2b208687c Create 'push_basic_input' function 2022-01-26 20:09:59 +01:00
Dr. Dystopia
bc0a8c7704 Create 'push_action' function 2022-01-26 19:52:19 +01:00
Dr. Dystopia
f47184df85 Use 'push_event' function in more places 2022-01-26 19:40:18 +01:00
James Melkonian
2671f824d0 Prohibit accidental cliff diving by NPCs 2022-01-25 16:25:40 +00:00
Snowram
a6e396e29a Stunned and jump anims, stats, spawns, more IA work 2022-01-20 00:53:29 +01:00
Snowram
fd3ed89899 More arthropod animations 2022-01-19 19:01:15 +01:00
Snowram
38bbd60fd2 Arthropod basic attack 2022-01-19 19:01:14 +01:00
Snowram
1e6ead4005 Arthropod charge 2022-01-19 19:01:13 +01:00
Snowram
02ed6ffd60 More arthropod work 2022-01-19 19:01:13 +01:00
Snowram
ae71f2e4f0 Adds poisoned debuff (energy change over time) 2022-01-19 19:01:13 +01:00
Snowram
f67bf2a539 Adds arthropod skeleton 2022-01-19 19:01:11 +01:00
Imbris
13d970bf6f Rename SyncFrom::AllEntities to SyncFrom::AnyEntity for more clarity, add more comments for component syncing code, address MR comment 2022-01-19 00:56:42 -05:00
Imbris
7f7dc5ff8a Add ability to plot component update counts each tick in tracy, controlled by the PLOT_UPDATE_COUNTS env var 2022-01-19 00:56:42 -05:00
Imbris
aa122c1a18 Sync some components only from the client's own entity. Vastly reduce the amount of places to modify when adding/removing a component from network syncing. 2022-01-19 00:56:42 -05:00
James Melkonian
ac6f53922f Move agent code into separate files 2022-01-18 03:02:43 +00:00
Joshua Barretto
c9762568d6 Don't block teleportation when mounted 2022-01-17 09:47:29 +00:00
Joshua Barretto
3b7ea72a9c Fixed review comments 2022-01-16 21:13:13 +00:00
Joshua Barretto
043016a433 Don't try to mount unmountable entities, clippy fixes and fmt 2022-01-16 17:53:14 +00:00
Joshua Barretto
504e2a38d5 Added overhead hints, smoother mount movement 2022-01-16 17:53:14 +00:00
Joshua Barretto
2923d3cd2b Made NPCs prefer food when idle 2022-01-16 17:53:13 +00:00
Joshua Barretto
5c37786185 Improved interpolation for riders 2022-01-16 17:53:13 +00:00
Joshua Barretto
6931514ae5 Made teleport commands redirect to mount 2022-01-16 17:53:13 +00:00
Joshua Barretto
537cc38b5e Fixed lantern position when mounting 2022-01-16 17:53:13 +00:00
Joshua Barretto
b3e2d825ed Overhauled mounting to make it more reliable 2022-01-16 17:53:13 +00:00
Sam
4c3771a1a0 Persistence of auxiliary abilities. 2022-01-15 21:42:34 -05:00
Sam
9b6c76bd3b Removed health scaling that bypasses the skill system. 2022-01-15 11:58:28 -05:00
jshipsey
1fac6359de more gnarling weapons 2022-01-13 23:20:56 -05:00
jshipsey
7f928d0bc0 woodengolem, chieftain, icedrake, blowgun 2022-01-13 23:20:52 -05:00
Sam
efbc5f9b75 UI notifying player that their skillset has been invalidated. 2022-01-03 19:55:06 -05:00
Sam
27dd7b4391 Refactored skills code. 2022-01-03 19:55:01 -05:00
Imbris
b255f0ee0f put Client::tick_network function behind feature, remove unnecessary cloning of deleted entity vecs in entity sync, move prepare_send hack that avoids locking during message serialization from send_fallible to send, add job.cpu_status par mode adjustment around parallel section 2021-12-26 12:04:08 -05:00
Imbris
6547a6bf5e Parallelize entity sync loop over regions. 2021-12-25 19:24:12 -05:00
Imbris
bf48bd5346 update toolchain to nightly-2021-12-19 2021-12-23 13:04:24 +01:00
Joshua Barretto
e3203080ed Added Calendar for temporal events based on the real-world calendar 2021-12-20 18:03:52 +00:00
Ben Wallis
9a4e6b81d3 Merge branch 'Character-editting' into 'master'
Character editing

See merge request veloren/veloren!3059
2021-12-20 15:24:43 +00:00
Dr. Dystopia
3a52599e49 Clean up 2021-12-15 21:55:53 +01:00
Dr. Dystopia
408fe1e6b6 Begin creating character editing 2021-12-13 01:13:33 +01:00
holychowders
b40d94dd53 Re-allow and improve fleeing. 2021-12-07 20:18:03 -06:00
Jonathan Berglin
596307c9b7 Remove unused clippy suppressions 2021-12-05 17:59:02 +00:00
Marcel
3fa2dab3aa Merge branch 'xMAC94x/update-toolchain' into 'master'
xMAC94x/update toolchain

See merge request veloren/veloren!3027
2021-11-26 16:52:51 +00:00
James Melkonian
ab99126a7b Floor merchant cost percentages and display as whole numbers 2021-11-25 01:32:20 +00:00
Marcel Märtens
ef40ebe0c8 update toolchain to nightly-2021-11-24 2021-11-24 10:09:22 +01:00
Ben Wallis
022c1417b6 EXP on kill is now shared between damage contributors. A "damage contributor" is either an individual entity, or a group - depending if the attacker is in a group. This means that not only does the "killing blow" no longer get 100% of EXP, but multiple groups and individuals all receive their fair share of EXP on death (assuming they are still within range of the entity when it dies).
Damage from a given individual or group only counts towards a kill for 10 minutes since that individual or group's last damage to the entity - after this period their damage contribution is removed. This avoids the list of damage contributors growing excessively large for an entity that does a lot of combat but never dies.

EXP sharing within groups is unchanged - the difference is simply that the input to this calculation may be less than 100% of the base EXP reward for the kill if other individuals or groups contributed damage.
2021-11-13 20:46:45 +00:00
Sam
040d70c750 Final fixes. 2021-11-11 23:11:17 -05:00
Sam
a288f9ee43 Addressed further review. 2021-11-11 22:37:37 -05:00
Sam
dfcb8c8519 Addressed review feedback. 2021-11-11 18:10:22 -05:00
Sam
b678f7f46e Added some client methods for changing abilities to hook into. 2021-11-11 01:55:32 -05:00
Sam
4309e1ff9b Did voxygen stuff for ability pool. 2021-11-09 21:20:41 -05:00
Marcel
bcba2aae7e Merge branch 'juliancoffee/fix_testserver' into 'master'
Make test-server compile again

See merge request veloren/veloren!2974
2021-10-30 09:27:27 +00:00
Sam
aad2384622 Addressed review, changelog. 2021-10-29 17:57:00 -04:00
Sam
2b447852fd Added min fall off to explosions. 2021-10-29 17:37:02 -04:00
juliancoffee
1dc53dad3a Make test-server compile again 2021-10-29 23:49:37 +03:00
Kemper
034041fd4f Aim fireballs at feet
AI aims fireballs at the target’s feet, for a slight improvement
in splash damage.
2021-10-27 19:50:50 +00:00
ubruntu
e6bfce99bb Use stealth stat on armors 2021-10-24 05:31:49 +00:00
Bryant Deters
b2bd43f4d3 Sneak with weapons drawn 2021-10-18 14:53:55 -05:00
socksonme
8099b516a9 Renamed emit_alarm to emit_scream 2021-10-16 19:11:57 +03:00
socksonme
2b36a957ac small code quality change 2021-10-15 23:23:45 +03:00
socksonme
c631341da9 Refactored SoundKind and UtteranceKind 2021-10-15 22:49:25 +03:00
antoniomuso
761ae8f69d Make merchants send the player a trade request when interacted with 2021-10-09 21:14:01 +02:00
Imbris
8987389e8a Submit chunk requests to the generator within the terrain system right before receiving new chunks, so that duplicate work is not done for chunks that just finished but were not yet added to the terrain. 2021-10-08 16:17:31 -04:00
Joshua Barretto
6d33e0d183 Prevented double-spawning of chunks 2021-10-08 12:20:46 +01:00
Joshua Barretto
8dc8aeace5 Added minimum server-side chunk loading 2021-10-07 14:23:55 +01:00
Imbris
c9d2501336 Revert "Merge branch 'ubruntu/par-entity-sync' into 'master'"
This reverts merge request !2891
2021-10-05 14:42:39 +00:00
Bryant Deters
8b557f0e2e using par_join.for_each as if I know what I'm doing 2021-10-01 18:05:52 -05:00
juliancoffee
7291d32209 Make ItemDrop component with Item again 2021-09-27 20:36:18 +03:00
Sam
27823ce8fa Rtsim now uses entity configs. 2021-09-27 15:09:22 +03:00
Sam
09dd9b4813 Changed ItemDrop to use LootSpec 2021-09-27 15:09:22 +03:00
Marcel
cea927efb6 Merge branch 'xMAC94x/update-toolchain' into 'master'
update toolchain to `nightly-2021-09-24`

See merge request veloren/veloren!2862
2021-09-26 19:25:02 +00:00
Sam
942376f88c Made poise a float at interface of module. 2021-09-25 14:07:47 -04:00
Marcel Märtens
e36eef99c8 apply some clippy fixes that comes with the new toolchain version 2021-09-24 23:18:18 +02:00
Sam
0e5e2b46f2 Changed energy to internally use an integer with a high resolution, and externally to use a float. 2021-09-23 14:11:09 -04:00
Snowram
5838a84568 Consolidates projectile offsets into utils 2021-09-22 03:05:57 +02:00
Snowram
9c2ce83430 Set projectile offsets in states instead of globally 2021-09-22 01:07:09 +02:00
Samuel Keiffer
576f2a6e9f Merge branch 'wolfshaman/fixing_1328_set_waypoint_when_on_ground_and_not_going_down' into 'master'
fixing_1328_set_waypoint_when_on_ground_and_not_going_down

See merge request veloren/veloren!2832
2021-09-21 22:16:08 +00:00
Snowram
7a73e4240b Bird large beam offset hack 2021-09-21 15:31:43 +02:00
juliancoffee
f810af4eec Rename EntityInfo level field to health_scaling 2021-09-17 20:12:42 +03:00
juliancoffee
c069a3523d Fix beam offsets
- Introduce notion of min and max radius for Body instead of old
  `radius()` function (which is renamed to `max_radius()`).
2021-09-17 13:28:34 +03:00
Sam
99981338bb Fixed exp fix mistake and fixed lava, campfire, and bomb damage. 2021-09-15 08:32:44 -04:00
wolfshaman
d321d1aad4 fixing_1328_set_waypoint_when_on_ground_and_not_going_down 2021-09-13 16:51:02 -04:00
Sam
42012fddcb Overhauled health component, making it a float to outer interfaces. 2021-09-09 00:10:17 -04:00
Joshua Barretto
78fce06b47 Allowed players to assist NPCs in fights without problems by tweaking aggro rules 2021-09-08 13:17:53 +01:00
Khalid Ali
cbc6cdfad1 Use unreachable instead of panic 2021-09-05 18:13:20 -05:00
Khalid Ali
a0b78ffd16 Add RepeaterRanged and fix scaling ChargedRange 2021-09-05 18:03:54 -05:00
Khalid Ali
871a1ccbfc Set direction using character state 2021-09-05 17:07:09 -05:00
juliancoffee
43d40c4efc Workaround of bug with global Player component
* Set default value of battle_mode and last_battlemode_change explicitly
if isn't found in battlemode_buffer
2021-09-04 02:29:02 +03:00
juliancoffee
1baa9e9879 Add in-memory persistence for battlemode changes 2021-09-04 01:41:48 +03:00
juliancoffee
fbe745fe1e Cooldowns
- Add last_battlemode_change to Player component
- check on last_battlemode_change in handle_battlemode
- set last_battlemode_change after setting battlemode
- still are not persisted in any way
2021-09-04 01:41:48 +03:00
juliancoffee
f01309dfc2 Add PerPlayer server flag for BattleMode 2021-09-03 17:28:34 +03:00
Joshua Barretto
f9580a576c Fix warning agents not switching aggro on attack 2021-08-24 23:17:52 +01:00
Ben Wallis
9e35f5ec33 Explosions no longer change block colours within the radius of a safe zone. Doubled the radius of the safe zone in the /home town. 2021-08-20 09:00:55 +01:00
juliancoffee
09e8ee2b3f Remove giants 2021-08-16 18:15:01 +03:00
juliancoffee
5941d6731c Refactor supplement evaluation to use NpcData 2021-08-16 17:27:59 +03:00
Joshua Barretto
87851293c2 Improved aggro system to reduce hyper-focused enemies 2021-08-14 11:09:33 +01:00
Joshua Barretto
c2498d81c7 Added feature flag for terrain persistence 2021-08-12 10:48:00 +01:00
Joshua Barretto
738e59965f Added experimental terrain persistence 2021-08-12 10:26:20 +01:00
juliancoffee
f16f8182cd Add FIXME about Staff flamethrower 2021-08-08 00:41:39 +03:00
juliancoffee
a7922336ea Expose beam_offsets to AI 2021-08-08 00:33:43 +03:00
juliancoffee
edd37ad491 Agent code TODO-s 2021-08-05 21:07:45 +03:00
Joshua Barretto
31a49d26a9 Added action timer system for agent code 2021-08-04 14:04:56 +01:00
juliancoffee
44916383c6 continue -> filter_map to handle new players 2021-08-03 16:43:56 +03:00
juliancoffee
d9e2d501cd Prettify server/sys/msg/register.rs 2021-08-03 16:43:56 +03:00
juliancoffee
497a94cd7a Post review refactoring
* inline `target_dodging` into struct declaration as they are named
anyway
* move `avoid_harm` check out of `Attack::apply_attack` so we don't need
to pass whole Player component.
* another cosmetic things
2021-08-03 16:43:55 +03:00
juliancoffee
9300353c98 Use emitter.emit() in server/sys/msg/register 2021-08-03 16:43:55 +03:00
juliancoffee
7d4a8cbfa4 Add battle_mode server setting and player flag 2021-08-03 16:42:58 +03:00
Knightress Paladin
b338abd761 Fix up comments relating to AI logic 2021-08-02 22:38:16 -07:00
Knightress Paladin
8dd2202e1a Restyle logic in Staff AI 2021-08-02 16:22:40 -07:00
Knightress Paladin
a6acdbbfa7 Used adjusted_by_skills to correctly calculate ability values 2021-08-02 16:22:40 -07:00
Knightress Paladin
e87bfae5cd Allowed staff AI to queue shockwave if occupied by animation 2021-08-02 16:22:40 -07:00
Knightress Paladin
38432cc880 Restructured logic for staff AI 2021-08-02 16:22:40 -07:00
Joshua Barretto
45f94b0bce Better Agent API 2021-08-02 13:08:39 +01:00
Ludvig Böklin
400734cc0a Fix gliderwield downhill run jitter 2021-08-01 11:20:46 +00:00
Joshua Barretto
422e1c30f4 Added menacing, made agent code less hacky 2021-07-31 20:33:28 +01:00
Monty Marz
14eb0f9aa2 Remove sceptre, add swords 2021-07-29 22:38:35 +00:00
Marcel
680492cea6 Merge branch 'juliancoffee/entity_refactor' into 'master'
Improve terms of EntityConfig and LoadoutBuilder

See merge request veloren/veloren!2688
2021-07-28 23:19:04 +00:00
Ben Wallis
01ca6911a9 * Pets are now saved on logout and spawned with the player on login
* Pets now teleport to their owner when they are too far away from them
* Limited the animals that can be tamed to `QuadrupedLow` and `QuadrupedSmall` to prevent players taming overly powerful creatures before the pet feature is further developed
* Added `Pet` component used to store pet information about an entity - currently only used to store the pet's database ID
* Added `pet` database table which stores a pet's `body_id` and `name`, alongside the `character_id` that it belongs to
* Replaced `HomeChunk` component with more flexible `Anchor` component which supports anchoring entities to other entities as well as chunks.
2021-07-28 22:36:41 +00:00
juliancoffee
14ac9a8b4e Improve terms of EntityConfig and LoadoutBuilder
* rename LoadoutBuilder::new to LoadoutBuilder::empty
* remove LoadoutBuilder::default as Default makes no sense here
* move comments from template.ron to EntityConfig struct
* add FIXME comments to split EntityConfig into EntityBase and
EntityExtension
2021-07-28 19:19:10 +03:00
Joshua Barretto
37077b5703 Merge branch 'Resolve-unused-clippy-supressions' into 'master'
Resolve unused clippy supressions

See merge request veloren/veloren!2673
2021-07-24 20:44:06 +00:00
Dr. Dystopia
70d0840e96 Resolve unused '#[allow(clippy::unnecessary_wraps)]' error supressions 2021-07-24 20:14:26 +02:00
Joshua Barretto
6fa3ac610b Merge branch 'aweinstock/fix-waypoint-2' into 'master'
Further improve handling of underground waypoints:

See merge request veloren/veloren!2665
2021-07-24 17:59:58 +00:00
Avi Weinstock
5dd56b724c Rename find_space_opt to try_find_space. 2021-07-24 13:09:10 -04:00
Samuel Keiffer
85b9f70469 Merge branch 'knightresspaladin/fix-circle-charge' into 'master'
Fixed CircleCharge and buffed Rugged Hide droppers

See merge request veloren/veloren!2613
2021-07-23 14:56:36 +00:00
Avi Weinstock
ca10d89068 Further improve handling of underground waypoints:
- Set the waypoint to the valid position after chunk load, so that respawns work.
- Search for the nearest valid surface before falling back to the top of the chunk, so that waypoints inside caves/buildings work.
2021-07-22 23:03:52 -04:00
Marcel
e9f6ae6b37 Merge branch 'xMAC94x/job_metrics' into 'master'
implement slowjob metrics to measuere time in queue and execution time

See merge request veloren/veloren!2654
2021-07-22 19:17:30 +00:00
Marcel Märtens
7d93d907f6 implement slowjob metrics to measuere time in queue and execution time 2021-07-22 19:31:21 +02:00
juliancoffee
a03992a236 Wake birds up
* give large rtsim birds their default main tool which allows them to
use AI tactics
* force entities to fly on critical failing velocities to avoid suicide
2021-07-22 18:00:22 +03:00
Knightress Paladin
a97546dbff Removed aimbot from ChargeMelee and cleaned up variable typing 2021-07-18 23:12:55 -07:00
Knightress Paladin
081c6e5362 Fixed CircleCharge and buffed Rugged Hide droppers 2021-07-18 23:12:55 -07:00
Samuel Keiffer
37147e2a83 Merge branch 'juliancoffee/overworld_assetization' into 'master'
Wildlife assetization

See merge request veloren/veloren!2591
2021-07-18 13:43:32 +00:00
Imbris
9c72333741 Revert "Merge branch..."
This reverts merge request !2608
2021-07-17 22:04:59 +00:00
juliancoffee
6654c9e372 Fix bug with ignoring second_tool in EntityInfo 2021-07-17 15:37:30 +03:00
Imbris
eb999b2821 Merge branch 'aweinstock/fix-waypoint' into 'master'
Spawn players aboveground when using `/site` or when their waypoint is underground.

See merge request veloren/veloren!2612
2021-07-16 23:18:33 +00:00
Avi Weinstock
a4d6f0f3c1 Address MR 2612 review comments. 2021-07-16 17:46:48 -04:00
Samuel Keiffer
f38cde9d40 Merge branch 'knightresspaladin/healing-aura' into 'master'
Knightresspaladin/healing aura

See merge request veloren/veloren!2587
2021-07-16 21:32:03 +00:00
Avi Weinstock
c417e8c5b9 Defer repositioning until after chunks are generated normally, to reduce latency and avoid duplicate work. 2021-07-16 15:42:50 -04:00
Marcel
0492b8dc87 Merge branch 'savalige/ai_spacing' into 'master'
Issue #1153 - Improve combat AI spacing between Agents of the same Alignment

Closes #1153

See merge request veloren/veloren!2451
2021-07-16 16:40:27 +00:00
Avi Weinstock
9e9cbd290b cargo fmt 2021-07-15 15:52:10 -04:00
Knightress Paladin
0ded44d635 Cleaned up chunk-relative block setting math 2021-07-15 12:36:00 -07:00
Knightress Paladin
9864344cfe Implemented setting blocks with the wiring system 2021-07-15 12:36:00 -07:00
Savalige
171113ea74 Added a spacing_radius method to body to make it possible to sett different spacing for different entities 2021-07-15 13:33:51 -04:00
Savalige
1e3cc3442f Made the spacing also take the radius of the entity into account per @zesterer suggestion and added a baias variable to change how much priority should be given to separation vs target(1.0 being only focus on separating and 0.0 being only focus on target) 2021-07-15 13:33:51 -04:00
Savalige
2a5d4fa826 fixing issue #1153 - Improve combat AI spacing between Agents of the same Alignment 2021-07-15 13:33:51 -04:00
Jonathan Berglin
c1c331d59e Resolve all '#[allow(clippy::approx_constant)]' error supressions 2021-07-15 16:56:55 +00:00
juliancoffee
aae3a159b8 Make all Ships constanly flying, not only rtsim 2021-07-14 23:23:35 +03:00
juliancoffee
d42c7be141 Teach AI how to interact in this evil world 2021-07-14 19:26:12 +03:00
juliancoffee
b6460f6c61 Teach AI how to forgive 2021-07-14 19:26:11 +03:00
juliancoffee
325acc9daf Teach AI how to heal again 2021-07-14 19:26:11 +03:00
juliancoffee
06e0303e8a Cleaning 2021-07-14 19:26:11 +03:00
juliancoffee
00a34da48b Teach AI how to leap again
+ adjust hammer and axe AI timings
2021-07-14 19:25:55 +03:00
juliancoffee
56ab92fd05 Teach AI how to glide again 2021-07-14 15:24:15 +03:00
juliancoffee
59e9fc6530 Agent code refactoring
0) extracting code branches to closures
1) make RTSim remember target, even if they can't speak about it
2) make only RTSim Ships constantly flying (and not every flying RTSim)

You can tame RTSim Phoenix, yay
2021-07-14 14:55:50 +03:00
holychowders
f316f1da60 Make Guards Defend Villagers 2021-07-14 07:40:43 +00:00
Marcel Märtens
db8aedd363 fmt after applying clippy fixes after toolchain update 2021-07-12 12:09:27 +02:00
Marcel Märtens
9b3b21f368 fix clippy warnings 2021-07-12 12:09:09 +02:00
Sam
be8b12845a Added buff strength stat to weapons. 2021-07-11 12:50:38 -05:00
Knightress Paladin
42c3872528 Added healing aura duration skill to voxygen UI 2021-07-10 20:02:36 -07:00
Knightress Paladin
b96bb6fc5d Added combo scaling to healing aura and allowed cultists to use it 2021-07-10 20:02:36 -07:00
Knightress Paladin
d0bb7004ab Added check to prevent sceptre AI from canceling its own ward 2021-07-07 20:01:00 -07:00
Knightress Paladin
65d67ef781 Clean up sceptre ai code before merge 2021-07-07 20:00:35 -07:00
Knightress Paladin
63c5d9f7df Fixed formatting 2021-07-07 20:00:35 -07:00
Knightress Paladin
ba35aaaf90 Add check to see if cultist already has ward buff 2021-07-07 20:00:35 -07:00
Knightress Paladin
35242c71e1 Added sceptre tactic and sceptre cultists 2021-07-07 20:00:01 -07:00
juliancoffee
d4c61ae2f3 (voxygen) Better support for multibuff items
+ change `effect` field in ItemKind::Consumable to `effects`, as it's
set of effects and not single effect.
2021-07-05 10:56:29 +03:00
juliancoffee
303f03dd3a Adjust Yeti difficulty
Frost breath:
    - ori_rate reduced from 0.6 to 0.1
    - time of breath increased from 1 second to 2 seconds
    - buildup increased from 0.4 to 0.8
    - make it more gentle, with less damage per tick, but faster tick rate
    (50 * 1 to 10 * 5)
    - make Frozen debuff strength smoler, 1.5 to 0.5 and make it chance to
    apply debuff.
    - make him use it when closer range (10 and not 15)
Ice spikes:
    - increase recovery_duration from 0.3 to 1.0
    - make him slower while doing ice spikes, make ice spikes move
    slower
    - make him use it when closer range (15 and not 20)
Snowball:
    - increase recover_duration from 0.4 to 0.9
Strike:
    - increase buildup_duration fron 0.6 to 0.8
    - increase recover_duration from 0.5 to 1.0
    - increase knockback from 40.0 to 70.0
2021-07-04 03:44:17 +03:00
Ben Wallis
a50ed6b50a Fixed build warnings for server-cli related to non-default plugin feature 2021-06-26 21:56:03 +01:00
Snowram
d7f25627ab Ajustments to new npcs 2021-06-24 19:31:21 +02:00
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
Imbris
e17477979f Remove extra chunk cloning and parallelize serialization in the server terrain sys 2021-04-20 15:25:05 -04:00
Imbris
9e0fbd392d Remove some of the spans in the agent system 2021-04-20 15:25:05 -04:00
Imbris
110165de3a Add more profiling spans to the agent system and add timing notes 2021-04-20 15:25:04 -04:00
Imbris
e750c9d570 Switch agent target search to use a spatial grid, add convience method for querying the aabr of a circle 2021-04-20 15:25:04 -04:00
Imbris
26222a0a2d Rename common-sys to common-systems and rearrange common-state slightly 2021-04-20 15:25:04 -04:00
Ludvig Böklin
762c68cfbb Basic fluid dynamics and physical properties for entities 2021-04-20 17:38:19 +02:00
Marcel Märtens
485a477503 include origin into system name 2021-04-20 01:30:27 +02:00
Marcel Märtens
5862920f32 seperate sys/state 2021-04-20 01:30:17 +02:00
James Melkonian
ef38d9778f Fix bow AI 2021-04-19 12:17:31 -07:00
Joshua Barretto
cd0a65da81 Added minimum chunk unload distance to make chunk reload cheesing harder 2021-04-19 11:29:20 +01:00
Sam
c8d4c4ff84 Gated safe zone behind a server setting, removed unneeded function. 2021-04-17 17:54:11 -04:00
Sam
416fe5c2af Safezone is now permanently in existence at spawn. 2021-04-17 17:33:54 -04:00
Avi Weinstock
513c7ff068 Make physics anticheat less aggressive. 2021-04-16 18:07:54 -04:00
Imbris
85ee4c8cd1 Merge branch 'aweinstock/server-authoritative-physics' into 'master'
Aweinstock/server authoritative physics

See merge request veloren/veloren!2126
2021-04-15 22:24:00 +00:00
Avi Weinstock
2fb7575d60 Address MR 2126 comments. 2021-04-15 15:17:39 -04:00
Ben Wallis
95d7a3d761 Fixed cargo test-server. Removed -Z package-features from .cargo/config as it is no longer required 2021-04-15 19:07:46 +01:00
Avi Weinstock
bf6ac56eb0 Add teleport/speedhack mitigation. 2021-04-15 08:50:17 -04:00
Avi Weinstock
50d0314a75 Add a toggle to negotiate the use of server-authoritative physics. 2021-04-15 08:50:17 -04:00
Avi Weinstock
d6f4537d39 Minimal implementation of server-authoritative physics. 2021-04-15 08:26:15 -04:00
Ben Wallis
378561598e Character deletes are now processed by CharacterUpdater and clear any pending logout updates for the deleted character 2021-04-14 22:30:53 +01:00
holychowders
568a8d9666 Resolve Issue #978 - Extract SkillSet Into Its Own Component 2021-04-14 15:35:34 +00:00
Ben Wallis
1de94a9979 * Replaced diesel with rusqlite and refinery
* Added "migration of migrations" to transfer the data from the __diesel_schema_migrations table to the refinery_schema_history table
* Removed all down migrations as refinery does not support down migrations
* Changed all diesel up migrations to refinery naming format
* Added --sql-log-mode parameter to veloren-server-cli to allow SQL tracing and profiling
* Added /disconnect_all_players admin command
* Added disconnectall CLI command
* Fixes for several potential persistence-related race conditions
2021-04-13 22:05:47 +00:00
Avi Weinstock
ddf6a26577 Give NPCs the ability to use potions. 2021-04-11 23:47:29 +00:00
Joshua Yanovski
af94753ad9 Remove panics and unwraps, part 1.
Also fixes various other miscellaneous bugs.
2021-04-10 10:03:21 +02:00
Marcel Märtens
1a9425526b remove spamming of the logs 2021-04-08 23:55:13 +02:00
Imbris
0eecc61ddf Merge branch 'vfoulon80/behavior-component' into 'master'
New Component: Behavior

See merge request veloren/veloren!2033
2021-04-08 19:16:28 +00:00
Vincent Foulon
d80db38bc9 Remove TRADE capability, use trade_site attribute instead 2021-04-08 19:06:57 +02:00
Vincent Foulon
bc1797a240 Address comments 2021-04-08 18:33:00 +02:00