5f181e25af
vcmi: modernize lib/mapObjects
2023-02-14 14:39:56 +03:00
d82822d37a
Fix reset of rewardable objects with reset period of 1 day
2023-01-28 13:12:03 +02:00
7a9e5e4e30
Cleanup & consistency changes
2023-01-25 00:38:50 +02:00
af5ff0c9df
Remove no longer used code
2023-01-24 23:34:02 +02:00
44bdd2cbf3
Implemented selectable messages for visited & empty state
2023-01-24 23:31:07 +02:00
ca6947b2cc
Fixed Tree of Knowledge component
2023-01-24 17:35:06 +02:00
c793527b44
Added "days since start of the game" limiter. Fixes Water Wheel
2023-01-24 16:54:14 +02:00
ca521fb129
Removed incomplete functionality from rewardable object
2023-01-24 16:29:05 +02:00
c9dcb921ab
Implemented "changeCreatures" option for Stables
2023-01-24 16:18:59 +02:00
ecbcafefbc
It is now possible to configure what exactly will be reset in object
2023-01-24 13:54:03 +02:00
0c70822928
Implemented logical expression (allOf/anyOf/noneOf) for limiters
2023-01-23 23:54:54 +02:00
f8f6df02f3
Removed remaining hardcoded objects
2023-01-23 15:27:27 +02:00
62e127fb59
Bonusing objects are now configured in json
2023-01-23 01:05:10 +02:00
bfd6c40f25
Moved all once-per-hero visitable (sans Tree) to config
2023-01-22 22:58:53 +02:00
a6bda58276
Moved CGOnceVisitable to config
2023-01-22 20:26:19 +02:00
9f3f9cc563
Added some missing functionality for configurable object
2023-01-22 02:08:58 +02:00
83bb70cd8a
All CGPickable objects are now fully configurable
2023-01-21 16:45:04 +02:00
388ed88b5d
All artifact strings now pass through translator
2023-01-20 15:18:36 +02:00
7c0d5666a0
Return string by copy to fix cases when string is constructed on stack
2023-01-01 20:55:43 +02:00
85d7b470d4
Access to quests texts is now processed via translator
2023-01-01 14:56:45 +02:00
7a35bcc812
Merge pull request #1221 from IvanSavenko/warnings_fix
...
Fix remaining compiler warnings
2022-12-29 21:51:55 +02:00
b030a88ca5
fix gold check for School of War
2022-12-29 01:45:51 +04:00
2855606a88
Enabled & fixed -Woverloaded-virtual warning from gcc/cland
...
- fixed almost all instances of overloaded-virtual warning
- cleared up inheritance & method overrides in code affected by warning
2022-12-07 21:50:45 +02:00
17f9c3af23
Library of Enlightenment fix
...
Do not offer choice between multiple identical option if hero is qualified
to receive multiple of them due to diplomacy skill
2022-12-06 18:08:10 +02:00
ff635edc0b
wrap all library code into namespace if VCMI_LIB_NAMESPACE is defined
...
preparation for having client and server in a single process
2022-09-24 15:55:21 +03:00
6cd810e065
fix showing "visited" message for Warrior's Tomb
2022-09-21 15:19:04 +03:00
7dc05d8e81
Support rewardable objects
2022-09-15 11:05:13 +03:00
3d2dc2335b
Switch ObjectTemplate to shared_ptr<const> ( #870 )
2022-09-11 16:13:53 +03:00
ecaa9f5d0b
Entities redesign and a few ERM features
...
* Made most Handlers derived from CHandlerBase and moved service API there.
* Declared existing Entity APIs.
* Added basic script context caching
* Started Lua script module
* Started Lua spell effect API
* Started script state persistence
* Started battle info callback binding
* CommitPackage removed
* Extracted spells::Caster to own header; Expanded Spell API.
* implemented !!MC:S, !!FU:E, !!FU:P, !!MA, !!VR:H, !!VR:C
* !!BU:C, !!BU:E, !!BU:G, !!BU:M implemented
* Allow use of "MC:S@varName@" to declare normal variable (technically v-variable with string key)
* Re-enabled VERM macros.
* !?GM0 added
* !?TM implemented
* Added !!MF:N
* Started !?OB, !!BM, !!HE, !!OW, !!UN
* Added basic support of w-variables
* Added support for ERM indirect variables
* Made !?FU regular trigger
* !!re (ERA loop receiver) implemented
* Fixed ERM receivers with zero args.
2021-02-14 19:05:43 +03:00
a05ae78e67
Fixed lots of warnings.
...
Disabled the following (for MSVC only) that couldn't (or shouldn't) be fixed.
4003: not enough actual parameters for macro 'identifier'
4250: 'class1' : inherits 'class2::member' via dominance
4251: 'type' : class 'type1' needs to have dll-interface to be used by clients of class 'type2'
4275: non dll-interface class 'type1' used as base for dll-interface class 'type2'
2020-10-04 02:20:18 -07:00
5718048752
Fix magic school gold payment
2019-03-11 18:56:05 +01:00
b00e935e4d
Warnings fixes ( #538 )
...
Warnings fixes
* Suppress `missing-braces` for Clang
* Fixed many C4275 warnings
* Fixed almost all Clang/GCC warnings
* Silence most frequent MSVC warning.
* Fixed some pessimizing-move warnings
* Fixed some unused capture warnings
2019-01-19 13:52:02 +03:00
c5ca75bc53
CRewardableObject: remove now unused soundID
2018-01-02 09:49:04 +01:00
f15cadc87b
Implement configurable object sounds: ambient, visit and removal
...
* If there more than one sound for visit or removal random is played
* At moment only the first ambient sound will be used
2018-01-02 09:49:03 +01:00
7d8adcc083
Add missing artifact name in wagon text, fix #2763
2017-10-05 14:52:51 +02:00
15138c23de
Finished conversion to new logging API
...
* removed logger streams
* (float3|int3)::operator() -> (float3|int3)::toString(), it was too ugly and confusing.
2017-08-11 23:06:27 +03:00
61e241308d
Logging cleanup
2017-08-10 19:52:05 +03:00
8314e8234f
Fix water wheel gold amount ( #348 )
2017-07-18 15:00:30 +03:00
f1e5797834
Code style: move or add licensing information on top of every file
2017-07-14 01:26:03 +03:00
3216422307
Fixed a few CWE-457
2016-11-27 22:07:01 +03:00
24585cde87
complete fix for http://bugs.vcmi.eu/view.php?id=2507
2016-10-11 18:19:42 +03:00
5c3f84138b
fixed random reward generation in CGVisitableOPW
2016-10-11 18:00:54 +03:00
7db7ece143
Do not send netpack inside netpack handler.
2016-10-09 19:38:13 +03:00
bb890098df
Fix regression for week-visitable objects
2016-10-09 18:51:41 +03:00
bb05db90e5
CRewardableObject::onHeroVisit: avoid crash on pickable objects
...
Missed this problem when tested #214
2016-09-23 11:47:07 +03:00
97d358b70f
Marking visited for team
...
Also no longer gives reward every player
2016-09-20 22:05:44 +02:00
28d859419c
Revert the old code
2016-09-16 22:01:21 +02:00
29d6fb0f04
Properly check if corpse was visited
...
Fixes two issues:
- corpse without loot couldn't be marked as visited
- taking loot from once visitable objects marked them as visited for all players
2016-09-16 20:59:07 +02:00
c8faca8f39
Refactoring: only use RNGs explicitly to avoid bug prone code in future
...
Now server-side code should always use CRandomGenerator::getDefault which is serialized in GH.
CGameState::getRandomGenerator should be only used from GS code and CPackForClient-based applyGs.
2016-09-11 00:10:46 +03:00
2ba3b20928
Multiple changes to RNG usage to both client and server
...
Server should never use RNG from CGameState directly.
Instead server get's own RNG that's state is secret for client.
2016-09-09 23:16:42 +03:00