Commit graph

155 commits

Author SHA1 Message Date
turleypol
b216a16d36
refactored npcmod,decay to use Pos classes, removed all wrappers from Realm (#652)
* refactored npcmod,decay to use Pos classes
get rid of some realm methods used to wrap Pos

* all wrappers in Realm are now gone

* review comments
2024-07-07 15:32:29 +02:00
turleypol
9d2bf0ec60
replaced all uppercase hex formatting with lowercase variant (#645) 2024-05-05 09:13:12 +02:00
Kevin Eady
ac97667b3b
Corpse equipment changes; Fix support of MaxItems 0 for containers (#635)
* Implementation

* Add core-changes

* Fix warnings

* Fix support of MaxItems 0 for "unlimited" in containers

* add initial tests

* Update core-changes
2024-03-24 10:17:35 +01:00
turleypol
d848deae18
POLLOG* macros use the new formatting (#598)
* POLLOG* macros use the new formatting
removed all old logging functions

* removed old fmt lib from everything except StreamWriter
removed unneeded functions

* fixed review comments
2024-01-16 17:55:42 +01:00
turleypol
efa31dd3a9
Character buffs (#587)
* Buffs: should be now possible to set for the first cliloc arguments,
added chr.buffs member to return the current buffs

* added test

* docs

* more docs
2024-01-13 16:46:08 +01:00
turleypol
ec91d7cc3c
Codecleanup from #581 (#583)
* is_visible_to_me checks now also in_visual_range
added obj::distance_to
fixed warnings

* no magic numbers for snprintf
2023-12-26 17:47:40 +01:00
turleypol
d873551c25
removed pol_distance/inrange* functions (#556)
* removed pol_distance/inrange* functions
replaced lastxyz with Pos4d

* replaced WorldIterator::InVisualRange with InMaxVisualRange returning
all objects in maximum update range. Adapted each caller, they now have
to check in_visual_range
Multis should now be send to clients with its footprint in mind.
added testscript for boat moving in/out of range

* removed non pos InRange/InBox functions
gamestate.update_range doesnt need to be a Vector, renamed

* corrected send_action_to_inrange

* replaced clip methods with general numeric type clamp function

* added Range2d constructor with radius

* splitted update_range. chr has now a los_size (how far can it see) and
an object has a visible_size (0 for objects 1/2 footprint for multis)

* use in_range instead of pol_distance

* corrected order of checks

* fixed warnings

* fixed visual size of multis
testclient added wornitems pkt support
added tests for los

* corechanges
2023-12-25 22:02:52 +01:00
Kevin Eady
8d829cd2e2
Change packet used for status updates for own char (#535) 2023-08-31 20:57:42 +02:00
Kevin Eady
1b879bc59f
Add script helpers to implement stealing skill (#493)
* add item.character_owner

* Address review comments
- Cleanup chr_from_wornitems
- Return BError if no character owner

* Add Target option TGTOPT_ALLOW_NONLOCAL

* Address review comments
- Remove `Core::chr_from_wornitems`

* Add pol tests for snooping

* Add tests for TGTOPT_ALLOW_NONLOCAL

* target_nonlocal_checklos pol test debugging

* target_nonlocal_checklos pol test debugging
- Remove destroy of obstacle
- Add a CheckLosAt call to error return

* target_nonlocal_checklos pol test debugging
- Enable USAN build

* undo test debugging changes

* use mobile for los when targetting snoopable items

* Update core-changes

* Persist SnoopScript for items on save

* Add snoop_script_ to Item::estimatedSize

* document SnoopScript script type
2023-01-08 16:59:28 +01:00
turleypol
eeb57d489a
Drop/getitem related pos refactoring (#497)
* refactored move_item

* container location methods

* dropitem position refactors

* addressed pr comments.
fixed comment
more readable algo for random location
2023-01-05 00:10:51 +01:00
Kevin Eady
999ca84aea
Add Support for Snooping via Item Descriptor element SnoopScript (#491)
* Initial work on adding SnoopScript

* use message "That doesn't belong to you..." if lifting a snoopable item

* fix configfile changes

* Update core-changes
2022-12-20 21:32:47 +01:00
turleypol
99667711af
Fixed move of mobiles/items between realms (#446)
* MoveObject fix between realms for mobiles and items

* missing poltool changes
2021-12-15 07:47:54 +01:00
turleypol
3306c5e206
converted multidef (#441)
* converted multidef
added to the testsuite a big multi
ListMultisInBox now uses the update range, but since its the only spot
and the chances are low that someone really has such a big multi
corechanges are not really worth it I would say

* Fixed a few grid bugs, one endless loop and changed the range a chr can move while customhouse is active
2021-11-09 20:01:16 +01:00
Peter Wedder
62638190a6
Change outgoing packet handlers to write CP-1252 when appropriate (#443)
* - Change all (most?) outgoing packet handlers that should write CP-1252 to convert UTF-8 to CP-1252.
- Update Clib::sanitizeUnicodeWithIso() to sanitize with CP-1252, which is what UO uses instead of ISO-8859.
- Add a test for Clib::sanitizeUnicodeWithIso() to check if it's performing the conversion correctly (currently it is not).

* Fix stylecheck

* Revert changes to sanitizeUnicodeWithIso()

* Change test so it matches acceptable sanitizeUnicodeWithIso behavior.

* Fix warnings.

* Add corechanges.
2021-11-09 08:01:31 +01:00
turleypol
f99ab2dbaf
switched internals of realms, changed packetdefs (#432)
* switched internals of realms, changed packetdefs

* restructured ListenPoint a bit

* moved actual listenpt code to private method

* simplified listenptr loop and the same for guilds to fix ancient fixme

* added todo for future us
2021-10-26 10:52:13 +02:00
turleypol
f211e16658
wrappers for realm/uworld methods accepting Posclasses. (#428)
* wrappers for realm/uworld methods accepting Posclasses.

* switched memoryorder of realm zone

* fixed nullptr check

* renamed Realm::getzone to getzone_grid

* moved getzone to Realm

* testclient: xfixed multiple full pkts
2021-09-18 19:15:54 +02:00
turleypol
ce9834e1ef
Regions Pos class refactor (#426)
* Regions Pos class refactor

* switched memorylayout of regions. y first to be more cache friendly
2021-09-13 20:27:13 +02:00
turleypol
95783a3226
removed ufacing move_delta, added getPos*Param (#424)
* removed ufacing move_delta, added getPos*Param

* renamed move_self to move_to
2021-09-12 14:39:06 +02:00
turleypol
9fe3e36cff
use Pos classes in Map and Door (#422)
* use Pos classes in Map and Door
removed most of the functions in ufacing.cpp
removed Plib::UFACING
added executor getPos2d

* added forward methods to baseobject, lets see where it ends :)

* fix typo

* moved methods to uobject
2021-09-11 22:38:43 +02:00
turleypol
7ee1b64e19
replaced baseclass x,y,z,realm members with Pos4d. (#420)
* replaced baseclass x,y,z,realm members with Pos4d.
Adapted the code, no changes except making the compiler happy

* review changes

* Fixed gotten_item

* fixed copy&waste
2021-09-10 20:17:25 +02:00
Fernando Rozenblit
c49f5b4abb
Reorganize regions and realms (#228)
* Moved realms.h and realms.cpp to realms/..

* Moved regions into their own folder
2020-08-17 22:29:07 +02:00
turleypol
c61b877caa
Healthbarfix (#105)
* fixed poison/invul pkt for newer clients

* updated corechanges
2019-12-12 16:04:02 +01:00
turleypol
ebe884c2fe Merge remote-tracking branch 'origin/master' into utf8
* origin/master: (70 commits)
  Fix to items randomly loading with AOS props due to incorrect initalization of props on load of server.
  Rectify core not clearing mobiles from client during shadow realm shift.
  SendQuestArrow() fix for HSA clients (#91)
  Hotfix/start skill script (#90)
  Noninvasive dynaprops (#89)
  Update objref.xml
  Some network error conditions were missing...
  Final adjustments to core-changes
  Added Turley's missing core-changes :P
  Improved connection handling:  - Linux isn't limited to 1024 connections anymore  - Windows may have some slight performance boost
  removed senseless gitignore files
  use generator unspecific clean cmd in build_tools.sh always generate compile_commands.json force color diagnostic (to work with ninja)
  Curl building uses now the same compiler as pol
  fixed target_link_directories system header declaration
  check if container is orphan when adding items as content. for now it crashes the shard to have the backtrace. (would crash anyway later)
  add corechanges for doc changes
  new build target "clang_format" runs clang-format on current modified or new files in pol-core dir.
  Formatting
  Fix xml indentation
  fix indentation
  ...

Conflicts:
	pol-core/bscript/execmodl.cpp
	pol-core/doc/core-changes.txt
	pol-core/pol/getmsg.cpp
	pol-core/pol/module/unimod.cpp
2019-08-16 19:02:53 +02:00
GIB
2dd0396906
Rectify core not clearing mobiles from client during shadow realm shift.
Added character reference on update when moving from 1 realm to another which appears to effect npc's and players not clearing when going to a shadow realm. (#92)
2019-07-12 13:45:18 +08:00
turleypol
c956cee6b2 Increased script version to force recompilation due to unicode
changed buff message storage to hold a string
2019-01-19 14:33:27 +01:00
turleypol
7f8b5055b2 no need to strip tilde chars from speech
added small early out test for textcmds
simplified _unicode params
2019-01-16 21:24:41 +01:00
turleypol
8b085e86ef dont assume a tainted string by default
cfgfiles (which includes savefiles, datafiles) get sanizized on read,
filemod::readfile, xml module, sql handled
old ascii speech packets handled
2019-01-12 17:14:05 +01:00
turleypol
b032dc8065 cleanup of sysmsg unicode 2019-01-03 17:44:20 +01:00
turleypol
6fd2883182 cleanup of char profile pkt 2019-01-03 11:39:59 +01:00
turleypol
9372421d93 simplified unicode send functions 2018-12-31 20:07:22 +01:00
turleypol
e04479d8cb cleanup of buff msgs, added direct pkt write methods for utf16 vectors
open question: keep it this way or add an string write method which
converts on the fly?
2018-12-31 18:22:09 +01:00
turleypol
a89886a0ce Merge remote-tracking branch 'origin/master' into utf8
* origin/master:
  more network specific code moved
  moved pkt headers into network folder
  fixed argument count for DepletedFunction
  Updated cotire, updated pch
  Added vitals.cfg DepletedFunction gets called once the vital reaches zero removed UnderFlowFunction since it was never used
2018-12-31 10:37:35 +01:00
turleypol
9cfb4ec5a5 moved pkt headers into network folder 2018-12-30 21:35:54 +01:00
turleypol
1c57ac43cf renamed all unicode speech functions for easier refactoring 2018-12-23 10:24:46 +01:00
turleypol
25dae4fc21 fixed namespaces of moved files 2018-12-22 00:32:47 +01:00
esdete
b9a31d3560 clang formatting 2018-07-31 16:16:19 +02:00
esdete
dc2d29b433 NULL to nullptr 2018-07-31 14:30:29 +02:00
Gabriele Tozzi
b72f725e02 Whitespace fixes 2018-04-03 04:13:03 +02:00
turleypol
3afc41241b
CMake on windows (#48)
CMake can now also be used for windows
2018-02-24 22:34:55 +01:00
turleypol
dbb25bdb62
Include and buildsystem cleanup (#45)
Include cleanup
Reworked buildsystem (Linux only)
Removed dynamic libs, Linux now again uses static linking (like windows)
2018-01-29 21:55:48 +01:00
turleypol
798eda5b63 Cleanup of header includes. 2018-01-01 21:52:14 +01:00
Jono@home
f60babb407 +Added: _DEFAULT_TEXT_REQUIREDCMD := 0 to uo.em which allows to set a minimum cmd level that broadcasts will be sent to.
~Changed:Broadcast( text, font := _DEFAULT_TEXT_FONT, color := _DEFAULT_TEXT_COLOR, requiredcmdlevel := _DEFAULT_TEXT_REQUIREDCMD ) adding requiredcmdlevel argument which allows you to set a minimum cmd level that the broadcast will be sent to.
~Changed: No longer require a PID for GetProcess( pid  := "" ), not selecting a PID will use the PID of the parent script.
2017-07-23 20:44:37 +08:00
turley
b3ce5e8ba2 removed deprecated files, fixed size estimate of EquipDesc 2017-01-15 19:03:41 +01:00
Boberski
087abf2624 Fixing clientflag for TOL extension 2016-12-20 01:08:35 +01:00
turley
c855a27815 Added new baseclass for uobject
contains only minimum data and can be created with arbritary data.
This reduces memory overhead for each los-check.
Plus minor cleanup
2016-12-12 22:21:59 +01:00
Boberski
909ddfd37e Add "Time of Legends" extension ident for polcore. 2016-11-29 12:57:36 +01:00
turley
f59ae94545 removed senseless function
corrected comparison
2016-03-27 00:22:44 +01:00
turley
189cad3479 Formating everything
Authors are not forced to use the clang-format setting, but should
atleast be inspired by the style.
The only thing which is now not allowed are tabs for ident/alignment!
2016-02-19 19:26:35 +01:00
turley
ed7b16b233 normalized lineendings 2016-02-11 22:54:43 +01:00
Gabriele Tozzi
d1ac902926 Documentation: reformatted headers for DoxyGen 2016-01-28 14:52:40 +01:00