Commit graph

143 commits

Author SHA1 Message Date
Kamron Batman
08baf3c35d
fix: Fixes explosion potions (#873)
* Fixes the users list not being cleared out
* Removes the LINQ allocations
2021-12-04 11:31:52 -08:00
Kamron Batman
12255fd7a8
fix: Adds back pre-pub-21 para blow (#872) 2021-12-02 11:49:36 -08:00
Kamron Batman
bea20f36a0
fix: Fixes targeting checks (#869)
* Adds CanTarget for more granular overrides of specific targeting restrictions
* Updates spell targeting
* Fixes targeting checks
2021-12-01 08:15:16 -08:00
Kamron Batman
c8a6d4c696
fix: Fixes .net 6 compilation (#860) 2021-11-21 18:06:39 -08:00
Kamron Batman
c8043e8dd2
fix: Codegens remaining construction items (#859) 2021-11-21 10:45:07 -08:00
Kamron Batman
43db0d09c9
fix: Weapons cleanup (#857)
* Removes linq
* Removes list allocation for area effect
* Removes redundant swing overload
* Cleans up code
2021-11-21 09:19:09 -08:00
Kamron Batman
bfbe2a6512
fix: Updates professions & new player gargish equipment (#819)
* Now reads Prof.txt to get the professions
* The templated professions are based on profession `TrueName`
* Adds missing starting equipment
* Implements gargish starting equipment
* Consolidates some of the code
* Moves TC stuff to the TC file.
* Fixes some starting equipment that was wrong.

Note:
* Implementing the original T2A professions is possible on the client side, but requires moving the old clilocs to the current clilocs file. In the current file the entries are blank.
* Using the original LBR professions (they match AOS but without necromancy/chivalry) is kind of confusing because the profession indexes are ripped out of the UOTD/UOR ones and have non-sequential indexes. This will probably cause confusion and people will get no templated items when they select the wrong profession.
2021-10-16 10:48:58 -07:00
IAmDanielDinner
5725fba373
fix: Adds missing ML Abilities (#799) 2021-10-03 23:04:06 -07:00
Kamron Batman
8eaa859332
fix: Fixes code genning armor, clothing, and BODs (#810)
* Fixes code genning clothing
* Fixes code genning armor
* Fixes code genning BODs
2021-09-28 22:09:34 -07:00
Kamron Batman
990d151ef3
fix: Codegens some decorations (#806) 2021-09-26 20:02:16 -07:00
Kamron Batman
551078670d
fix: Fixes quiver logic (#805) 2021-09-26 19:07:42 -07:00
Kamron Batman
2253a2332c
fix: Fixes ML containers and addons (#804)
* Fixes some ML addons so they are containers
* Adds some missing ML artifacts
* Fixes carpentry gump crafting entries
2021-09-26 18:54:33 -07:00
Kamron Batman
fa5eafdaff
fix: Adds Created, LastSerialized, and BeforeSerialize for all entities. (#775)
* Adds `BeforeSerialized` for entities to handle cleanup.
* Adds `Created` and `LastSerialized` fields to all entities. While this is a big bloat, this will be necessary for identifying dangling references to other invalid entities.
* Changes formula for determining a valid reference to be _not null, not deleted, and reference's created date must be at or before the entities last serialized date_.
* Adds versioning to idx file and serializes `Created` and `LastSerialized`.
* Fixes Save Stats and also disables it by default.
2021-09-26 01:09:45 -07:00
Kamron Batman
7c18997965
fix: Fixes no draw text for addons (#796) 2021-09-19 00:02:33 -07:00
SpeedyDevil
ee6be3d0dc
fix: Fixes quiver damage type modifier (#792) 2021-09-18 11:28:42 -07:00
Kamron Batman
b6641c4853
fix: Don't crash the world if a stealable artifact fails to construct (#789) 2021-09-16 23:55:37 -07:00
Kamron Batman
fd440f29ce
fix: Fixes FastAStar (#788)
* Fixes FastAStar algorithm, thanks @nullptr-w8
* Cleans up the code a little
* Removes SlowAStar
* Changes [Path recall runes to waypoints
2021-09-16 23:38:51 -07:00
Kamron Batman
73c65a43ad
fix: Cleans up movement code (#787)
* Removes FastMovementImpl since it isn't used and I am not convinced it is better.
* Moves some of the new movement logic from FastMovementImpl to MovementImpl
* Makes MovementImpl more readable
2021-09-16 23:23:22 -07:00
Kamron Batman
c5e35c9b69
fix: Uses client bug to make addon containers work (#776)
* Fixes tooltip for container furniture so it works. This doesn't work on ClassicUO.
* Fixes double click opening container furniture by double clicking the addon component.
* Fixes the context menu not showing up sometimes on the addon piece.

Note: You cannot drop anything into the addon component since it might be far away and it is not a real container. There is no easy fix for this without building an entire custom container class for addons or changing how items drag/drop entirely. Requires closing/opening container gumps as it switches from one component to another that shares the same content. Also requires sharing tooltips, invalidated properties, process delta changes, etc.
Not worth the effort.

<img width="444" alt="Screen_Shot_2021-09-12_at_4 27 28_PM" src="https://user-images.githubusercontent.com/3953314/133011752-c5b54cf2-2c7b-45c0-882d-0365ef62e686.png">
2021-09-12 22:23:15 -07:00
Kamron Batman
dbd4d6f13f
fix: Various code cleanup (#756) 2021-09-03 19:41:12 -07:00
Kamron Batman
e7e0151b38
fix: Fixes armor not scaling properly from world deserialization (#752) 2021-08-31 19:46:41 -07:00
Kamron Batman
fd59b080f4
fix: Fixes boat movement & moves weapon ability out of core (#750)
* Fixes boats only moving once.
* Removes event sink for weapon ability
* Moves weapon ability packets out of the core.
2021-08-30 21:30:09 -07:00
Kamron Batman
c789a7f78a
fix: Fixes various issues (#748)
https://github.com/modernuo/ModernUO/pull/741/files
2021-08-30 07:54:52 -07:00
SpeedyDevil
28faf4346f
fix: Fixes damage types when wearing quivers (#747) 2021-08-29 10:04:59 -07:00
Kamron Batman
8ffd5a5bd0
fix: Updates races to properly support gargoyle equipment. (#744)
* Adds `RaceFlag` to the `Race` object. This is `1 << RaceIndex`
* Replaces `RequiredRace`  with `RequiredRaces` for items.
* Adds convenience flags for `RequiredRaces`
  ```cs
  
  public const int AllowAllRaces = 0x7;      // Race.Human.RaceFlag | Race.Elf.RaceFlag | Race.Gargoyle.RaceFlag
  public const int AllowHumanOrElves = 0x3;  // Race.Human.RaceFlag | Race.Elf.RaceFlag
  public const int AllowElvesOnly = 0x2;     // Race.Elf.RaceFlag
  public const int AllowGargoylesOnly = 0x4; // Race.Gargoyle.RaceFlag
  ```
* Example usage on an item:
  ```cs
  public override int RequiredRaces => Race.AllowHumanOrElves;
  ```
* Adds Wood and Stone armor material types
* Updates Woodland armor to Wood
* Adds proper messaging for race restrictions
* Adds gargoyle only for object properties
* Adds `CheckRace` functions for validating if a race or mobile can use the item:
  ```cs
  bool CheckRace(Race race);
  bool CheckRace(Mobile from, bool message = true);
  ```
2021-08-29 00:43:55 -07:00
Kamron Batman
db59bf6dd0
fix(cleanup): Cleans up attribute syntax (#734) 2021-08-26 18:30:16 -07:00
Kamron Batman
451e53d006
fix: Fixes base armor deserializing old version (#731) 2021-08-26 13:45:31 -07:00
Kamron Batman
0dc4acc164
fix(core): Removes implicit cast between Serial and uint (#728)
* Fixes spellbooks using serial ctor
* Fixes misc items where someone thought they had an amount and it didn't
* Fixes all `Food` types.
2021-08-25 00:27:19 -07:00
Kamron Batman
17521c9cd7
fix: Adds defaults for codegenned clothing (#727) 2021-08-24 23:24:06 -07:00
Kamron Batman
ca3faec01d
fix(codegen): Codegens clothing (#714) 2021-08-24 23:11:59 -07:00
Kamron Batman
0bcf7a8d01
fix: Fixes buying animals in UOR (#719) 2021-08-22 15:36:26 -07:00
Kamron Batman
b4566fe154
fix(wands): Fixes codegenning BaseWand. (#718) 2021-08-22 14:30:38 -07:00
Kamron Batman
d9a9e90c14
fix(codegen): Codegens bulletin boards. (#712) 2021-08-22 08:05:03 -07:00
Michael Dijkstra
8b0eb1aa79
fix(codegen): Codegens wands (#716) 2021-08-22 01:30:27 -07:00
Kamron Batman
957e5fd4e1
fix(codegen): Codegens champion artifacts (#713) 2021-08-21 13:03:05 -07:00
Kamron Batman
c2f853d8a8
fix(codegen): Fixes base armor using wrong int type (#708) 2021-08-19 23:02:16 -07:00
Kamron Batman
ca5e9342a0
fix(codegen): Adds default codegen option for save flags. Fixes world load issues. (#707) 2021-08-19 22:51:44 -07:00
Michael Dijkstra
3fc2b76468
fix(codegen): Codegens Weapons (#698) 2021-08-19 09:12:24 -07:00
Kamron Batman
3293ffcf06
fix: Cleanup IPoint3D calls (#704) 2021-08-19 09:11:48 -07:00
Kamron Batman
f7e7fa424b
fix(codegen): Codegens books (#697) 2021-08-17 22:38:48 -07:00
Michael Dijkstra
488f1044fa
fix(codegen): Code gens axes (#690) 2021-08-17 20:37:53 -07:00
Kamron Batman
c8a2605c0d
fix(codegen): Code gens base armor and fixes code genning of other armors. (#696)
* Fixes code gen of save flags
* Code gens rest of armor
* Fixes some existing code genned armors
* Code gens BaseArmor
2021-08-17 17:52:15 -07:00
Kamron Batman
803d594300
fix(codegen): Fixes leather gloves again, typo in the serialize version. (#695) 2021-08-17 13:45:08 -07:00
Kamron Batman
5f7dab0795
fix(codegen): Fixes leather gloves deserialization (#694) 2021-08-17 12:44:34 -07:00
Kamron Batman
9833b0439a
fix(codegen): Code gens more armor items (#693) 2021-08-17 11:04:03 -07:00
Michael Dijkstra
28335ece88
fix(codegen): Codegens Weapon artifacts (#689) 2021-08-17 09:00:12 -07:00
Kamron Batman
2c8097f707
fix(codegen): Fixes various code gen issues. Adds better embedded serialization support (#688)
* Adds save flag support (see `ElvenGlasses` for an example)
* Updates AOSAttributes so they are code genned
* Fixes embedded object support by adding an `IRawSerializable`
* Fixes various inconsistencies in serializing with codegen
2021-08-17 02:43:52 -07:00
Kamron Batman
69af652a18
fix: Codegens some armors & Fixes code genning of some base addons (#687) 2021-08-16 16:11:20 -07:00
Kamron Batman
1323162628
fix(codegen): Adds codegen for embedded objects and timer fields (#686)
* Adds code genning for embedded objects. See `AquariumState` as an example.
* Adds code genning for fields that are `Timer`. See `Aquarium` as an example.
* Codegens aquariums
* Fixes missing option for most primitive field types.
2021-08-16 14:48:18 -07:00
Kamron Batman
4c265562bb
fix: Codgens more addons (#685)
* Fixes after deserialization not executing for older versions of an object
* Codegens more addons
2021-08-15 17:55:04 -07:00