Compare commits

..

606 Commits

Author SHA1 Message Date
MagicBot ab96cfcda4 Header update 2026-07-26 19:08:44 -04:00
MagicBot ea5132bdf0 Message sent elsewhere 2026-07-26 18:54:20 -04:00
MagicBot a7c97297dd Guild resent after tol abandoned 2026-07-26 18:36:40 -04:00
MagicBot a42bdbd533 Nation dislodged if abandoned 2026-07-26 18:04:43 -04:00
MagicBot a67bd0d90b Nation dislodged if abandoned 2026-07-26 18:03:16 -04:00
MagicBot 6f54df62c4 Nation dislodged if abandoned 2026-07-26 17:56:45 -04:00
MagicBot f787416ca4 R8 deranked if abandoned 2026-07-26 17:20:53 -04:00
MagicBot 6a946428bf Better handling of abandoned tols 2026-07-26 17:13:01 -04:00
MagicBot 19e6c182c0 Better handling of abandoned tols 2026-07-26 17:02:01 -04:00
MagicBot 46045895d7 Realm count updated properly. 2026-07-26 16:38:01 -04:00
MagicBot 4a217d1a6b Warehouse record needs cleanup 2026-07-25 19:07:30 -04:00
MagicBot d624dd25dd Guild state not needed on login server. 2026-07-25 18:51:50 -04:00
MagicBot ba74ad3395 Nation is never null 2026-07-20 10:52:05 -04:00
MagicBot cb81a3093d Checking for landed subguilds when setting nation 2026-07-20 06:57:39 -04:00
MagicBot 586031e810 bugfix for toll not loaded when tested 2026-07-20 06:48:58 -04:00
MagicBot e0291590d7 Update to guild state handling 2026-07-20 06:35:00 -04:00
MagicBot e12ee2436e MAndrake resource hash updated. 2026-07-16 15:14:26 -04:00
MagicBot 012303ac54 state set properly after dismissing guilds. 2026-05-11 08:42:54 -04:00
MagicBot a057fac68c Comment added 2026-05-11 03:59:22 -04:00
MagicBot 3aca40dc78 Province qualifies as nation too. 2026-05-11 03:58:31 -04:00
MagicBot 5f67c043c2 Cleaner implementation 2026-05-11 03:51:21 -04:00
MagicBot 258bef5cb3 Cleaned up bad logic in helper 2026-05-10 21:38:38 -04:00
MagicBot 3f91ef7409 Debug logging added to bootstrap 2026-05-10 21:12:18 -04:00
MagicBot 57ab356a3a Cleanup of guildstate on boot 2026-05-10 20:44:52 -04:00
MagicBot f7249ba656 Logic cleanup pass for protectorate logic 2026-05-10 18:45:37 -04:00
MagicBot 24eb9608c3 Logic cleanup pass for protectorate logic 2026-05-10 18:36:43 -04:00
MagicBot e4096bebbd Formatting cleanup 2026-05-10 13:41:35 -04:00
MagicBot 547060b7a6 Errant nation 2026-05-10 13:40:46 -04:00
MagicBot ba6738d27a Errant nation 2026-05-10 13:39:26 -04:00
MagicBot 06c6468013 Errant nation 2026-05-10 13:37:42 -04:00
MagicBot 548796994f Sovereign as still having a city. 2026-05-10 13:36:31 -04:00
MagicBot 580452d68b Method removed 2026-05-10 12:10:51 -04:00
MagicBot a570d127be Formatting update 2026-05-10 12:08:48 -04:00
MagicBot a949a08e30 Method unused and removed 2026-05-10 12:07:15 -04:00
MagicBot 412f7f956f More state work 2026-05-10 12:06:32 -04:00
MagicBot aea6869ca0 State set properly upon dismissal 2026-05-10 12:01:09 -04:00
MagicBot 950523ddcc State set properly upon dismissal 2026-05-10 11:58:50 -04:00
MagicBot 631989e626 Guild state set previously 2026-05-10 11:49:51 -04:00
MagicBot 12f6d7574d Refactored out method 2026-05-10 11:40:06 -04:00
MagicBot 85dcad1c2a Only press button once. 2026-05-10 11:03:33 -04:00
MagicBot defa0d8bb8 Only press button once. 2026-05-10 11:03:07 -04:00
MagicBot 85872b66da Response message was not being displayed 2026-05-10 10:50:48 -04:00
MagicBot 09c9dfbc06 Inlines method. upgraded protection 2026-05-10 10:36:27 -04:00
MagicBot d014aafe45 Guild state set properly when breaking fealty 2026-05-10 10:32:57 -04:00
MagicBot d331093acd Not a nation until two landed guilds sub. 2026-05-10 10:18:15 -04:00
MagicBot 75ea9de4e5 Text to client updated with state 2026-05-10 10:12:13 -04:00
MagicBot 13207c16f6 Text to client updated with state 2026-05-10 10:06:37 -04:00
MagicBot b625ea2707 Text to client updated with state 2026-05-10 09:51:30 -04:00
MagicBot 6f752935ab Refactored out updatestate call. 2026-05-10 09:49:30 -04:00
MagicBot 49005c6647 State being set manually 2026-05-10 09:32:07 -04:00
FatBoy b2bd3b7a92 cancel on take mele damage 2026-02-03 11:51:29 -06:00
FatBoy 461e4e1c3d roollback extra effect cancel on damage 2026-02-03 11:45:47 -06:00
FatBoy 0d1d00e2d1 cancel on take damage for mele dnont flip damage t negatove 2026-02-03 11:33:13 -06:00
FatBoy ec6825d651 cancel on take damage for mele 2026-02-03 11:31:42 -06:00
FatBoy cb561c3b6b validity check for not looking up damage type that doesn't exist 2026-02-03 11:15:24 -06:00
MagicBot cf0f0cf022 Enumeration for server configs. 2026-01-23 11:45:28 -05:00
MagicBot f85673e661 Enumeration for server configs. 2026-01-18 10:08:53 -05:00
MagicBot 84347f8290 statAlt used as offset to terrain. 2026-01-13 14:56:06 -05:00
MagicBot fd2fe92714 Unused methods 2026-01-10 08:45:18 -05:00
MagicBot 955b94eb08 Minor method ordering change 2026-01-10 08:39:13 -05:00
MagicBot a9aa6e9660 Reminder to add power collections later 2026-01-09 13:40:10 -05:00
MagicBot afc080074f Enums needed to support parser. 2026-01-09 13:32:37 -05:00
MagicBot 1039fb1d0b Bonus code added to ConfigManager 2026-01-09 13:26:07 -05:00
MagicBot a955778eed Merge remote-tracking branch 'origin/magicbox-1.5.2.1' into magicbox-1.5.2.1 2026-01-09 13:16:26 -05:00
MagicBot 7717707518 wpak parser added to project 2026-01-09 13:12:40 -05:00
FatBoy 28836a7a4f log null blueprint in destroy city thread 2026-01-08 12:38:42 -06:00
FatBoy 5511dc7899 update lumber hash in mbEnums 2026-01-08 11:53:54 -06:00
FatBoy e5b2247204 disable teleports to cities that are destroyed or errant 2026-01-08 11:52:52 -06:00
FatBoy 0404ca1a94 Allow management of guild mines that are still active 2026-01-08 11:51:12 -06:00
MagicBot 9ad5f239b0 No modtable defaults to workorder. 2024-07-22 16:54:11 -04:00
MagicBot 3db8ee7afd Forge validation for modtables updated. 2024-07-22 16:37:27 -04:00
FatBoy f07974f673 dual wield spam attack issue resolved 2024-07-21 19:46:06 -05:00
FatBoy 0d5cef1652 guilds that have sub guilds can no longer be invited to join nations 2024-07-21 19:36:17 -05:00
FatBoy 04203c092a Lowering stats below item requirement unequips and removes item from map correctly 2024-07-21 19:32:16 -05:00
FatBoy 78feee482b items can now be equipped when skill level exactly meets item requirement 2024-07-21 19:23:34 -05:00
FatBoy 8c35844e08 Huntress pet cannot attack players resolved 2024-07-21 19:16:57 -05:00
FatBoy 0fbb43e021 proc fix 2024-07-12 13:43:28 -04:00
MagicBot 145449f26d Bronzewood mine_production updated. 2024-06-29 14:33:19 -04:00
FatBoy feef6263b4 cleanup 2024-06-27 20:41:43 -05:00
FatBoy 6c622c377f blocked power type structuring 2024-06-27 20:19:11 -05:00
FatBoy 8943121336 blocked power type structuring 2024-06-27 19:54:29 -05:00
FatBoy 70cb469190 final cleanup 2024-06-26 20:44:46 -05:00
FatBoy a42f307a70 immunitiy check compiled to single location 2024-06-26 20:37:28 -05:00
FatBoy 2a3ae6eaec Immunities refresh 2024-06-26 20:24:05 -05:00
FatBoy 9e4b596aa1 enforce KOS for building works 2024-06-26 20:07:37 -05:00
FatBoy aa1fe792a3 Load enforceKOS for buildings 2024-06-26 19:57:50 -05:00
FatBoy 79919121a8 claiming an errant ToL gives ownership to the leader of the guild, not individual player 2024-06-26 19:44:23 -05:00
FatBoy 80ccfff635 Building Management compiled to a single method check 2024-06-26 19:27:32 -05:00
MagicBot 381139af35 Collection of resourceHash 2024-06-26 12:31:08 -04:00
MagicBot e79da63556 Method cleanup. 2024-06-24 03:18:59 -04:00
MagicBot 533565e37e UUID is in keyset 2024-06-24 03:09:38 -04:00
FatBoy da0510d2bc proccing system 2024-06-22 19:50:53 -05:00
FatBoy 1f732a8ca9 failed rune sno longer get consumed 2024-06-22 19:31:13 -05:00
FatBoy 0d24789a93 reverse KOS function completed 2024-06-22 19:22:13 -05:00
FatBoy 35427cfb4a reverse KOS function 2024-06-22 19:04:04 -05:00
MagicBot 695a78b1e2 Noob island filter at 20 2024-06-19 17:57:28 -04:00
MagicBot 9f6710ccb9 More logic work 2024-06-19 17:51:42 -04:00
MagicBot fff1e80f61 More logic work 2024-06-19 17:49:46 -04:00
MagicBot 141af19daa More logic work 2024-06-19 17:38:44 -04:00
MagicBot 630748541f More logic work 2024-06-19 17:36:09 -04:00
MagicBot d32818f351 Rearrange logic 2024-06-19 17:27:04 -04:00
MagicBot d6f94bd0e7 Merged methods 2024-06-19 17:10:49 -04:00
MagicBot db6a4e471d Lore rules added to method 2024-06-19 17:08:56 -04:00
MagicBot a24c611bac Lore rules added to method 2024-06-19 17:01:02 -04:00
MagicBot 3926160ab1 Unused method removed 2024-06-19 16:56:57 -04:00
MagicBot 4a7013de61 Signature update 2024-06-19 16:56:06 -04:00
MagicBot 56564f1c3b Cleanup of teleport list 2024-06-19 16:53:55 -04:00
MagicBot 8a3e39e97d Cleanup of cityChoice handler 2024-06-19 15:05:01 -04:00
MagicBot 5224c79441 Condemned uuid is key not value in map 2024-06-19 14:53:57 -04:00
MagicBot ede016a93d Never null 2024-06-19 14:43:31 -04:00
MagicBot cc1825dec9 Increase to handle larger banks. 2024-06-18 12:43:59 -04:00
MagicBot d257ce50cf Sanity check for null city. 2024-06-18 11:56:19 -04:00
MagicBot 5b246211e1 Warehouse record removed in destruction banes. 2024-06-18 11:51:11 -04:00
FatBoy 33c923b0de fixed immunities in powers manager 2024-06-13 20:47:28 -05:00
FatBoy 02d524663a fixed a lore issue in powers manager 2024-06-13 20:14:43 -05:00
MagicBot 5bd85addb7 Removed count when validating stack withdraw weight. 2024-06-13 15:42:54 -04:00
FatBoy 40bae67443 fixed mob damage defense and ATR 2024-06-12 19:35:20 -05:00
FatBoy 1cf1d731c4 added = to range checks and converted speed to float 2024-06-12 19:23:34 -05:00
MagicBot 24215e21c9 Sanity check for deleted vendors 2024-06-12 14:15:19 -04:00
MagicBot 3accd779b9 Sanity check for deleted vendors 2024-06-12 14:06:18 -04:00
MagicBot 1d673ca2e5 Sanity check for deleted vendors 2024-06-12 14:04:19 -04:00
MagicBot c935ea1986 Project reformat. 2024-06-11 13:40:42 -04:00
MagicBot 678ccafd3c Unused variable removed. 2024-06-11 13:23:49 -04:00
MagicBot 31292785a5 templateHash used in this context. 2024-06-11 13:09:40 -04:00
MagicBot cdc4717033 Update to resources message 2024-06-11 12:54:57 -04:00
MagicBot 35c8ac0289 Update to resources message 2024-06-11 12:53:07 -04:00
MagicBot f5cc4a3290 Update to resource type 2024-06-10 15:19:57 -04:00
FatBoy 74bd7ddb8b attack speed calculation handled correctly 2024-05-31 19:02:59 -05:00
FatBoy 4feb95131c early exit for pets attacking a null target 2024-05-31 18:34:27 -05:00
FatBoy d22ba7b89d early exit for pets attacking a null target 2024-05-31 18:32:53 -05:00
FatBoy 722fd14be5 character should now play swing animation everytime he tried to swing regardless of early exits 2024-05-31 18:29:59 -05:00
FatBoy 12e73d59c7 apply weapon powers before early exit for defense of passives 2024-05-31 18:26:36 -05:00
FatBoy 5c70f15064 check player agro map for key before tryign to assign to it 2024-05-31 18:23:34 -05:00
MagicBot 8ca641f353 Return 0 for null table entry. 2024-05-31 07:41:25 -04:00
FatBoy 0f9500a0d7 swing animation for miss 2024-05-29 18:39:24 -05:00
FatBoy 0d51afb737 pet damage adjustment 2024-05-28 19:28:41 -05:00
FatBoy 60e331de1a animation work 2024-05-28 19:12:00 -05:00
FatBoy 4a554b0d61 animation work 2024-05-28 19:09:46 -05:00
FatBoy 3f3d85fb36 animation work 2024-05-28 18:55:54 -05:00
MagicBot d2d655a839 Null check for vendor workorder lookup. 2024-05-28 18:31:16 -04:00
FatBoy 0096b8051c updated range chack and hitbox calculations 2024-05-27 19:59:35 -05:00
FatBoy 86102c8933 updated range chack and hitbox calculations 2024-05-27 19:50:52 -05:00
FatBoy f06e2c2e5c traveller open gate fix 2024-05-26 22:36:12 -05:00
FatBoy 74b425e567 casting fix for lore rulesets 2024-05-26 22:20:30 -05:00
FatBoy 22c8cdcf65 fixed pet attack and null weapon combat issue 2024-05-26 22:00:52 -05:00
FatBoy 7ed026f088 machine gun combat fixed 2024-05-26 21:49:36 -05:00
FatBoy 232c381e96 early exit for attack timer 2024-05-26 21:41:59 -05:00
FatBoy 69ea460d5e early exit for attack timer 2024-05-26 20:31:22 -05:00
FatBoy cbe9a30590 corrected convention for naming auto attack job 2024-05-26 20:17:15 -05:00
FatBoy 1bbbc396bd handle destory or derank for buildings 2024-05-22 20:49:33 -05:00
FatBoy 8601f9fcd5 special animation case for Siege Bow 2024-05-22 19:52:21 -05:00
FatBoy 7f029fd0e2 invalid range check for ranged characters attacking a building 2024-05-22 19:45:16 -05:00
FatBoy cc7188b404 invalid range check for ranged characters attacking a building 2024-05-22 19:40:25 -05:00
FatBoy aa0621bb02 bane live processing with vulnerable buildings 2024-05-22 19:27:44 -05:00
FatBoy b4ff1a3f7f swing animation lookup 2024-05-17 20:34:26 -05:00
FatBoy 9d6b1dcf60 swing animation lookup 2024-05-17 20:22:56 -05:00
FatBoy 6e123ecb86 swing animation lookup 2024-05-17 20:17:17 -05:00
FatBoy 2b8b9464af swing animation lookup 2024-05-17 20:09:46 -05:00
FatBoy cd8099b42f noob island guard aggro 2024-05-17 20:01:39 -05:00
FatBoy 2cdcba47a5 noob island guard aggro 2024-05-17 19:57:18 -05:00
FatBoy b7b4623c75 noob island guard aggro 2024-05-17 19:53:39 -05:00
FatBoy 2d958b929d noob island guard aggro 2024-05-17 19:50:44 -05:00
FatBoy e8f0e9f5de noob island guard aggro 2024-05-17 19:50:09 -05:00
FatBoy 03f0f3fcf0 noob island guard aggro 2024-05-17 19:41:26 -05:00
FatBoy 65db64d3df null spam fix for hamlet guards 2024-05-16 19:41:06 -05:00
FatBoy 5a25958aa5 cannot teleport od repledge to perdition or bastion 2024-05-14 19:35:37 -05:00
FatBoy 1f8c5495ab repledge work 2024-05-14 19:28:19 -05:00
FatBoy a54aa03ade can always teleport and repledge to your own nation 2024-05-14 19:22:31 -05:00
FatBoy e82445fcd2 teleport and repledge inside your own nation 2024-05-14 19:14:40 -05:00
FatBoy 9e9716fc88 Lore Teleport list and repledge list construction 2024-05-14 19:10:01 -05:00
FatBoy 4f01da368c Lore Guard AI Aggro 2024-05-14 18:49:30 -05:00
FatBoy 93c4103f61 Lore Mob AI Aggro 2024-05-14 18:42:38 -05:00
MagicBot f8180a7000 Removed custom exception candy 2024-05-12 13:42:11 -04:00
MagicBot 634f1478ce Removed custom exception candy 2024-05-12 13:36:47 -04:00
MagicBot 7335946c10 Removed 4 squigglies 2024-05-12 13:31:05 -04:00
MagicBot fb4eea67ed Comment cleanup 2024-05-12 13:18:51 -04:00
MagicBot 96ba17f67a DispatchManager is now an official manager singleton. 2024-05-12 13:14:42 -04:00
MagicBot ff17cacda7 magicvalue update 2024-05-12 12:54:11 -04:00
MagicBot 4d6ce2b155 Update to value in item rs constructor 2024-05-12 12:06:30 -04:00
MagicBot b2c9331899 Unused variables removed 2024-05-12 11:57:26 -04:00
MagicBot 1cb01b1cce Unused field removed 2024-05-12 11:55:12 -04:00
MagicBot e79fd0c3b4 Unused method removed 2024-05-12 11:46:28 -04:00
MagicBot 6dd1d97be5 Comment cleanup 2024-05-12 11:34:22 -04:00
MagicBot 805034e30b Comment cleanup 2024-05-12 11:32:00 -04:00
MagicBot 9646964698 TODO touchup 2024-05-12 11:31:25 -04:00
MagicBot 9ffaf96017 recalc magic value 2024-05-12 11:24:01 -04:00
MagicBot ce98f80b85 recalc magic value 2024-05-12 11:22:12 -04:00
MagicBot f683201086 recalc magic value 2024-05-12 11:18:22 -04:00
MagicBot 4796f7042d Bugfix in update_value 2024-05-12 11:09:45 -04:00
MagicBot 94ff3cf222 New rolling duration method moved to manager singleton. 2024-05-12 08:14:06 -04:00
MagicBot 174be35cac Comment cleanup 2024-05-12 07:17:31 -04:00
MagicBot ba266e506a Comment cleanup 2024-05-12 07:15:55 -04:00
MagicBot 4123157b92 Comment cleanup 2024-05-11 13:12:10 -04:00
MagicBot 7bb9aeacf7 Comment cleanup 2024-05-11 11:06:07 -04:00
MagicBot 1eda55a3f1 Serialization update 2024-05-11 11:01:49 -04:00
MagicBot f670e3143c Serialization update 2024-05-11 10:52:31 -04:00
MagicBot d55b57f7d0 Flag testing 2024-05-11 10:46:34 -04:00
MagicBot ea2f6f4593 Remove from dbManager cache 2024-05-11 09:37:23 -04:00
MagicBot b592f050c2 convention is == false 2024-05-11 09:33:54 -04:00
MagicBot 25f522c539 Make sure no memory leaks 2024-05-11 09:25:57 -04:00
MagicBot e89404abda json and string methods updated 2024-05-11 09:19:29 -04:00
MagicBot ad2cde9d85 Atomic instead of volatile to match counter 2024-05-11 09:16:48 -04:00
MagicBot ba94fabfb8 Atomic instead of volatile to match counter 2024-05-11 09:15:11 -04:00
MagicBot f7ab38e9a8 Comment updated 2024-05-11 09:02:54 -04:00
MagicBot 0d97fa614b Equals and hash overrides for workObject 2024-05-11 08:57:26 -04:00
MagicBot 6878916874 Update to workOrder cleanup 2024-05-11 08:51:41 -04:00
MagicBot c545468f26 Update to workOrder cleanup 2024-05-11 08:49:44 -04:00
MagicBot 7993fb22d2 Thread consistency for these 2024-05-11 08:33:34 -04:00
MagicBot 19bdb89c0f Unused variable removed 2024-05-11 08:30:32 -04:00
MagicBot 6b0b0cc357 Workorder set to completed when redeeding. 2024-05-11 08:07:04 -04:00
MagicBot bc1ae9a2c9 Minor cleanup 2024-05-11 08:02:19 -04:00
MagicBot 408e3a45ca Workorders cleared with hireling removal. 2024-05-11 07:51:56 -04:00
MagicBot 52e0b5be4d Minor cleanup 2024-05-11 07:31:09 -04:00
MagicBot 161335da26 Comment cleanup 2024-05-10 10:12:45 -04:00
MagicBot 7f1bc2a4b7 Update to workOrder loading. 2024-05-10 09:50:14 -04:00
MagicBot e37a4fab38 Update to workOrder loading. 2024-05-10 09:44:11 -04:00
MagicBot 2760a45d2f Early exit moved to run() 2024-05-10 09:39:43 -04:00
MagicBot 77673fde5f completed workOrders handling update 2024-05-10 09:34:58 -04:00
MagicBot 5fd4e5a088 Early exit for no avail slots 2024-05-09 14:50:47 -04:00
MagicBot b01b62ac3d Withdraw logic cleanup 2024-05-09 14:40:40 -04:00
MagicBot 7193ff7698 Withdraw logic cleanup 2024-05-09 14:12:55 -04:00
MagicBot dd72e20ff9 Withdraw logic cleanup 2024-05-09 14:04:19 -04:00
MagicBot f465ea4045 Withdraw logic cleanup 2024-05-09 11:32:26 -04:00
MagicBot 973dfc94f7 Withdraw logic cleanup 2024-05-09 11:31:12 -04:00
MagicBot a5255bcf11 Simplify total cost calc 2024-05-08 15:40:35 -04:00
MagicBot ec35228de9 Beardstyle bugfix 2024-05-08 13:31:47 -04:00
MagicBot 47a93f6545 sql parm count fix 2024-05-06 13:56:18 -04:00
MagicBot 0cff40070b Realm derived not stored 2024-05-06 13:33:28 -04:00
FatBoy 3f3fb53675 hamlet guard aggro 2024-05-05 19:45:46 -05:00
FatBoy b198dbcc09 Added ./setrace command 2024-05-04 21:39:35 -05:00
FatBoy 60b8843563 Added ./setrace command 2024-05-04 21:38:06 -05:00
MagicBot eff8be91d6 Comment cleanup 2024-05-04 13:38:38 -04:00
MagicBot 55e2d3fb5e Class cleanup 2024-05-04 13:33:33 -04:00
MagicBot a6f417d9cc Comment cleanup 2024-05-04 13:23:33 -04:00
MagicBot 7b1b09dc40 Comment cleanup 2024-05-04 13:20:26 -04:00
MagicBot 5724608005 Class cleanup 2024-05-04 13:18:34 -04:00
MagicBot f5d410f868 typo fixed contextually 2024-05-04 12:58:46 -04:00
MagicBot a5c1422534 unused variable removed 2024-05-04 12:55:51 -04:00
MagicBot 6df0e5625c Class cleanup. 2024-05-04 12:53:06 -04:00
MagicBot 5de932b095 Comment updated. 2024-05-04 12:41:45 -04:00
MagicBot db7d606b36 Devcmd removed. 2024-05-04 12:31:25 -04:00
FatBoy 30d302c43e Lore Guards use charter restrictions when aggroing 2024-04-30 21:45:28 -05:00
FatBoy 95cfc43956 debug option added in canJoin for charter type 2024-04-28 13:49:14 -05:00
FatBoy 7c8d78581e debug option added in canJoin for charter type 2024-04-28 13:46:35 -05:00
FatBoy 6f4a9f7d1a debug option added in canJoin for charter type 2024-04-28 13:44:35 -05:00
FatBoy 7a5569ab89 return guild charter type 2024-04-28 13:39:24 -05:00
FatBoy 042f7c675f cleanup dbEffectsResourceCostHandler 2024-04-28 13:28:53 -05:00
MagicBot 3c4d8239db Charter template id is stored not ordinal 2024-04-28 14:18:13 -04:00
MagicBot 4f20cc9aba Comment update. 2024-04-28 13:56:03 -04:00
MagicBot 34812694b7 Comparison fix 2024-04-28 13:49:21 -04:00
MagicBot 0bbbcbaa81 Removed squiggles 2024-04-28 13:44:35 -04:00
FatBoy 72172b9f05 GuildType lookup work 2024-04-28 12:40:53 -05:00
MagicBot 1876e09b48 method for populating lookup table 2024-04-28 13:34:45 -04:00
MagicBot 31c83f2bb5 upgraded protection for variables 2024-04-28 13:26:07 -04:00
MagicBot 065aa34652 Update to type constructor 2024-04-28 13:23:52 -04:00
FatBoy 8bbaae418d fix for player guild checks 2024-04-28 12:05:56 -05:00
FatBoy 10db850de4 replace == "LORE" with .equals("LORE") 2024-04-28 11:58:55 -05:00
FatBoy 753c3686ea Added MB Dev Notes 2024-04-28 11:44:28 -05:00
FatBoy f4bd928796 Lore check for telport and repledge 2024-04-28 11:34:03 -05:00
MagicBot 916a12a434 City realm id lookup not db load 2024-04-27 11:32:05 -04:00
MagicBot 3a8521683b Bootstrap logging info update 2024-04-27 09:32:25 -04:00
MagicBot df4d5a654f Comment cleanup 2024-04-27 08:58:28 -04:00
MagicBot 7fb5d7d23d Comment cleanup 2024-04-27 08:53:50 -04:00
MagicBot a7c9a15405 Comment cleanup 2024-04-27 08:47:04 -04:00
MagicBot b3b115e9ba Comment cleanup 2024-04-27 08:37:20 -04:00
MagicBot 1b5a64d8fc Minor cleanup 2024-04-27 08:17:43 -04:00
MagicBot 01f0e25e08 Minor cleanup 2024-04-27 08:17:17 -04:00
MagicBot 0782814c8e Update to junk handling 2024-04-27 08:14:31 -04:00
MagicBot 111ba02289 Merge remote-tracking branch 'refs/remotes/origin/feature-workorder2.8' into magicbox-1.5.2.1 2024-04-27 07:28:55 -04:00
MagicBot f09a7d4d12 Unused method removed 2024-04-27 07:27:03 -04:00
MagicBot e1e72b71bd Better name for context 2024-04-27 07:24:57 -04:00
MagicBot 4dce2e2aa2 Comment cleanup 2024-04-27 07:22:20 -04:00
MagicBot 743c897254 total_to_produce updated when slot removed from workOrder 2024-04-27 07:18:24 -04:00
MagicBot f134f71695 Squiggly removal 2024-04-27 07:07:59 -04:00
MagicBot 91016dd53c Cleanup in bane handling 2024-04-27 07:06:39 -04:00
FatBoy 39d04188b4 cleanup old rune handler in ObjectActionMsgHandler 2024-04-26 19:10:56 -05:00
FatBoy c99433c9bd missing case for type RUNE in ObjectActionMsgHandler 2024-04-26 19:07:33 -05:00
FatBoy 6cc94e076d promoting was attempting to use players promotion class (which is null) 2024-04-26 19:00:12 -05:00
MagicBot f294e48140 Null check added for city 2024-04-26 16:15:16 -04:00
MagicBot c25f325f87 Null check added for city 2024-04-26 16:15:07 -04:00
MagicBot ac0c11cb46 Comment cleanup 2024-04-26 15:56:04 -04:00
MagicBot 79e86e0a6f Comment cleanup 2024-04-26 15:43:45 -04:00
MagicBot 46f35f0b10 Minor update to keyset() usages 2024-04-26 15:37:37 -04:00
MagicBot 1b20201f8d MB Dev note added 2024-04-26 15:32:17 -04:00
MagicBot 0d744d900c MB Dev note added 2024-04-26 15:12:53 -04:00
MagicBot 9a8e0bd5c9 Comment cleanup 2024-04-26 15:10:49 -04:00
MagicBot 6b6be80fa8 Comment cleanup 2024-04-26 15:02:19 -04:00
MagicBot c2152432ce Comment cleanup 2024-04-26 15:00:03 -04:00
MagicBot 9348852e2c Comment cleanup 2024-04-26 14:57:02 -04:00
MagicBot 4b67f97ded MB Dev Notes added 2024-04-26 08:21:15 -04:00
MagicBot 2a9463be4e camelCase 2024-04-26 08:14:16 -04:00
MagicBot 67bc13dcde MB Dev Notes added to critical classes. 2024-04-26 08:09:07 -04:00
MagicBot 7d6407fbf5 comment cleanup 2024-04-25 20:26:13 -04:00
MagicBot 7b6f5f752b comment cleanup 2024-04-25 20:25:16 -04:00
MagicBot ef43211103 comment cleanup 2024-04-25 20:24:15 -04:00
MagicBot b312904548 comment cleanup 2024-04-25 20:22:55 -04:00
MagicBot 3b1db51a5e comment cleanup 2024-04-25 20:22:29 -04:00
MagicBot 17011de201 comment cleanup 2024-04-25 19:59:15 -04:00
MagicBot f03edf5c5d comment cleanup 2024-04-25 19:57:56 -04:00
MagicBot 320f06e1db comment cleanup 2024-04-25 10:08:27 -04:00
MagicBot 78480ca3dd comment cleanup 2024-04-25 10:06:55 -04:00
MagicBot 2e5f8701df comment cleanup 2024-04-25 10:04:58 -04:00
MagicBot 3a514dc771 comment cleanup 2024-04-25 10:03:37 -04:00
MagicBot c0b93ff809 comment cleanup 2024-04-25 09:51:34 -04:00
MagicBot 31037c9324 comment cleanup 2024-04-25 09:47:58 -04:00
MagicBot 2464deb3f3 comment cleanup 2024-04-25 09:41:02 -04:00
MagicBot dbf42bfbef json fix in constructor 2024-04-25 09:39:03 -04:00
MagicBot e80cdc192d Update to withdraw calc 2024-04-25 09:33:47 -04:00
MagicBot 9850b54981 Comment cleanup 2024-04-25 09:22:50 -04:00
MagicBot a3a30f3f8a Comment cleanup 2024-04-25 09:02:52 -04:00
MagicBot 4d0018b176 Comment cleanup 2024-04-25 08:51:33 -04:00
MagicBot a9dcac0ad7 Comment cleanup 2024-04-25 08:49:59 -04:00
MagicBot adaa521bf5 Comment cleanup 2024-04-25 08:49:13 -04:00
MagicBot 0fe04041f6 Workorder method moved to workorder 2024-04-25 08:42:20 -04:00
MagicBot 9dd2e1d5e5 Comment cleanup 2024-04-25 08:41:23 -04:00
MagicBot 81d6054982 Debit building first then warehouse 2024-04-25 07:44:19 -04:00
MagicBot ff2e381999 Update to validation order. 2024-04-24 13:47:25 -04:00
MagicBot e1d43ce0d0 Expand scope of try block. 2024-04-24 13:44:22 -04:00
MagicBot a906e30931 Setting containertype. 2024-04-24 13:36:32 -04:00
MagicBot 6a17f93e41 Setting containertype. 2024-04-24 13:13:48 -04:00
MagicBot 1edd4d681b Update to protection check. 2024-04-23 15:14:43 -04:00
MagicBot 911698a7e3 Method moved to WorkOrder 2024-04-23 15:11:56 -04:00
MagicBot 4fa646ce94 New costmap data implemented 2024-04-23 15:05:03 -04:00
MagicBot bcb40fecbb Loading effect costmap data at bootsrap 2024-04-23 14:56:30 -04:00
MagicBot 147b9a42c4 Costmap data generated; removed from bootstrap 2024-04-23 14:41:34 -04:00
MagicBot 81f86ceca9 Code written to refactor db call out of effect costs. 2024-04-23 14:36:01 -04:00
MagicBot e2dbc19adc Code written to refactor db call out of effect costs. 2024-04-23 14:31:08 -04:00
MagicBot d590511035 Code written to refactor db call out of effect costs. 2024-04-23 14:27:12 -04:00
MagicBot f48b9f10e1 Code written to refactor db call out of effect costs. 2024-04-23 14:25:19 -04:00
MagicBot 2607962038 Minor cleanup 2024-04-23 13:40:51 -04:00
MagicBot 4e05c2ab74 Warehouse debit work 2024-04-23 13:38:35 -04:00
MagicBot 6cbcef00aa Serialization update 2024-04-23 13:27:01 -04:00
MagicBot a76fd9f319 Update to identify assignment 2024-04-23 13:20:34 -04:00
MagicBot 8d7d3227cb Update to submit logging 2024-04-23 13:15:15 -04:00
MagicBot 9102fe1f6c Update to single item rolling config 2024-04-23 13:12:49 -04:00
MagicBot d999d00755 Rebuild of ./createitem 2024-04-23 12:42:12 -04:00
MagicBot a7e953ac20 Rebuild of ./createitem 2024-04-23 12:41:10 -04:00
MagicBot 46b4c110e5 Rebuild of ./createitem 2024-04-23 12:38:49 -04:00
MagicBot 30787f7ae2 Remnants of old garbage system removed 2024-04-23 12:25:26 -04:00
MagicBot 9de1afa0fd Comment update 2024-04-23 12:15:26 -04:00
MagicBot 9efba13b03 Simplified lambda function 2024-04-23 12:14:31 -04:00
MagicBot d7ac838b6d Simplified lambda function 2024-04-23 12:11:04 -04:00
MagicBot 50a169149f Resubmit unfinished workorders 2024-04-22 16:33:29 -04:00
MagicBot de65f6bcef Bugfix in pre/suf parsing 2024-04-22 16:28:02 -04:00
MagicBot 2adaff8f66 workOrderID added to output 2024-04-22 16:21:00 -04:00
MagicBot e8032f65d1 Loading workorders at bootstrap 2024-04-22 16:14:10 -04:00
MagicBot e710cf0930 Loading workorders at bootstrap 2024-04-22 16:12:26 -04:00
MagicBot 286a76b1de More workorder loading work 2024-04-22 16:07:25 -04:00
MagicBot 73e30062ea Method to load workorders on bootstrap 2024-04-22 16:02:22 -04:00
MagicBot 7300af9073 Method to load workorders on bootstrap 2024-04-22 15:49:57 -04:00
MagicBot 2a2b61bc0f Method to load workorders on bootstrap 2024-04-22 15:43:13 -04:00
MagicBot 89c3eb4d47 New workorder constructor 2024-04-22 15:34:57 -04:00
MagicBot c03f464043 More workorder db work 2024-04-22 15:12:46 -04:00
MagicBot 7b7492b5cc Workokrders updates as they cycle 2024-04-22 15:09:43 -04:00
MagicBot 684a5459b3 Worker saved upon submit 2024-04-22 15:02:15 -04:00
MagicBot bb5904552a Worker saved upon submit 2024-04-22 14:57:00 -04:00
MagicBot fb9d65b54d Method to save workorders to disk created 2024-04-22 14:55:46 -04:00
MagicBot a53848334f id is key not saved in json 2024-04-22 14:47:42 -04:00
MagicBot 19c6cd76a9 Warehouse updated for org.json 2024-04-22 13:43:22 -04:00
MagicBot d92b1c7473 Helpee and groupee parsing 2024-04-22 13:38:04 -04:00
MagicBot 07a5de2c57 Helpee and groupee parsing 2024-04-22 13:33:03 -04:00
MagicBot d0a837783e Update to sparsetype parsing 2024-04-22 13:23:18 -04:00
MagicBot 576f4af433 Update to sparsetype parsing 2024-04-22 13:18:41 -04:00
MagicBot 8ce81b144a Update to sparsetype parsing 2024-04-22 13:01:25 -04:00
MagicBot fcbb9b0cf1 Update to sparsetype parsing 2024-04-22 12:56:01 -04:00
MagicBot 4f115291eb No some are longs 2024-04-22 12:50:45 -04:00
MagicBot 79079e200a Bitvectors use int not long for mb 2024-04-22 12:48:03 -04:00
MagicBot dbab8f66da Migration to org.json 2024-04-22 12:42:52 -04:00
MagicBot 1d847d781b Migration to org.json 2024-04-22 12:34:57 -04:00
MagicBot 7604b7b07f Migration to org.json 2024-04-22 12:20:53 -04:00
MagicBot 8818282341 Migration to org.json 2024-04-22 11:49:41 -04:00
MagicBot 475ccaff0c Migration to org.json 2024-04-22 09:32:20 -04:00
MagicBot ba47b30673 Migration to org.json 2024-04-22 09:21:46 -04:00
MagicBot d557e30716 Workorder to json work 2024-04-22 08:57:02 -04:00
MagicBot 6499a16cc2 Workorder to json work 2024-04-22 08:53:33 -04:00
MagicBot a851d9a6ec Workorder to json work 2024-04-22 08:40:20 -04:00
MagicBot c09ae5d32f Workorder to json work 2024-04-22 08:35:58 -04:00
MagicBot 27d140f703 Junk or completion removes slot from workOrder 2024-04-22 08:28:43 -04:00
MagicBot 41aefa4a48 Comment cleanup 2024-04-22 08:20:02 -04:00
MagicBot 4723eb4bf2 Serialization update. 2024-04-22 07:56:25 -04:00
MagicBot 28c6953c3d Serialization update. 2024-04-22 07:54:03 -04:00
MagicBot 746a95e7d5 Overflow calc updated 2024-04-22 07:44:47 -04:00
MagicBot 0e7336b8c6 Concurrency update 2024-04-22 07:35:59 -04:00
MagicBot 11013bcd07 Reformat for easier debugging 2024-04-22 01:13:26 -04:00
MagicBot 63c7fb08e0 Concurrency update 2024-04-22 00:46:59 -04:00
MagicBot 6f39767fb4 Concurrency update 2024-04-22 00:37:49 -04:00
MagicBot 2de1f78f22 Slot tracking update 2024-04-22 00:25:16 -04:00
MagicBot 98b73d978a Slot tracking update 2024-04-22 00:19:29 -04:00
MagicBot 5a62361edd Slot tracking update 2024-04-22 00:10:32 -04:00
MagicBot 127f80054f Slot tracking update 2024-04-22 00:03:03 -04:00
FatBoy 41b1718df1 use delay for attacks for players 2024-04-21 13:19:50 -05:00
MagicBot d3b1cf9928 Comment update 2024-04-21 14:10:35 -04:00
MagicBot 7f8c297ae2 City check moved outside of validation 2024-04-21 14:08:27 -04:00
FatBoy 979cd70d65 update class type when promoting 2024-04-21 13:04:47 -05:00
FatBoy 35945f7542 equipping bug 2024-04-21 12:53:38 -05:00
FatBoy 84233ecdd6 use of proper animations 2024-04-21 12:43:23 -05:00
FatBoy 4d601f13a0 Merge remote-tracking branch 'origin/feature-workorder2.7' into feature-workorder2.7 2024-04-21 12:22:02 -05:00
FatBoy 1911de0757 random animation for weapon powers 2024-04-21 12:21:34 -05:00
MagicBot e00871324e Float fix 2024-04-21 13:21:00 -04:00
MagicBot 0286b63a8e Class reformat 2024-04-21 12:56:41 -04:00
FatBoy a84c712110 random animation for weapon powers 2024-04-21 11:52:47 -05:00
FatBoy 8e93e82526 random animation for weapon powers 2024-04-21 11:50:04 -05:00
FatBoy 67bf8c2b11 animation combat cleanup 2024-04-21 11:46:45 -05:00
FatBoy b8dbcb62db early exit for combat cycle 2024-04-21 11:21:40 -05:00
FatBoy bb5d257ae8 early exit for out of stam when attacking 2024-04-21 11:14:10 -05:00
MagicBot 2391bd6606 Unused method removed 2024-04-21 11:54:17 -04:00
MagicBot dc83bee227 File reformat 2024-04-21 11:40:27 -04:00
MagicBot 3ff7414fb4 Rework of item forge method collection usage 2024-04-21 11:39:59 -04:00
MagicBot 1e5790e6b9 Rework of item forge method collection usage 2024-04-21 08:23:58 -04:00
MagicBot 364fb40e0b junk, complete and produce wrapped with same lock as warehouse. 2024-04-20 16:52:24 -04:00
MagicBot 6a72a83076 Must be in a building and in city 2024-04-20 16:22:22 -04:00
MagicBot a83008ea4f Removed bypass in prep for db load. 2024-04-20 16:00:58 -04:00
MagicBot 89f672e0b0 json constructor for workOrders 2024-04-20 15:58:01 -04:00
MagicBot cc324777d1 Warehouse withdraws are persisted 2024-04-20 15:54:31 -04:00
MagicBot 692e7ec416 Comment cleanup 2024-04-20 13:35:04 -04:00
MagicBot 6cba850af5 Class cleanup and comment fixes 2024-04-20 13:26:44 -04:00
MagicBot f3e266cf46 Class cleanup 2024-04-20 13:21:53 -04:00
MagicBot ac347db0c8 debitWorkOrderCost method created 2024-04-20 13:05:19 -04:00
MagicBot 70e6756651 debitWorkOrderCost method created 2024-04-20 13:01:21 -04:00
MagicBot a46205b67b Uses mainline cache for virtual items 2024-04-20 12:45:05 -04:00
MagicBot 80aa413ea8 Methods moved to itemmanger 2024-04-20 12:37:55 -04:00
MagicBot 98d03620bc Persisting effects in complete item 2024-04-20 12:33:55 -04:00
MagicBot cca4521c93 Item prefix and suffix applied 2024-04-20 12:28:30 -04:00
MagicBot a859150a20 Item prefix and suffix applied 2024-04-20 12:17:37 -04:00
MagicBot d64bd193d8 Item prefix and suffix applied 2024-04-20 12:13:33 -04:00
MagicBot d0df406236 Item prefix and suffix applied 2024-04-20 11:53:53 -04:00
MagicBot 92c8430031 Item prefix and suffix applied 2024-04-20 11:13:31 -04:00
MagicBot 99671697ba Item prefix and suffix applied 2024-04-20 11:05:30 -04:00
MagicBot 171c79dcf6 Item prefix and suffix applied 2024-04-20 11:02:35 -04:00
MagicBot 726d471e95 Item prefix and suffix applied 2024-04-20 10:57:51 -04:00
MagicBot c0ed59f14f Item prefix and suffix applied 2024-04-20 10:43:39 -04:00
MagicBot c19c516669 Item prefix and suffix applied 2024-04-20 10:39:45 -04:00
MagicBot 589ea1bce8 Item prefix and suffix applied 2024-04-20 10:26:21 -04:00
MagicBot c133b2da5c Item prefix and suffix applied 2024-04-20 10:20:02 -04:00
MagicBot 24a05543c8 Item prefix and suffix applied 2024-04-20 10:11:56 -04:00
MagicBot 90271890d7 Item prefix and suffix applied 2024-04-20 09:59:04 -04:00
MagicBot 225dc2af18 Item prefix and suffix applied 2024-04-20 09:42:48 -04:00
MagicBot 501c68b1e3 Item prefix and suffix applied 2024-04-20 09:34:49 -04:00
MagicBot 13a75fcd5d Item prefix and suffix applied 2024-04-20 09:10:31 -04:00
MagicBot 1bc3609cbe Unused method removed 2024-04-20 08:57:42 -04:00
MagicBot 2c87e48178 Work on adding modifiers 2024-04-20 08:55:04 -04:00
MagicBot ac10b78d68 Work on adding modifiers 2024-04-20 08:54:28 -04:00
MagicBot 4549688ad7 Update to modifier returned 2024-04-20 08:43:12 -04:00
MagicBot 0a6e40eb74 removed for testing 2024-04-19 10:55:07 -04:00
MagicBot b1b635380a Completed items are identified 2024-04-19 10:49:19 -04:00
MagicBot 7309fdc62f Method moved to Warehouse 2024-04-19 10:46:31 -04:00
MagicBot 412ef0f642 Do not remove until complete pressed 2024-04-19 10:45:28 -04:00
MagicBot 3071cb5847 Apply effects to item 2024-04-19 10:40:03 -04:00
MagicBot 1a7f63ce05 lastNegativeId moved to ItemManager 2024-04-19 10:32:36 -04:00
MagicBot c03c1f4057 Update to item effect serialization 2024-04-19 10:11:27 -04:00
MagicBot 264094924b Proper accounting for workOrder removal post completion 2024-04-19 09:50:29 -04:00
MagicBot 0ec2b436de Window refresh update 2024-04-19 09:38:01 -04:00
MagicBot f36239a67e Window refresh update 2024-04-19 09:30:59 -04:00
MagicBot b673ca9636 Window refresh update 2024-04-19 09:27:50 -04:00
MagicBot cba7ee4066 Window refresh update 2024-04-19 09:23:34 -04:00
MagicBot 0f2b46b898 Window refresh update 2024-04-19 09:20:01 -04:00
MagicBot d76b670b75 Window refresh update 2024-04-19 09:18:30 -04:00
MagicBot ca71079106 Window refresh update 2024-04-19 09:16:38 -04:00
MagicBot adf686974d Window refresh update 2024-04-19 09:16:01 -04:00
MagicBot 6ecaa4dc0c Window refresh update 2024-04-19 09:07:49 -04:00
MagicBot c1939075cd Window refresh update 2024-04-19 09:07:23 -04:00
MagicBot 18587e281f refactored out collection 2024-04-19 09:03:35 -04:00
MagicBot dbd4c5d246 Method added to replace collection 2024-04-19 08:59:10 -04:00
MagicBot 919b29c38f Deduct cost from warehouse 2024-04-19 08:15:17 -04:00
MagicBot 01113fc3a6 Configure before setting cost 2024-04-17 14:24:05 -04:00
MagicBot b9627e1643 Class cleanup 2024-04-17 14:15:12 -04:00
MagicBot e6d83ca36c Mobloot vestiges removed 2024-04-17 14:07:42 -04:00
MagicBot a522eeb823 Update to completion 2024-04-17 13:59:34 -04:00
MagicBot 8d1561cd29 Update to completion 2024-04-17 13:58:25 -04:00
MagicBot d7ba42f4da Update to batch completion 2024-04-17 13:48:39 -04:00
MagicBot 689fc142d0 Persisted items belong in vendor inventory not virtual ones. 2024-04-17 13:46:10 -04:00
MagicBot 8df0c838cc More completion work 2024-04-17 12:47:28 -04:00
MagicBot f9825900cc More completion work 2024-04-17 12:36:23 -04:00
MagicBot 1a27a54926 Not right place for this perhaps 2024-04-17 12:24:17 -04:00
MagicBot 1e003c28ab Completion work 2024-04-17 12:20:45 -04:00
MagicBot 8cada05424 Completion time reset before new batch 2024-04-17 12:04:41 -04:00
MagicBot dda98318eb Work on virtual item handling 2024-04-17 11:56:23 -04:00
MagicBot 6e95ae5245 Variable naming update 2024-04-16 16:01:17 -04:00
MagicBot a4a9a26ac4 Complete is complete 2024-04-16 15:53:13 -04:00
MagicBot 93aec63f78 File reformat 2024-04-16 15:40:10 -04:00
MagicBot 9804a0fc89 Debug strings were removed 2024-04-16 15:35:55 -04:00
MagicBot 3484802a24 Comment cleanup 2024-04-16 15:34:39 -04:00
MagicBot 946a150db1 Comment cleanup 2024-04-16 15:34:14 -04:00
MagicBot 197df90a21 Comment cleanup 2024-04-16 15:33:39 -04:00
MagicBot a944f7342a All rolls treated equally 2024-04-16 15:17:15 -04:00
MagicBot 7c855afbe7 All runs set to complete 2024-04-16 15:11:03 -04:00
MagicBot d42bc3520d Single runs are set to complete. Multiple item runs are dumped to inventory. 2024-04-16 15:03:59 -04:00
MagicBot a86d90ef41 serialization work 2024-04-16 14:55:03 -04:00
MagicBot c5dfb3ad81 Serialization work 2024-04-16 14:47:35 -04:00
MagicBot e879c588dc More window work. 2024-04-16 14:21:29 -04:00
MagicBot 862e75cd4c Serialization updated. Collection adds slot. 2024-04-16 14:01:46 -04:00
MagicBot d47643e730 Error logging added 2024-04-15 15:48:15 -04:00
MagicBot 0727361933 More window work 2024-04-15 15:29:13 -04:00
MagicBot c1b0bcedf4 Remove workorder when completed 2024-04-15 15:22:11 -04:00
MagicBot 315c2abfb9 Remove workorder when completed 2024-04-15 15:15:08 -04:00
MagicBot b0c0c507e5 More window work 2024-04-15 14:59:07 -04:00
MagicBot 12b6e41432 Fixing Junk functionality 2024-04-15 14:45:34 -04:00
MagicBot a2484f94eb Bugfix in forge contains 2024-04-15 14:33:33 -04:00
MagicBot b4824c69b8 Window work 2024-04-15 14:24:50 -04:00
MagicBot 03fb180f02 Set variable on submit 2024-04-15 12:49:37 -04:00
MagicBot 250afe3bba Serialization update 2024-04-15 12:41:05 -04:00
MagicBot b80b3a81b5 Message sent early 2024-04-15 12:34:35 -04:00
MagicBot cd8b910262 Clear collections last 2024-04-15 12:31:16 -04:00
MagicBot d007850afe Clear collections last 2024-04-15 12:23:46 -04:00
MagicBot 7f3873b63f fail fast on null 2024-04-15 12:23:01 -04:00
MagicBot 963df074a4 More persist work 2024-04-15 12:17:57 -04:00
MagicBot 5505d7bc61 Items are persisted and moved to vendor inventory 2024-04-15 12:12:40 -04:00
MagicBot 0c9ec31fa3 Window serialization work 2024-04-15 11:53:24 -04:00
MagicBot d71c65702d Window serialization work 2024-04-15 11:49:42 -04:00
MagicBot a4af39cab7 Window serialization work 2024-04-15 11:45:38 -04:00
MagicBot 9ba697c310 Persist item work 2024-04-15 11:30:56 -04:00
MagicBot 2b670ea53a Persist item work 2024-04-15 11:17:10 -04:00
MagicBot 5ade37f7a4 Persist item work 2024-04-15 11:15:34 -04:00
MagicBot 1be657d3ef Persist item work 2024-04-15 11:07:26 -04:00
MagicBot 9dbefcd830 Unused variable removed 2024-04-15 11:01:53 -04:00
MagicBot e1a9ddae89 forged items are persisted 2024-04-14 17:30:35 -04:00
MagicBot 2690c3212b forged items are persisted 2024-04-14 17:18:58 -04:00
MagicBot aac7e46ae8 forged items are persisted 2024-04-14 17:04:59 -04:00
MagicBot a16bef418b forged items are persisted 2024-04-14 17:02:36 -04:00
MagicBot 8b4b3b971a forged items are persisted 2024-04-14 16:46:31 -04:00
MagicBot 692ee51608 forged items are persisted 2024-04-14 16:31:05 -04:00
MagicBot d5bd500f39 forged items are persisted 2024-04-14 16:29:17 -04:00
MagicBot e195d86fb6 Serialization update 2024-04-14 15:49:08 -04:00
MagicBot 114aeb9f64 Update NPC window 2024-04-14 15:38:24 -04:00
MagicBot d95bc5c261 Initialize all collections for npc 2024-04-14 15:30:10 -04:00
MagicBot 73fa5b5c7e Support for non-random rolling 2024-04-14 15:19:55 -04:00
MagicBot 85e5e2a7e3 Init forge support only for valid contracts 2024-04-14 15:17:32 -04:00
MagicBot 48f88ec819 Serialization update 2024-04-14 15:11:10 -04:00
MagicBot 139998eaa1 Moved declaration outside of loop 2024-04-14 15:02:52 -04:00
MagicBot 673f606de8 Cleanup of cache usage 2024-04-14 15:00:25 -04:00
MagicBot 9464500e95 More integration work 2024-04-14 14:48:59 -04:00
MagicBot 5e5b9884ef Begin integration 2024-04-14 14:13:10 -04:00
MagicBot 94ab64d629 reformat class 2024-04-14 14:11:22 -04:00
MagicBot 2c89509fa2 Moved logging message up 2024-04-14 14:07:06 -04:00
MagicBot fae81a0263 Removed cast in validation 2024-04-14 13:58:25 -04:00
MagicBot a8d5521dd8 Mobtype work related to ForgeManager 2024-04-14 13:51:37 -04:00
MagicBot ea555be08e Mobtype work related to ForgeManager 2024-04-14 13:13:28 -04:00
MagicBot 74e97fb435 Minor cleanup 2024-04-14 12:41:16 -04:00
MagicBot eed25d8c16 Minor cleanup 2024-04-14 12:24:53 -04:00
MagicBot bc195c27db Rework of error handling. 2024-04-14 12:14:17 -04:00
MagicBot 0653828fe3 Rework of error handling. 2024-04-14 12:13:51 -04:00
MagicBot 2feba8ac50 Rework of error handling. 2024-04-14 12:08:51 -04:00
MagicBot 5e7515a9ad Merge remote-tracking branch 'refs/remotes/origin/bugfix-combat-range' into feature-workorder2.4 2024-04-14 11:55:19 -04:00
FatBoy 2aaca661e2 new combat finalized 2024-04-13 19:44:03 -05:00
FatBoy 3f27bae099 mobs dont double tap when unarmed 2024-04-13 19:12:09 -05:00
FatBoy 79f4a33b6e add half player character height to attack range in lieu of hitbox 2024-04-13 19:10:10 -05:00
MagicBot ec47e24549 Not yet set when validating. 2024-04-13 12:26:39 -04:00
MagicBot 8fe7a6e896 Class cleanup 2024-04-13 11:28:48 -04:00
MagicBot f068e6891e Collection declaration cleanup 2024-04-13 10:10:17 -04:00
MagicBot cabbf8bf44 Java 8 TimeUnit 2024-04-13 10:06:44 -04:00
MagicBot 9c146fff4d Only random rolled items are unidentified. 2024-04-13 10:01:35 -04:00
MagicBot 333fcc9d14 Multiple item workOrder work 2024-04-13 09:53:20 -04:00
MagicBot 4aca075da6 Multiple item workOrder work 2024-04-13 09:38:58 -04:00
MagicBot a5bcdff216 Multiple item workOrder work 2024-04-13 09:31:18 -04:00
MagicBot 3c704d6b85 Multiple item workOrder work 2024-04-13 09:22:23 -04:00
MagicBot d26214d032 Multiple item workOrder work 2024-04-13 09:20:25 -04:00
MagicBot 09c96c772e Multiple item workOrder work 2024-04-13 09:10:56 -04:00
MagicBot f6e1c78b0b Debug string update 2024-04-13 08:57:53 -04:00
MagicBot ec80146117 forge items each cycle 2024-04-13 08:51:02 -04:00
MagicBot 980dee2e14 Work on multiple slot support 2024-04-13 08:31:36 -04:00
MagicBot 832b994757 Begin work on forgeItem() 2024-04-13 08:19:09 -04:00
MagicBot a18785fb3d Begin work on forgeItem() 2024-04-13 08:10:59 -04:00
MagicBot f076b38044 Contextual variable name updates 2024-04-13 07:54:26 -04:00
MagicBot 68f2af5306 Bugfix in delay override 2024-04-13 07:44:16 -04:00
MagicBot 052867893c Bugfix in delay override 2024-04-13 07:31:17 -04:00
MagicBot 13ba31285e Logging on each cycle 2024-04-13 07:26:39 -04:00
MagicBot 61a418fd8e Debug comment update 2024-04-13 07:18:55 -04:00
MagicBot 3fa4185b7f Debug comment update 2024-04-13 06:55:49 -04:00
MagicBot 5cb08c1dc0 Forge must be protected 2024-04-13 06:53:36 -04:00
MagicBot fc3a0eaf0c Forge must be protected 2024-04-13 06:48:58 -04:00
MagicBot 2e83b8c693 Better context in name 2024-04-13 06:42:21 -04:00
MagicBot 44eafc3345 Validation work 2024-04-12 17:41:08 -04:00
MagicBot 29ce3537f7 Work on cost overflow calculations 2024-04-12 17:29:52 -04:00
MagicBot 058887ff4d Locked resources are always unavailable. 2024-04-12 17:16:12 -04:00
MagicBot dc18e71ee4 Locked resources are always unavailable. 2024-04-12 17:15:04 -04:00
MagicBot 479e38e3f6 Validation work 2024-04-12 17:06:42 -04:00
MagicBot dd764281e8 Rolling duration updated 2024-04-12 16:52:43 -04:00
MagicBot f7959a51bd Rolling duration updated 2024-04-12 16:43:22 -04:00
MagicBot 97e0ada1a9 workerOrder cost updating 2024-04-12 16:16:34 -04:00
MagicBot cc3d5fe076 workerOrder cost updating 2024-04-12 15:48:25 -04:00
MagicBot 2200cb9bef workerOrder cost updating 2024-04-12 15:41:15 -04:00
MagicBot a16cda8a4a workerOrder cost updating 2024-04-12 15:31:12 -04:00
MagicBot af53859ba9 Comment added 2024-04-11 13:46:24 -04:00
MagicBot a7a1230f1b Work on wordOrder iteration 2024-04-10 18:01:27 -04:00
MagicBot df037a51f0 More info on template bootstrap 2024-04-10 17:40:00 -04:00
MagicBot 4d18e71aa1 More info on template bootstrap 2024-04-10 17:33:59 -04:00
MagicBot 7f579e5268 Bane rank loaded from template 2024-04-10 17:22:45 -04:00
MagicBot f6c53e51ed Calculate cost of workOrder 2024-04-10 16:47:02 -04:00
MagicBot 1429a3a4d5 Configure upon submit() 2024-04-10 16:06:09 -04:00
FatBoy dc81ddaba7 handle retaliate when being attacked 2024-04-09 21:23:29 -05:00
FatBoy 4a001179b5 add hitbox to abs vs abs range checks 2024-04-08 20:37:27 -05:00
FatBoy 1bff06cde0 using building bounds and hitBox for mele range 2024-04-08 20:20:16 -05:00
MagicBot ba4648f812 Minor class cleanup 2024-04-08 17:56:51 -04:00
MagicBot 1d0ab95b88 Minor class cleanup 2024-04-08 17:52:35 -04:00
MagicBot 275644ec83 Minor class cleanup 2024-04-08 17:42:47 -04:00
MagicBot 69416528b3 Minor class cleanup 2024-04-08 17:40:38 -04:00
MagicBot d3e0146d86 Minor class cleanup 2024-04-08 17:16:05 -04:00
MagicBot 35fab88949 Minor class cleanup 2024-04-08 17:15:56 -04:00
MagicBot 27a37eba79 Minor class cleanup 2024-04-08 17:06:42 -04:00
MagicBot deb5b36309 Minor class cleanup 2024-04-08 17:02:20 -04:00
MagicBot b84de95865 Minor class cleanup 2024-04-08 16:58:07 -04:00
MagicBot 5650c0f05a Minor class cleanup 2024-04-08 16:54:33 -04:00
MagicBot afa1b8478a Minor class cleanup 2024-04-08 16:53:53 -04:00
MagicBot cafe0a0fe1 Minor class cleanup 2024-04-08 16:49:19 -04:00
MagicBot bfa43823f6 Minor class cleanup 2024-04-08 16:42:44 -04:00
MagicBot 533ed87321 Minor class cleanup 2024-04-08 16:26:56 -04:00
846 changed files with 11333 additions and 11528 deletions
+7 -7
View File
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package discord; package discord;
+7 -7
View File
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package discord; package discord;
+7 -7
View File
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package discord; package discord;
+7 -7
View File
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package discord; package discord;
+7 -7
View File
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package discord; package discord;
+7 -7
View File
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package discord.handlers; package discord.handlers;
+7 -7
View File
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package discord.handlers; package discord.handlers;
+7 -7
View File
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package discord.handlers; package discord.handlers;
+7 -7
View File
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package discord.handlers; package discord.handlers;
+7 -7
View File
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package discord.handlers; package discord.handlers;
+7 -7
View File
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package discord.handlers; package discord.handlers;
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package discord.handlers; package discord.handlers;
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package discord.handlers; package discord.handlers;
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package discord.handlers; package discord.handlers;
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package discord.handlers; package discord.handlers;
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package discord.handlers; package discord.handlers;
+7 -7
View File
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package discord.handlers; package discord.handlers;
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package discord.handlers; package discord.handlers;
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package discord.handlers; package discord.handlers;
@@ -1,13 +1,14 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.InterestManagement; package engine.InterestManagement;
import engine.gameManager.DispatchManager;
import engine.gameManager.GroupManager; import engine.gameManager.GroupManager;
import engine.gameManager.SessionManager; import engine.gameManager.SessionManager;
import engine.job.JobScheduler; import engine.job.JobScheduler;
@@ -17,7 +18,6 @@ import engine.mbEnums.DispatchChannel;
import engine.mbEnums.GameObjectType; import engine.mbEnums.GameObjectType;
import engine.net.AbstractNetMsg; import engine.net.AbstractNetMsg;
import engine.net.Dispatch; import engine.net.Dispatch;
import engine.net.DispatchMessage;
import engine.net.client.ClientConnection; import engine.net.client.ClientConnection;
import engine.net.client.msg.LoadCharacterMsg; import engine.net.client.msg.LoadCharacterMsg;
import engine.net.client.msg.LoadStructureMsg; import engine.net.client.msg.LoadStructureMsg;
@@ -88,7 +88,7 @@ public enum InterestManager implements Runnable {
if (send) { if (send) {
Dispatch dispatch = Dispatch.borrow(player, msg); Dispatch dispatch = Dispatch.borrow(player, msg);
DispatchMessage.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY); DispatchManager.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY);
} }
} }
} }
@@ -270,7 +270,7 @@ public enum InterestManager implements Runnable {
} }
Dispatch dispatch = Dispatch.borrow(player, uom); Dispatch dispatch = Dispatch.borrow(player, uom);
DispatchMessage.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY); DispatchManager.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY);
} }
loadedStaticObjects.removeAll(toRemove); loadedStaticObjects.removeAll(toRemove);
@@ -292,7 +292,7 @@ public enum InterestManager implements Runnable {
lcm = new LoadCharacterMsg(corpse, PlayerCharacter.hideNonAscii()); lcm = new LoadCharacterMsg(corpse, PlayerCharacter.hideNonAscii());
Dispatch dispatch = Dispatch.borrow(player, lcm); Dispatch dispatch = Dispatch.borrow(player, lcm);
DispatchMessage.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY); DispatchManager.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY);
} else if (awo.getObjectType().equals(GameObjectType.NPC)) { } else if (awo.getObjectType().equals(GameObjectType.NPC)) {
NPC npc = (NPC) awo; NPC npc = (NPC) awo;
@@ -304,13 +304,13 @@ public enum InterestManager implements Runnable {
if (lsm.getStructureList().size() > 0) { if (lsm.getStructureList().size() > 0) {
Dispatch dispatch = Dispatch.borrow(player, lsm); Dispatch dispatch = Dispatch.borrow(player, lsm);
DispatchMessage.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY); DispatchManager.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY);
} }
for (LoadCharacterMsg lc : lcmList) { for (LoadCharacterMsg lc : lcmList) {
Dispatch dispatch = Dispatch.borrow(player, lc); Dispatch dispatch = Dispatch.borrow(player, lc);
DispatchMessage.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY); DispatchManager.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY);
} }
loadedStaticObjects.addAll(toLoad); loadedStaticObjects.addAll(toLoad);
@@ -414,7 +414,7 @@ public enum InterestManager implements Runnable {
if (!uom.getObjectList().isEmpty()) { if (!uom.getObjectList().isEmpty()) {
Dispatch dispatch = Dispatch.borrow(player, uom); Dispatch dispatch = Dispatch.borrow(player, uom);
DispatchMessage.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY); DispatchManager.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY);
} }
} }
@@ -492,7 +492,7 @@ public enum InterestManager implements Runnable {
if (lcm != null) { if (lcm != null) {
Dispatch dispatch = Dispatch.borrow(player, lcm); Dispatch dispatch = Dispatch.borrow(player, lcm);
DispatchMessage.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY); DispatchManager.dispatchMsgDispatch(dispatch, DispatchChannel.PRIMARY);
} }
+22 -19
View File
@@ -1,21 +1,17 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.InterestManagement; package engine.InterestManagement;
/* This class is the main interface for Magicbane's import engine.gameManager.DispatchManager;
* Interest management facilities.
*/
import engine.math.Vector3fImmutable; import engine.math.Vector3fImmutable;
import engine.mbEnums; import engine.mbEnums;
import engine.net.Dispatch; import engine.net.Dispatch;
import engine.net.DispatchMessage;
import engine.net.client.msg.TerritoryChangeMessage; import engine.net.client.msg.TerritoryChangeMessage;
import engine.objects.City; import engine.objects.City;
import engine.objects.PlayerCharacter; import engine.objects.PlayerCharacter;
@@ -31,10 +27,17 @@ import static engine.objects.Realm.getRealm;
public enum RealmMap { public enum RealmMap {
REALM_MAP; // MB Dev Notes:
// This class loads and caches realm maps used by each
// map set for its realm overlay. The RealmMap loaded is
// controlled by config entry MB_WORLD_REALMMAP
//
// Unlike a Heightmap this is a just color lookup; identical to
// the old image maps used in 90s web technology.
//
// Realm Map images are stored on disk in /mb.data/realmmaps/
// Spatial hashmap. Used for determining which Realm REALM_MAP;
// a player is currently located within.
private static final HashMap<Color, Integer> _rgbToIDMap = new HashMap<>(); private static final HashMap<Color, Integer> _rgbToIDMap = new HashMap<>();
public static int[][] _realmImageMap; public static int[][] _realmImageMap;
@@ -65,7 +68,7 @@ public enum RealmMap {
public static Realm getRealmForCity(City city) { public static Realm getRealmForCity(City city) {
Realm outRealm = null; Realm outRealm = null;
outRealm = city.getRealm(); outRealm = city.realm;
return outRealm; return outRealm;
} }
@@ -88,17 +91,17 @@ public enum RealmMap {
if (city != null) { if (city != null) {
TerritoryChangeMessage tcm = new TerritoryChangeMessage((PlayerCharacter) realm.getRulingCity().getOwner(), realm); TerritoryChangeMessage tcm = new TerritoryChangeMessage((PlayerCharacter) realm.getRulingCity().getOwner(), realm);
Dispatch dispatch = Dispatch.borrow(player, tcm); Dispatch dispatch = Dispatch.borrow(player, tcm);
DispatchMessage.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.PRIMARY); DispatchManager.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.PRIMARY);
} else { } else {
TerritoryChangeMessage tcm = new TerritoryChangeMessage(null, realm); TerritoryChangeMessage tcm = new TerritoryChangeMessage(null, realm);
Dispatch dispatch = Dispatch.borrow(player, tcm); Dispatch dispatch = Dispatch.borrow(player, tcm);
DispatchMessage.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.PRIMARY); DispatchManager.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.PRIMARY);
} }
} else { } else {
TerritoryChangeMessage tcm = new TerritoryChangeMessage(null, realm); TerritoryChangeMessage tcm = new TerritoryChangeMessage(null, realm);
Dispatch dispatch = Dispatch.borrow(player, tcm); Dispatch dispatch = Dispatch.borrow(player, tcm);
DispatchMessage.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.PRIMARY); DispatchManager.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.PRIMARY);
} }
} }
+16 -8
View File
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.InterestManagement; package engine.InterestManagement;
@@ -18,6 +18,14 @@ import java.util.HashMap;
import static java.lang.Math.PI; import static java.lang.Math.PI;
// MB Dev Notes:
// The Terrain class handles lookups into the Heightmap data.
// It supports all current maps along with the differences in
// their parenting configuration.
//
// Heightmap images are stored on disk in /mb.data/heightmaps/
public class Terrain { public class Terrain {
public static final HashMap<Integer, short[][]> _heightmap_pixel_cache = new HashMap<>(); public static final HashMap<Integer, short[][]> _heightmap_pixel_cache = new HashMap<>();
public short[][] terrain_pixel_data; public short[][] terrain_pixel_data;
@@ -112,7 +120,7 @@ public class Terrain {
public static float getWorldHeight(Zone zone, Vector3fImmutable world_loc) { public static float getWorldHeight(Zone zone, Vector3fImmutable world_loc) {
// Retrieve the next zone with a terrain defined. // Retrieve the next zone up in the tree with a terrain defined.
Zone terrainZone = getNextZoneWithTerrain(zone); Zone terrainZone = getNextZoneWithTerrain(zone);
Zone parentZone = getNextZoneWithTerrain(zone.parent); Zone parentZone = getNextZoneWithTerrain(zone.parent);
+18 -18
View File
@@ -1,18 +1,18 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.InterestManagement; package engine.InterestManagement;
import engine.mbEnums.GridObjectType; import engine.gameManager.DispatchManager;
import engine.math.FastMath; import engine.math.FastMath;
import engine.math.Vector3f; import engine.math.Vector3f;
import engine.math.Vector3fImmutable; import engine.math.Vector3fImmutable;
import engine.net.DispatchMessage; import engine.mbEnums.GridObjectType;
import engine.net.client.ClientConnection; import engine.net.client.ClientConnection;
import engine.net.client.msg.LoadCharacterMsg; import engine.net.client.msg.LoadCharacterMsg;
import engine.net.client.msg.LoadStructureMsg; import engine.net.client.msg.LoadStructureMsg;
@@ -201,7 +201,7 @@ public class WorldGrid {
UnloadObjectsMsg uom = new UnloadObjectsMsg(); UnloadObjectsMsg uom = new UnloadObjectsMsg();
uom.addObject(awo); uom.addObject(awo);
DispatchMessage.sendToAllInRange(awo, uom); DispatchManager.sendToAllInRange(awo, uom);
} }
public static void loadObject(AbstractWorldObject awo) { public static void loadObject(AbstractWorldObject awo) {
@@ -213,15 +213,15 @@ public class WorldGrid {
case Building: case Building:
lsm = new LoadStructureMsg(); lsm = new LoadStructureMsg();
lsm.addObject((Building) awo); lsm.addObject((Building) awo);
DispatchMessage.sendToAllInRange(awo, lsm); DispatchManager.sendToAllInRange(awo, lsm);
break; break;
case NPC: case NPC:
lcm = new LoadCharacterMsg((NPC) awo, false); lcm = new LoadCharacterMsg((NPC) awo, false);
DispatchMessage.sendToAllInRange(awo, lcm); DispatchManager.sendToAllInRange(awo, lcm);
break; break;
case Mob: case Mob:
lcm = new LoadCharacterMsg((Mob) awo, false); lcm = new LoadCharacterMsg((Mob) awo, false);
DispatchMessage.sendToAllInRange(awo, lcm); DispatchManager.sendToAllInRange(awo, lcm);
break; break;
default: default:
// *** Refactor: Log error? // *** Refactor: Log error?
@@ -239,19 +239,19 @@ public class WorldGrid {
case Building: case Building:
lsm = new LoadStructureMsg(); lsm = new LoadStructureMsg();
lsm.addObject((Building) awo); lsm.addObject((Building) awo);
DispatchMessage.sendToAllInRange(awo, lsm); DispatchManager.sendToAllInRange(awo, lsm);
break; break;
case NPC: case NPC:
lcm = new LoadCharacterMsg((NPC) awo, false); lcm = new LoadCharacterMsg((NPC) awo, false);
DispatchMessage.sendToAllInRange(awo, lcm); DispatchManager.sendToAllInRange(awo, lcm);
break; break;
case Mob: case Mob:
lcm = new LoadCharacterMsg((Mob) awo, false); lcm = new LoadCharacterMsg((Mob) awo, false);
DispatchMessage.sendToAllInRange(awo, lcm); DispatchManager.sendToAllInRange(awo, lcm);
break; break;
case PlayerCharacter: case PlayerCharacter:
lcm = new LoadCharacterMsg((PlayerCharacter) awo, false); lcm = new LoadCharacterMsg((PlayerCharacter) awo, false);
DispatchMessage.sendToAllInRange(awo, lcm); DispatchManager.sendToAllInRange(awo, lcm);
break; break;
default: default:
// *** Refactor: Log error? // *** Refactor: Log error?
@@ -263,7 +263,7 @@ public class WorldGrid {
ClientConnection origin) { ClientConnection origin) {
UnloadObjectsMsg uom = new UnloadObjectsMsg(); UnloadObjectsMsg uom = new UnloadObjectsMsg();
uom.addObject(awo); uom.addObject(awo);
DispatchMessage.sendToAllInRange(awo, uom); DispatchManager.sendToAllInRange(awo, uom);
} }
public static void addObject(AbstractWorldObject awo, PlayerCharacter pc) { public static void addObject(AbstractWorldObject awo, PlayerCharacter pc) {
+7 -7
View File
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.core; package engine.core;
+7 -7
View File
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.archive; package engine.db.archive;
+7 -7
View File
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.archive; package engine.db.archive;
+7 -7
View File
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.archive; package engine.db.archive;
+7 -7
View File
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.archive; package engine.db.archive;
+7 -7
View File
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.archive; package engine.db.archive;
+9 -8
View File
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.archive; package engine.db.archive;
@@ -89,7 +89,8 @@ public class GuildRecord extends DataRecord {
guildRecord.guildHash = guildRecord.guild.getHash(); guildRecord.guildHash = guildRecord.guild.getHash();
guildRecord.guildID = guildRecord.guild.getObjectUUID(); guildRecord.guildID = guildRecord.guild.getObjectUUID();
guildRecord.guildName = guildRecord.guild.getName(); guildRecord.guildName = guildRecord.guild.getName();
guildRecord.charterName = mbEnums.GuildCharterType.getGuildTypeFromInt(guildRecord.guild.getCharter()).getCharterName(); mbEnums.GuildCharterType guildCharterType = guild.charter;
guildRecord.charterName = guildCharterType.name;
guildRecord.GLHash = DataWarehouse.hasher.encrypt(guildRecord.guild.getGuildLeaderUUID()); guildRecord.GLHash = DataWarehouse.hasher.encrypt(guildRecord.guild.getGuildLeaderUUID());
+7 -7
View File
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.archive; package engine.db.archive;
+7 -7
View File
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.archive; package engine.db.archive;
+7 -7
View File
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.archive; package engine.db.archive;
+7 -7
View File
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
+7 -7
View File
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
@@ -1,10 +1,10 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
+17 -18
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
@@ -52,25 +52,24 @@ public class dbCityHandler extends dbHandlerBase {
} }
} }
public ArrayList<AbstractGameObject> CREATE_CITY(int ownerID, int parentZoneID, int realmID, float xCoord, float yCoord, float zCoord, float rotation, float W, String name, LocalDateTime established) { public ArrayList<AbstractGameObject> CREATE_CITY(int ownerID, int parentZoneID, float xCoord, float yCoord, float zCoord, float rotation, float W, String name, LocalDateTime established) {
LocalDateTime upgradeTime = LocalDateTime.now().plusHours(2); LocalDateTime upgradeTime = LocalDateTime.now().plusHours(2);
ArrayList<AbstractGameObject> objectList = new ArrayList<>(); ArrayList<AbstractGameObject> objectList = new ArrayList<>();
try (Connection connection = DbManager.getConnection(); try (Connection connection = DbManager.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement("CALL `city_CREATE`(?, ?, ?, ?, ?, ?, ?, ?, ?,?,?)")) { PreparedStatement preparedStatement = connection.prepareStatement("CALL `city_CREATE`(?, ?, ?, ?, ?, ?, ?, ?,?,?)")) {
preparedStatement.setLong(1, ownerID); //objectUUID of owning player preparedStatement.setLong(1, ownerID); //objectUUID of owning player
preparedStatement.setLong(2, parentZoneID); //objectUUID of parent (continent) zone preparedStatement.setLong(2, parentZoneID); //objectUUID of parent (continent) zone
preparedStatement.setLong(3, realmID); //objectUUID of realm city belongs in preparedStatement.setFloat(3, xCoord); //xOffset from parentZone center
preparedStatement.setFloat(4, xCoord); //xOffset from parentZone center preparedStatement.setFloat(4, yCoord); //yOffset from parentZone center
preparedStatement.setFloat(5, yCoord); //yOffset from parentZone center preparedStatement.setFloat(5, zCoord); //zOffset from parentZone center
preparedStatement.setFloat(6, zCoord); //zOffset from parentZone center preparedStatement.setString(6, name); //city name
preparedStatement.setString(7, name); //city name preparedStatement.setTimestamp(7, Timestamp.valueOf(established));
preparedStatement.setTimestamp(8, Timestamp.valueOf(established)); preparedStatement.setFloat(8, rotation);
preparedStatement.setFloat(9, rotation); preparedStatement.setFloat(9, W);
preparedStatement.setFloat(10, W); preparedStatement.setTimestamp(10, Timestamp.valueOf(upgradeTime));
preparedStatement.setTimestamp(11, Timestamp.valueOf(upgradeTime));
boolean work = preparedStatement.execute(); boolean work = preparedStatement.execute();
@@ -1,19 +1,19 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
import engine.gameManager.DbManager; import engine.gameManager.DbManager;
import engine.gameManager.ItemManager;
import engine.mbEnums; import engine.mbEnums;
import engine.objects.Contract; import engine.objects.Contract;
import engine.objects.Item; import engine.objects.Item;
import engine.objects.MobLoot;
import org.pmw.tinylog.Logger; import org.pmw.tinylog.Logger;
import java.sql.Connection; import java.sql.Connection;
@@ -66,7 +66,7 @@ public class dbContractHandler extends dbHandlerBase {
int templateID = rs.getInt("templateID"); int templateID = rs.getInt("templateID");
Item item = new Item(templateID); Item item = new Item(templateID);
item.objectUUID = MobLoot.lastNegativeID.decrementAndGet(); item.objectUUID = ItemManager.lastNegativeID.decrementAndGet();
contract.getSellInventory().add(item); contract.getSellInventory().add(item);
} }
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
@@ -1,24 +1,26 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
import engine.gameManager.DbManager; import engine.gameManager.DbManager;
import engine.gameManager.PowersManager;
import engine.mbEnums; import engine.mbEnums;
import engine.objects.EffectsResourceCosts; import engine.objects.EffectsResourceCosts;
import org.json.JSONObject;
import org.pmw.tinylog.Logger; import org.pmw.tinylog.Logger;
import java.sql.Connection; import java.sql.Connection;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.ArrayList; import java.util.HashMap;
public class dbEffectsResourceCostHandler extends dbHandlerBase { public class dbEffectsResourceCostHandler extends dbHandlerBase {
@@ -27,22 +29,30 @@ public class dbEffectsResourceCostHandler extends dbHandlerBase {
this.localObjectType = mbEnums.GameObjectType.valueOf(this.localClass.getSimpleName()); this.localObjectType = mbEnums.GameObjectType.valueOf(this.localClass.getSimpleName());
} }
public ArrayList<EffectsResourceCosts> GET_ALL_EFFECT_RESOURCES(String idString) { public void LOAD_ALL_COSTMAPS() {
ArrayList<EffectsResourceCosts> effectsResourceCosts = new ArrayList<>();
try (Connection connection = DbManager.getConnection(); try (Connection connection = DbManager.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM `static_power_effectcost` WHERE `IDString` = ?")) { PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM `static_effect_costmaps`")) {
preparedStatement.setString(1, idString);
ResultSet rs = preparedStatement.executeQuery(); ResultSet rs = preparedStatement.executeQuery();
effectsResourceCosts = getObjectsFromRs(rs, 1000);
while (rs.next()) {
String effectID = rs.getString("effectID");
String costString = rs.getString("costmap");
JSONObject costJSON = new JSONObject(costString);
HashMap<mbEnums.ResourceType, Integer> costmap = new HashMap<>();
for (String key : costJSON.keySet()) {
int value = costJSON.getInt(key);
costmap.put(mbEnums.ResourceType.valueOf(key), value);
}
PowersManager._effect_costMaps.put(effectID, costmap);
}
} catch (SQLException e) { } catch (SQLException e) {
Logger.error(e); Logger.error(e);
} }
return effectsResourceCosts;
} }
} }
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
+9 -9
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
@@ -427,7 +427,7 @@ public class dbGuildHandler extends dbHandlerBase {
preparedStatement.setInt(6, guildTag.symbolColor); preparedStatement.setInt(6, guildTag.symbolColor);
preparedStatement.setInt(7, guildTag.backgroundDesign); preparedStatement.setInt(7, guildTag.backgroundDesign);
preparedStatement.setInt(8, guildTag.symbol); preparedStatement.setInt(8, guildTag.symbol);
preparedStatement.setInt(9, g.getCharter()); preparedStatement.setInt(9, g.charter.templateID);
preparedStatement.setString(10, g.getLeadershipType()); preparedStatement.setString(10, g.getLeadershipType());
preparedStatement.setString(11, g.getMotto()); preparedStatement.setString(11, g.getMotto());
@@ -573,7 +573,7 @@ public class dbGuildHandler extends dbHandlerBase {
preparedStatement.setInt(4, g.getGuildTag().symbolColor); preparedStatement.setInt(4, g.getGuildTag().symbolColor);
preparedStatement.setInt(5, g.getGuildTag().backgroundDesign); preparedStatement.setInt(5, g.getGuildTag().backgroundDesign);
preparedStatement.setInt(6, g.getGuildTag().symbol); preparedStatement.setInt(6, g.getGuildTag().symbol);
preparedStatement.setInt(7, g.getCharter()); preparedStatement.setInt(7, g.charter.templateID);
preparedStatement.setString(8, g.getMOTD()); preparedStatement.setString(8, g.getMOTD());
preparedStatement.setString(9, g.getICMOTD()); preparedStatement.setString(9, g.getICMOTD());
preparedStatement.setString(10, ""); preparedStatement.setString(10, "");
+10 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
@@ -58,6 +58,9 @@ public abstract class dbHandlerBase {
int id = rs.getInt(1); int id = rs.getInt(1);
if (id == 39052)
Logger.info(id);
if (DbManager.inCache(localObjectType, id)) { if (DbManager.inCache(localObjectType, id)) {
objectList.add((T) DbManager.getFromCache(localObjectType, id)); objectList.add((T) DbManager.getFromCache(localObjectType, id));
} else { } else {
+15 -12
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
@@ -17,8 +17,7 @@ import engine.objects.AbstractCharacter;
import engine.objects.CharacterItemManager; import engine.objects.CharacterItemManager;
import engine.objects.Item; import engine.objects.Item;
import engine.objects.ItemTemplate; import engine.objects.ItemTemplate;
import org.json.simple.JSONObject; import org.json.JSONObject;
import org.json.simple.parser.JSONParser;
import org.pmw.tinylog.Logger; import org.pmw.tinylog.Logger;
import java.sql.Connection; import java.sql.Connection;
@@ -26,6 +25,7 @@ import java.sql.PreparedStatement;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
@@ -179,7 +179,7 @@ public class dbItemHandler extends dbHandlerBase {
public void LOAD_ITEM_TEMPLATES() { public void LOAD_ITEM_TEMPLATES() {
JSONParser jsonParser = new JSONParser(); HashMap<ItemType, Integer> templateTCountMap = new HashMap<>();
try (Connection connection = DbManager.getConnection(); try (Connection connection = DbManager.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM `static_item_templates`;"); PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM `static_item_templates`;");
@@ -187,12 +187,15 @@ public class dbItemHandler extends dbHandlerBase {
while (rs.next()) { while (rs.next()) {
int templateID = rs.getInt("id"); int templateID = rs.getInt("id");
JSONObject jsonObject = (JSONObject) jsonParser.parse(rs.getString("template")); JSONObject jsonObject = new JSONObject(rs.getString("template"));
ItemTemplate itemTemplate = new ItemTemplate(jsonObject); ItemTemplate itemTemplate = new ItemTemplate(jsonObject);
itemTemplate.template_id = templateID; itemTemplate.template_id = templateID;
ItemTemplate.templates.put(templateID, itemTemplate); ItemTemplate.templates.put(templateID, itemTemplate);
templateTCountMap.merge(itemTemplate.item_type, 1, Integer::sum);
} }
Logger.info(templateTCountMap.toString());
} catch (Exception e) { } catch (Exception e) {
Logger.error(e); Logger.error(e);
} }
@@ -551,7 +554,7 @@ public class dbItemHandler extends dbHandlerBase {
// Write 0 if we will not modify the value from template // Write 0 if we will not modify the value from template
if (item.value == item.template.item_value) if (value == item.template.item_value)
value = 0; value = 0;
try (Connection connection = DbManager.getConnection(); try (Connection connection = DbManager.getConnection();
+7 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
+7 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
+7 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
+8 -8
View File
@@ -1,15 +1,15 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
import engine.mbEnums;
import engine.gameManager.DbManager; import engine.gameManager.DbManager;
import engine.mbEnums;
import engine.objects.Mine; import engine.objects.Mine;
import engine.objects.MineProduction; import engine.objects.MineProduction;
import org.pmw.tinylog.Logger; import org.pmw.tinylog.Logger;
+8 -8
View File
@@ -1,17 +1,17 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
import engine.gameManager.DbManager;
import engine.mbEnums; import engine.mbEnums;
import engine.mbEnums.GameObjectType; import engine.mbEnums.GameObjectType;
import engine.gameManager.DbManager;
import engine.objects.MobBase; import engine.objects.MobBase;
import engine.objects.MobBaseEffects; import engine.objects.MobBaseEffects;
import engine.objects.MobBaseStats; import engine.objects.MobBaseStats;
+7 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
+25 -121
View File
@@ -1,21 +1,20 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
import engine.mbEnums;
import engine.mbEnums.ProfitType;
import engine.gameManager.DbManager; import engine.gameManager.DbManager;
import engine.math.Vector3fImmutable; import engine.math.Vector3fImmutable;
import engine.mbEnums;
import engine.mbEnums.ProfitType;
import engine.objects.NPC; import engine.objects.NPC;
import engine.objects.NPCProfits; import engine.objects.NPCProfits;
import engine.objects.ProducedItem;
import org.joda.time.DateTime; import org.joda.time.DateTime;
import org.pmw.tinylog.Logger; import org.pmw.tinylog.Logger;
@@ -311,6 +310,22 @@ public class dbNPCHandler extends dbHandlerBase {
} }
} }
public boolean UPDATE_RACE(NPC npc, int value) {
try (Connection connection = DbManager.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement("UPDATE `obj_npc` SET `npc_raceID`=? WHERE `UID`=?")) {
preparedStatement.setInt(1, value);
preparedStatement.setLong(2, npc.getObjectUUID());
return (preparedStatement.executeUpdate() > 0);
} catch (SQLException e) {
Logger.error(e);
return false;
}
}
public void LOAD_PIRATE_NAMES() { public void LOAD_PIRATE_NAMES() {
String pirateName; String pirateName;
@@ -346,117 +361,6 @@ public class dbNPCHandler extends dbHandlerBase {
+ NPC._pirateNames.size() + " mobBases"); + NPC._pirateNames.size() + " mobBases");
} }
public boolean ADD_TO_PRODUCTION_LIST(final long ID, final long npcUID, final long templateID, DateTime dateTime, String prefix, String suffix, String name, boolean isRandom, int playerID) {
try (Connection connection = DbManager.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement("INSERT INTO `dyn_npc_production` (`ID`,`npcUID`, `templateID`,`dateToUpgrade`, `isRandom`, `prefix`, `suffix`, `name`,`playerID`) VALUES (?,?,?,?,?,?,?,?,?)")) {
preparedStatement.setLong(1, ID);
preparedStatement.setLong(2, npcUID);
preparedStatement.setLong(3, templateID);
preparedStatement.setTimestamp(4, new java.sql.Timestamp(dateTime.getMillis()));
preparedStatement.setBoolean(5, isRandom);
preparedStatement.setString(6, prefix);
preparedStatement.setString(7, suffix);
preparedStatement.setString(8, name);
preparedStatement.setInt(9, playerID);
return (preparedStatement.executeUpdate() > 0);
} catch (SQLException e) {
Logger.error(e);
return false;
}
}
public boolean REMOVE_FROM_PRODUCTION_LIST(final long ID, final long npcUID) {
try (Connection connection = DbManager.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement("DELETE FROM `dyn_npc_production` WHERE `ID`=? AND `npcUID`=?;")) {
preparedStatement.setLong(1, ID);
preparedStatement.setLong(2, npcUID);
return (preparedStatement.executeUpdate() > 0);
} catch (SQLException e) {
Logger.error(e);
return false;
}
}
public boolean UPDATE_ITEM_TO_INVENTORY(final long ID, final long npcUID) {
try (Connection connection = DbManager.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement("UPDATE `dyn_npc_production` SET `inForge`=? WHERE `ID`=? AND `npcUID`=?;")) {
preparedStatement.setByte(1, (byte) 0);
preparedStatement.setLong(2, ID);
preparedStatement.setLong(3, npcUID);
return (preparedStatement.executeUpdate() > 0);
} catch (SQLException e) {
Logger.error(e);
return false;
}
}
public boolean UPDATE_ITEM_PRICE(final long ID, final long npcUID, int value) {
try (Connection connection = DbManager.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement("UPDATE `dyn_npc_production` SET `value`=? WHERE `ID`=? AND `npcUID`=?;")) {
preparedStatement.setInt(1, value);
preparedStatement.setLong(2, ID);
preparedStatement.setLong(3, npcUID);
return (preparedStatement.executeUpdate() > 0);
} catch (SQLException e) {
Logger.error(e);
return false;
}
}
public boolean UPDATE_ITEM_ID(final long ID, final long npcUID, final long value) {
try (Connection connection = DbManager.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement("UPDATE `dyn_npc_production` SET `ID`=? WHERE `ID`=? AND `npcUID`=? LIMIT 1;")) {
preparedStatement.setLong(1, value);
preparedStatement.setLong(2, ID);
preparedStatement.setLong(3, npcUID);
return (preparedStatement.executeUpdate() > 0);
} catch (SQLException e) {
Logger.error(e);
return false;
}
}
public void LOAD_ALL_ITEMS_TO_PRODUCE(NPC npc) {
if (npc == null)
return;
try (Connection connection = DbManager.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM `dyn_npc_production` WHERE `npcUID` = ?")) {
preparedStatement.setInt(1, npc.getObjectUUID());
ResultSet rs = preparedStatement.executeQuery();
while (rs.next()) {
ProducedItem producedItem = new ProducedItem(rs);
npc.forgedItems.add(producedItem);
}
} catch (SQLException e) {
Logger.error(e);
}
}
public boolean UPDATE_PROFITS(NPC npc, ProfitType profitType, float value) { public boolean UPDATE_PROFITS(NPC npc, ProfitType profitType, float value) {
try (Connection connection = DbManager.getConnection(); try (Connection connection = DbManager.getConnection();
@@ -1,16 +1,16 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
import engine.mbEnums;
import engine.gameManager.DbManager; import engine.gameManager.DbManager;
import engine.mbEnums;
import engine.objects.Petition; import engine.objects.Petition;
import org.pmw.tinylog.Logger; import org.pmw.tinylog.Logger;
@@ -1,16 +1,16 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
import engine.mbEnums;
import engine.gameManager.DbManager; import engine.gameManager.DbManager;
import engine.mbEnums;
import engine.objects.AbstractWorldObject; import engine.objects.AbstractWorldObject;
import engine.objects.Heraldry; import engine.objects.Heraldry;
import engine.objects.PlayerCharacter; import engine.objects.PlayerCharacter;
+8 -8
View File
@@ -1,17 +1,17 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
import engine.mbEnums;
import engine.gameManager.DbManager; import engine.gameManager.DbManager;
import engine.gameManager.PowersManager; import engine.gameManager.PowersManager;
import engine.mbEnums;
import engine.objects.Mob; import engine.objects.Mob;
import engine.powers.EffectsBase; import engine.powers.EffectsBase;
import org.pmw.tinylog.Logger; import org.pmw.tinylog.Logger;
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
+7 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
+7 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
+7 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
@@ -1,17 +1,17 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
import engine.gameManager.DbManager;
import engine.mbEnums; import engine.mbEnums;
import engine.mbEnums.GameObjectType; import engine.mbEnums.GameObjectType;
import engine.gameManager.DbManager;
import engine.objects.AbstractGameObject; import engine.objects.AbstractGameObject;
import engine.objects.RuneBaseEffect; import engine.objects.RuneBaseEffect;
import org.pmw.tinylog.Logger; import org.pmw.tinylog.Logger;
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
@@ -1,16 +1,16 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
import engine.mbEnums;
import engine.gameManager.DbManager; import engine.gameManager.DbManager;
import engine.mbEnums;
import engine.objects.Building; import engine.objects.Building;
import engine.objects.Portal; import engine.objects.Portal;
import org.pmw.tinylog.Logger; import org.pmw.tinylog.Logger;
+9 -9
View File
@@ -1,18 +1,18 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
import engine.mbEnums;
import engine.mbEnums.ProtectionState;
import engine.gameManager.DbManager; import engine.gameManager.DbManager;
import engine.math.Vector3fImmutable; import engine.math.Vector3fImmutable;
import engine.mbEnums;
import engine.mbEnums.ProtectionState;
import engine.objects.AbstractGameObject; import engine.objects.AbstractGameObject;
import engine.objects.Building; import engine.objects.Building;
import engine.objects.Shrine; import engine.objects.Shrine;
@@ -1,17 +1,17 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
import engine.gameManager.DbManager;
import engine.mbEnums; import engine.mbEnums;
import engine.mbEnums.GameObjectType; import engine.mbEnums.GameObjectType;
import engine.gameManager.DbManager;
import engine.objects.MaxSkills; import engine.objects.MaxSkills;
import engine.objects.SkillsBase; import engine.objects.SkillsBase;
import org.pmw.tinylog.Logger; import org.pmw.tinylog.Logger;
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
@@ -1,16 +1,16 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
import engine.mbEnums;
import engine.gameManager.DbManager; import engine.gameManager.DbManager;
import engine.mbEnums;
import engine.objects.VendorDialog; import engine.objects.VendorDialog;
import org.pmw.tinylog.Logger; import org.pmw.tinylog.Logger;
+92 -15
View File
@@ -1,27 +1,28 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
import engine.gameManager.DbManager;
import engine.gameManager.ForgeManager;
import engine.loot.WorkOrder;
import engine.mbEnums; import engine.mbEnums;
import engine.mbEnums.GameObjectType; import engine.mbEnums.GameObjectType;
import engine.mbEnums.TransactionType; import engine.mbEnums.TransactionType;
import engine.gameManager.DbManager;
import engine.objects.Building; import engine.objects.Building;
import engine.objects.City; import engine.objects.City;
import engine.objects.Transaction; import engine.objects.Transaction;
import engine.objects.Warehouse; import engine.objects.Warehouse;
import engine.server.MBServerStatics; import engine.server.MBServerStatics;
import org.joda.time.DateTime; import org.joda.time.DateTime;
import org.json.simple.JSONArray; import org.json.JSONArray;
import org.json.simple.JSONObject; import org.json.JSONObject;
import org.json.simple.parser.JSONParser;
import org.pmw.tinylog.Logger; import org.pmw.tinylog.Logger;
import java.sql.Connection; import java.sql.Connection;
@@ -106,7 +107,7 @@ public class dbWarehouseHandler extends dbHandlerBase {
JSONArray locks = new JSONArray(); JSONArray locks = new JSONArray();
for (mbEnums.ResourceType resource : warehouse.locked) for (mbEnums.ResourceType resource : warehouse.locked)
locks.add(resource.name()); locks.put(resource.name());
warehouseJSON.put("locked", locks); warehouseJSON.put("locked", locks);
@@ -127,16 +128,20 @@ public class dbWarehouseHandler extends dbHandlerBase {
public void LOAD_WAREHOUSES() { public void LOAD_WAREHOUSES() {
JSONParser jsonParser = new JSONParser();
try (Connection connection = DbManager.getConnection(); try (Connection connection = DbManager.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM `dyn_warehouse`;"); PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM `dyn_warehouse`;");
ResultSet rs = preparedStatement.executeQuery()) { ResultSet rs = preparedStatement.executeQuery()) {
while (rs.next()) { while (rs.next()) {
int cityUID = rs.getInt("cityUUID"); int cityUID = rs.getInt("cityUUID");
JSONObject jsonObject = (JSONObject) jsonParser.parse(rs.getString("warehouse")); JSONObject jsonObject = new JSONObject(rs.getString("warehouse"));
City city = City.getCity(cityUID); City city = City.getCity(cityUID);
if (city == null) {
Logger.error("No city " + cityUID + " for warehouse");
continue;
}
city.warehouse = new Warehouse(jsonObject); city.warehouse = new Warehouse(jsonObject);
city.warehouse.city = city; city.warehouse.city = city;
@@ -154,4 +159,76 @@ public class dbWarehouseHandler extends dbHandlerBase {
Logger.error(e); Logger.error(e);
} }
} }
public boolean WRITE_WORKORDER(WorkOrder workOrder) {
JSONObject warehouseJSON = WorkOrder.toJson(workOrder);
try (Connection connection = DbManager.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement("INSERT INTO `dyn_workorders` (`workorderID`, `workorder`) VALUES (?, ?) " +
"ON DUPLICATE KEY UPDATE `workorder` = VALUES(`workorder`)")) {
preparedStatement.setInt(1, workOrder.workOrderID);
preparedStatement.setString(2, warehouseJSON.toString());
return (preparedStatement.executeUpdate() > 0);
} catch (SQLException e) {
Logger.error(e);
}
return false;
}
public void DELETE_WORKORDER(WorkOrder workOrder) {
try (Connection connection = DbManager.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement("DELETE FROM `dyn_workorders` WHERE `workorderID` = ?;")) {
preparedStatement.setInt(1, workOrder.workOrderID);
preparedStatement.executeUpdate();
} catch (SQLException e) {
Logger.error(e);
}
}
public void LOAD_WORKORDERS() {
// Method loads NPC workOrders from disk at bootstrap.
// A workOrder will persist until completed or junked
// via the client interface.
ArrayList<WorkOrder> submitList = new ArrayList<>();
ArrayList<WorkOrder> orphanList = new ArrayList<>();
try (Connection connection = DbManager.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM `dyn_workorders`;");
ResultSet rs = preparedStatement.executeQuery()) {
while (rs.next()) {
JSONObject jsonObject = new JSONObject(rs.getString("workorder"));
WorkOrder workOrder = new WorkOrder(jsonObject);
submitList.add(workOrder);
}
} catch (Exception e) {
Logger.error(e);
}
// Submit new workOrders to the ForgeManager
for (WorkOrder workOrder : submitList) {
DbManager.WarehouseQueries.DELETE_WORKORDER(workOrder);
// Delete but do not reconstitute orphan workOrders
if (workOrder.vendor == null)
continue;
workOrder.workOrderID = ForgeManager.workOrderCounter.incrementAndGet();
DbManager.WarehouseQueries.WRITE_WORKORDER(workOrder);
ForgeManager.vendorWorkOrderLookup.get(workOrder.vendor).add(workOrder);
ForgeManager.forge.add(workOrder);
}
}
} }
+8 -8
View File
@@ -1,17 +1,17 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.db.handlers; package engine.db.handlers;
import engine.mbEnums;
import engine.gameManager.DbManager; import engine.gameManager.DbManager;
import engine.gameManager.ZoneManager; import engine.gameManager.ZoneManager;
import engine.mbEnums;
import engine.objects.Zone; import engine.objects.Zone;
import engine.objects.ZoneTemplate; import engine.objects.ZoneTemplate;
import org.pmw.tinylog.Logger; import org.pmw.tinylog.Logger;
+7 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.devcmd; package engine.devcmd;
+7 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.devcmd.cmds; package engine.devcmd.cmds;
+7 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.devcmd.cmds; package engine.devcmd.cmds;
+7 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.devcmd.cmds; package engine.devcmd.cmds;
+7 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.devcmd.cmds; package engine.devcmd.cmds;
+7 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.devcmd.cmds; package engine.devcmd.cmds;
+7 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.devcmd.cmds; package engine.devcmd.cmds;
+7 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.devcmd.cmds; package engine.devcmd.cmds;
+40 -11
View File
@@ -1,18 +1,23 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.devcmd.cmds; package engine.devcmd.cmds;
import engine.devcmd.AbstractDevCmd; import engine.devcmd.AbstractDevCmd;
import engine.gameManager.ChatManager;
import engine.gameManager.DbManager;
import engine.mbEnums;
import engine.objects.AbstractGameObject; import engine.objects.AbstractGameObject;
import engine.objects.ItemFactory; import engine.objects.Item;
import engine.objects.ItemTemplate;
import engine.objects.PlayerCharacter; import engine.objects.PlayerCharacter;
import org.pmw.tinylog.Logger;
/** /**
* @author Eighty * @author Eighty
@@ -24,22 +29,46 @@ public class CreateItemCmd extends AbstractDevCmd {
} }
@Override @Override
protected void _doCmd(PlayerCharacter pc, String[] words, protected void _doCmd(PlayerCharacter playerCharacter, String[] words,
AbstractGameObject target) { AbstractGameObject target) {
if (words.length < 2) { if (words.length < 2) {
this.sendUsage(pc); this.sendUsage(playerCharacter);
return; return;
} }
int templateID = Integer.parseInt(words[0]); int templateID = Integer.parseInt(words[0]);
ItemTemplate template = ItemTemplate.templates.get(templateID);
if (template == null) {
ChatManager.chatSystemInfo(playerCharacter, "No such template found.");
return;
}
int size = 1; int size = 1;
if (words.length == 2) if (words.length == 2)
size = Integer.parseInt(words[1]); size = Integer.parseInt(words[1]);
ItemFactory.fillInventory(pc, templateID, size); for (int i = 0; i < size; i++) {
if (!playerCharacter.charItemManager.hasRoomInventory(template.item_wt)) {
ChatManager.chatSystemInfo(playerCharacter, "You are encumbered!.");
break;
}
Item item = new Item(templateID);
item.ownerID = playerCharacter.getObjectUUID();
item.ownerType = mbEnums.OwnerType.PlayerCharacter;
item.containerType = mbEnums.ItemContainerType.INVENTORY;
try {
item = DbManager.ItemQueries.PERSIST(item);
playerCharacter.charItemManager.addItemToInventory(item);
} catch (Exception e) {
Logger.error(e);
}
}
playerCharacter.charItemManager.updateInventory();
} }
@Override @Override
+7 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.devcmd.cmds; package engine.devcmd.cmds;
+7 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.devcmd.cmds; package engine.devcmd.cmds;
+7 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.devcmd.cmds; package engine.devcmd.cmds;
+7 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.devcmd.cmds; package engine.devcmd.cmds;
+7 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.devcmd.cmds; package engine.devcmd.cmds;
+8 -8
View File
@@ -1,19 +1,19 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.devcmd.cmds; package engine.devcmd.cmds;
import engine.mbEnums.GameObjectType;
import engine.devcmd.AbstractDevCmd; import engine.devcmd.AbstractDevCmd;
import engine.gameManager.DbManager; import engine.gameManager.DbManager;
import engine.gameManager.SessionManager; import engine.gameManager.SessionManager;
import engine.math.Vector3fImmutable; import engine.math.Vector3fImmutable;
import engine.mbEnums.GameObjectType;
import engine.objects.*; import engine.objects.*;
import engine.server.MBServerStatics; import engine.server.MBServerStatics;
+8 -8
View File
@@ -1,18 +1,18 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.devcmd.cmds; package engine.devcmd.cmds;
import engine.mbEnums;
import engine.devcmd.AbstractDevCmd; import engine.devcmd.AbstractDevCmd;
import engine.gameManager.DbManager; import engine.gameManager.DbManager;
import engine.math.Vector3fImmutable; import engine.math.Vector3fImmutable;
import engine.mbEnums;
import engine.objects.*; import engine.objects.*;
public class GotoObj extends AbstractDevCmd { public class GotoObj extends AbstractDevCmd {
+7 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.devcmd.cmds; package engine.devcmd.cmds;
+7 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.devcmd.cmds; package engine.devcmd.cmds;
+12 -12
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.devcmd.cmds; package engine.devcmd.cmds;
@@ -312,17 +312,17 @@ public class InfoCmd extends AbstractDevCmd {
if (targetPC.getGuild() != null) { if (targetPC.getGuild() != null) {
output += "Name: " + targetPC.getGuild().getName(); output += "Name: " + targetPC.getGuild().getName();
output += newline; output += newline;
output += "State: " + targetPC.getGuild().getGuildState(); output += "State: " + targetPC.getGuild().guildState;
output += newline; output += newline;
output += "Realms Owned:" + targetPC.getGuild().getRealmsOwned(); output += "Realms Owned:" + targetPC.getGuild().realmsOwned;
output += newline; output += newline;
output += "====Nation===="; output += "====Nation====";
output += newline; output += newline;
output += "Nation Name: " + targetPC.getGuild().getNation().getName(); output += "Nation Name: " + targetPC.getGuild().getNation().getName();
output += newline; output += newline;
output += "Nation State: " + targetPC.getGuild().getNation().getGuildState(); output += "Nation State: " + targetPC.getGuild().getNation().guildState;
output += newline; output += newline;
output += "Realms Owned:" + targetPC.getGuild().getNation().getRealmsOwned(); output += "Realms Owned:" + targetPC.getGuild().getNation().realmsOwned;
output += newline; output += newline;
output += "Guild Rank:" + (GuildStatusController.getRank(targetPC.getGuildStatus()) + targetPC.getGuild().getRealmsOwnedFlag()); output += "Guild Rank:" + (GuildStatusController.getRank(targetPC.getGuildStatus()) + targetPC.getGuild().getRealmsOwnedFlag());
} }
@@ -475,7 +475,7 @@ public class InfoCmd extends AbstractDevCmd {
output += "EquipSet: " + targetMob.equipmentSetID; output += "EquipSet: " + targetMob.equipmentSetID;
output += newline; output += newline;
try { try {
output += "Parent Zone LoadNum : " + targetMob.getParentZone().templateID; output += "Parent Zone LoadNum : " + targetMob.parentZone.templateID;
} catch (Exception ex) { } catch (Exception ex) {
//who cares //who cares
} }
+7 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.devcmd.cmds; package engine.devcmd.cmds;
-212
View File
@@ -1,212 +0,0 @@
// ·. · · · · .
// · ·
// · ·
//
// · · ·
// Magicbane Emulator Project © 2013 - 2022
// www.magicbane.com
package engine.devcmd.cmds;
import engine.InterestManagement.WorldGrid;
import engine.devcmd.AbstractDevCmd;
import engine.gameManager.BuildingManager;
import engine.gameManager.ChatManager;
import engine.gameManager.DbManager;
import engine.gameManager.ZoneManager;
import engine.math.Vector3f;
import engine.math.Vector3fImmutable;
import engine.mbEnums.ProtectionState;
import engine.objects.*;
import org.pmw.tinylog.Logger;
/**
* @author Eighty
*/
public class MakeBaneCmd extends AbstractDevCmd {
public MakeBaneCmd() {
super("makebane");
}
@Override
protected void _doCmd(PlayerCharacter pc, String[] words,
AbstractGameObject target) {
if (words.length < 1 || words.length > 2) {
this.sendUsage(pc);
return;
}
int attackerID = 0;
int rank = 8;
if (words.length == 2) {
try {
attackerID = Integer.parseInt(words[0]);
rank = Integer.parseInt(words[1]);
} catch (NumberFormatException e) {
throwbackError(pc, "AttackerGuildID must be a number, " + words[0] + " is invalid");
return;
}
} else if (words.length == 1) {
if (target == null) {
throwbackError(pc, "No target specified");
return;
}
if (!(target instanceof PlayerCharacter)) {
throwbackError(pc, "Target is not a player");
return;
}
attackerID = target.getObjectUUID();
try {
rank = Integer.parseInt(words[0]);
} catch (NumberFormatException e) {
throwbackError(pc, "Rank must be specified, 1 through 8");
return;
}
}
if (rank < 1 || rank > 8) {
throwbackError(pc, "Rank must be 1 through 8");
return;
}
PlayerCharacter player = PlayerCharacter.getPlayerCharacter(attackerID);
if (player.getGuild().isEmptyGuild()) {
throwbackError(pc, "Errant's can not place banes");
return;
}
AbstractCharacter attackerAGL = Guild.GetGL(player.getGuild());
if (attackerAGL == null) {
throwbackError(pc, "No guild leader found for attacking guild.");
return;
}
if (!(attackerAGL instanceof PlayerCharacter)) {
throwbackError(pc, "Attacking guild leader is an NPC.");
return;
}
if (player.getGuild().isNPCGuild()) {
throwbackError(pc, "The guild used is an npc guild. They can not bane.");
return;
}
// if (player.getGuild().getOwnedCity() != null) {
// throwbackError(pc, "The attacking guild already has a city.");
// return;
// }
Zone zone = ZoneManager.findSmallestZone(pc.getLoc());
if (zone == null) {
throwbackError(pc, "Unable to find the zone you're in.");
return;
}
if (!zone.guild_zone) {
throwbackError(pc, "This is not a player city.");
return;
}
City city = City.getCity(zone.playerCityUUID);
if (city == null) {
throwbackError(pc, "Unable to find the city associated with this zone.");
return;
}
if (city.getTOL() == null) {
throwbackError(pc, "Unable to find the tree of life for this city.");
return;
}
if (city.getBane() != null) {
throwbackError(pc, "This city is already baned.");
return;
}
if (Bane.getBaneByAttackerGuild(player.getGuild()) != null) {
throwbackError(pc, "This guild is already baning someone.");
return;
}
Blueprint blueprint = Blueprint.getBlueprint(24300);
if (blueprint == null) {
throwbackError(pc, "Unable to find building set for banestone.");
return;
}
Vector3f rot = new Vector3f(0, 0, 0);
// *** Refactor : Overlap test goes here
//Let's drop a banestone!
Vector3fImmutable localLocation = ZoneManager.worldToLocal(pc.getLoc(), zone);
if (localLocation == null) {
ChatManager.chatSystemError(pc, "Failed to convert world location to zone location. Contact a CCR.");
Logger.info("Failed to Convert World coordinates to local zone coordinates");
return;
}
Building stone = DbManager.BuildingQueries.CREATE_BUILDING(
zone.getObjectUUID(), pc.getObjectUUID(), blueprint.getName(), blueprint.getBlueprintUUID(),
localLocation, 1.0f, blueprint.getMaxHealth(rank), ProtectionState.PROTECTED, 0, rank,
null, blueprint.getBlueprintUUID(), 1, 0.0f);
if (stone == null) {
ChatManager.chatSystemError(pc, "Failed to create banestone.");
return;
}
stone.addEffectBit((1 << 19));
BuildingManager.setRank(stone, (byte) rank);
stone.setMaxHitPoints(blueprint.getMaxHealth(stone.getRank()));
stone.setCurrentHitPoints(stone.getMaxHitPoints());
BuildingManager.setUpgradeDateTime(stone, null, 0);
//Make the bane
Bane bane = Bane.makeBane(player, city, stone);
if (bane == null) {
//delete bane stone, failed to make bane object
DbManager.BuildingQueries.DELETE_FROM_DATABASE(stone);
throwbackError(pc, "Failed to create bane.");
return;
}
WorldGrid.addObject(stone, pc);
//Add baned effect to TOL
city.getTOL().addEffectBit((1 << 16));
city.getTOL().updateEffects();
Vector3fImmutable movePlayerOutsideStone = player.getLoc();
movePlayerOutsideStone = movePlayerOutsideStone.setX(movePlayerOutsideStone.x + 10);
movePlayerOutsideStone = movePlayerOutsideStone.setZ(movePlayerOutsideStone.z + 10);
player.teleport(movePlayerOutsideStone);
throwbackInfo(pc, "The city has been succesfully baned.");
}
@Override
protected String _getHelpString() {
return "Creates an bane.";
}
@Override
protected String _getUsageString() {
return "'./makebane playerUUID baneRank'";
}
}
+7 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.devcmd.cmds; package engine.devcmd.cmds;
+7 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.devcmd.cmds; package engine.devcmd.cmds;
+7 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.devcmd.cmds; package engine.devcmd.cmds;
+7 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.devcmd.cmds; package engine.devcmd.cmds;
+7 -7
View File
@@ -1,10 +1,10 @@
// ·. · · · · . // ·. · · · · .
// · · // · ·
// · · // · ·
// //
// · · · // · · ·
// Magicbane Emulator Project © 2013 - 2022 // Magicbane Emulator Project © 2013 - 2026
// www.magicbane.com // https://www.magicbane.com
package engine.devcmd.cmds; package engine.devcmd.cmds;

Some files were not shown because too many files have changed in this diff Show More