Commit graph

707 commits

Author SHA1 Message Date
Vsevolod Kremianskii
5d434b0103 feat: Add enums for feats and Force Powers 2020-12-12 21:43:50 +07:00
Vsevolod Kremianskii
a68c92456b feat: Implement more script routines 2020-12-12 20:54:04 +07:00
Vsevolod Kremianskii
34b1672437 feat: Implement printing script routines 2020-12-12 19:11:24 +07:00
Vsevolod Kremianskii
f923b24fef feat: Implement effect creation script routines 2020-12-12 16:44:51 +07:00
Vsevolod Kremianskii
796833ebab feat: Implement getIs(Enemy|Friend|Neutral) script routines 2020-12-12 15:37:51 +07:00
Vsevolod Kremianskii
dfb7e6bf46 feat: Implement faction script routines
This enables combat in the third room of the Endar Spire.
2020-12-12 12:45:26 +07:00
Vsevolod Kremianskii
901d07aecd refactor: Move damageresolver and factionutil into rp folder 2020-12-12 12:32:59 +07:00
Vsevolod Kremianskii
926aa88630 fix: In dialog pick first entry without activation script 2020-12-12 12:17:01 +07:00
Vsevolod Kremianskii
48d16a1eba chore: Add debug logging to DialogGUI 2020-12-12 12:14:47 +07:00
Vsevolod Kremianskii
a6ba16b06c ci: Fix CI compilation errors 2020-12-12 12:10:59 +07:00
Vsevolod Kremianskii
5e5305a713 refactor: Major refactoring of the scripting subsystem
- Use smart pointers for objects and engine types instead of ids
- Use helper functions to access routine arguments
2020-12-12 11:09:59 +07:00
Vsevolod Kremianskii
2b6e4608a1 feat: Implement more script routines
(Add|Remove)PartyMember, Get(First|Next)ItemInInventory.
2020-12-11 16:16:39 +07:00
Vsevolod Kremianskii
cc0fd41054 chore: Detail logging in ScriptExecution 2020-12-11 15:43:01 +07:00
Vsevolod Kremianskii
c24955f857 feat: Implement logging to a file 2020-12-11 15:35:51 +07:00
Vsevolod Kremianskii
176beb7e0c style: Isolate SWMG_* routines for readability 2020-12-11 15:18:34 +07:00
Vsevolod Kremianskii
f56791fc2e feat: Prepare to run creature spawn script 2020-12-11 15:03:28 +07:00
Vsevolod Kremianskii
c2dab9d651 feat: Implement more script routines
getDistanceBetween and hit points getters/setters.
2020-12-11 13:23:02 +07:00
Vsevolod Kremianskii
4353e75d75 fix: Change selectable position for dead creatures 2020-12-11 12:54:23 +07:00
Vsevolod Kremianskii
c3a7517c41 feat: Load inventory items from the creature blueprint 2020-12-11 12:52:28 +07:00
Vsevolod Kremianskii
bd76265a8e refactor: Refactor party inventory and updating creature models
- Equipped items are not added to the inventory
- Equipment screen always shows items in player inventory
- Model is always replaced by a new instance
2020-12-11 11:55:38 +07:00
Vsevolod Kremianskii
c1a6bbb841 fix: Do not use dead creatures for collision detection 2020-12-11 11:16:09 +07:00
Vsevolod Kremianskii
97ae9fbc1f feat: Implement looting of dead bodies 2020-12-11 11:10:59 +07:00
Vsevolod Kremianskii
e592f10977 refactor: Refactor combat, fix initiating rounds with dead creatures 2020-12-11 10:42:11 +07:00
Vsevolod Kremianskii
55991766f6 feat: Change cursor to attack when targeting hostiles 2020-12-11 09:30:20 +07:00
Vsevolod Kremianskii
9fcc9908dd fix: Fix title color when selecting non-hostile objects 2020-12-11 09:16:57 +07:00
Vsevolod Kremianskii
142baa6e1a fix: Dead creatures are not used for collision detection 2020-12-11 08:42:56 +07:00
Vsevolod Kremianskii
ab9faf85e4 fix: Creatures have separate death animations 2020-12-11 08:39:38 +07:00
Vsevolod Kremianskii
2339e8dbac doc: Update readme
[ci skip]
2020-12-11 08:35:48 +07:00
Vsevolod Kremianskii
49558cb68b
doc: Update readme
[ci skip]
2020-12-11 01:52:06 +07:00
Vsevolod Kremianskii
e2641753ba
doc: Update readme
[ci skip]
2020-12-11 01:45:59 +07:00
Vsevolod Kremianskii
0d8b209ae6 feat: Use red colored interface when selecting hostile objects 2020-12-10 21:59:47 +07:00
Vsevolod Kremianskii
92a144b9ea feat: Implement death 2020-12-10 21:34:59 +07:00
Vsevolod Kremianskii
13bb96f5cf fix: Fix creatures getting stuck when moving in groups 2020-12-10 21:01:38 +07:00
Vsevolod Kremianskii
beb0b3183f feat: Check line-of-sight when initiating combat 2020-12-10 20:52:10 +07:00
Vsevolod Kremianskii
e1d47ea786 feat: Equip party members with weapons when warping from the main menu 2020-12-10 17:37:32 +07:00
Vsevolod Kremianskii
525c0b3025 feat: Implement simple attack rolls and damage calculation 2020-12-10 17:26:28 +07:00
Vsevolod Kremianskii
2dff04466e feat: Display hit points of party members and selected objects 2020-12-10 15:18:15 +07:00
Vsevolod Kremianskii
f5961468c1 refactor: Extract creature model building into a separate class 2020-12-10 14:17:14 +07:00
Vsevolod Kremianskii
0fcb37f45f refactor: Extract creature animation handling into a separate class 2020-12-10 13:48:40 +07:00
Vsevolod Kremianskii
798eb3f809 refactor: Rename files with utility functions in libgame
- characters to characterutil
- classes to classutil
- colors to colorutil
- factions to factionutil
- portraits to portraitutil
2020-12-10 13:09:54 +07:00
Vsevolod Kremianskii
c057421273 feat: Output row index when converting 2DA to JSON 2020-12-10 12:44:47 +07:00
Vsevolod Kremianskii
f8e6bf4257 refactor: Refactor GffStruct API 2020-12-10 12:39:26 +07:00
Vsevolod Kremianskii
12850c79b2 refactor: Accept defaultValue in most GffStruct::get* functions 2020-12-10 11:56:02 +07:00
Vsevolod Kremianskii
da394114d3 refactor: Add GffStruct::getBool function 2020-12-10 11:47:15 +07:00
Vsevolod Kremianskii
85d9a48ec0 feat: Load hit point properties of creatures, placeables and doors 2020-12-10 11:42:43 +07:00
Vsevolod Kremianskii
7c73445110 refactor: Refactor blueprints
Blueprints now directly set game object properties. This reduces duplication of member variables.
2020-12-10 11:13:06 +07:00
Vsevolod Kremianskii
534c9f92eb chore: Remove unused WaypointBlueprint 2020-12-09 20:30:45 +07:00
Vsevolod Kremianskii
0c1c06c9c3 feat: Add hit point variables to the Object class 2020-12-09 20:23:38 +07:00
Vsevolod Kremianskii
f052df1518 doc: Update diagrams
[ci skip]
2020-12-09 18:14:19 +07:00
Vsevolod Kremianskii
1922c07243 doc: C++ is not only faster, but is more compatible than JavaScript
[ci skip]
2020-12-08 23:14:14 +07:00