It would be interesting to see Contingency effects in OpenMW, similar to the ones featured in Baldur’s Gate 2.
If your health drops below 15, your enchanted shield automatically casts a healing spell.
If you get hit by a fireball, your robe temporarily raises your fire resistance.
You jump off a cliff and your Dwemer Boots of Floating automatically cast a Slowfall, when you reach lethal speed.
Would have to be balanced against existing "Cast on Use", "Constant Effect" enchantments. Not sure how difficult to implement. Would be fun to play a mage with such a setup.
Contingency spells/ enchants
Re: Contingency spells/ enchants
This would probably require some kind of build-in simple spell scripting in engine. And would need changes in how spell-crafting and enchanting (and maybe even spells itself) currently work. Definitely post-1.0 stuff...
(Also, this thread with request for extended spell customisation might be relevant .)
(Also, this thread with request for extended spell customisation might be relevant .)
- DestinedToDie
- Posts: 1181
- Joined: 29 Jun 2015, 09:08
Re: Contingency spells/ enchants
Some of these you can already do. If your shield player->onequip = 1, if health < 15, player->addspell shieldheal. With some additional tweaks like checking if you already have the shield heal ongoing it could work just as you describe.
Fire resistance would be harder to pull off. You'd need a script on your robe that checks for specific spells and there are multiple fire spells in game. Maybe resource-heavy to pull off in unmodded Morrowind, but not so if you design the game around the idea of enemies mostly using 1 specific fire spell.
These kinda situation specific things are definitely going to need scripts. Maybe we need better script functions (check for fire damage, instead of specific spell).
Fire resistance would be harder to pull off. You'd need a script on your robe that checks for specific spells and there are multiple fire spells in game. Maybe resource-heavy to pull off in unmodded Morrowind, but not so if you design the game around the idea of enemies mostly using 1 specific fire spell.
These kinda situation specific things are definitely going to need scripts. Maybe we need better script functions (check for fire damage, instead of specific spell).
Re: Contingency spells/ enchants
reading https://en.wikipedia.org/wiki/The_Long_Dark as pal linked twitch channels
edit: going over the topic here but this could be then expanded
https://wiki.openmw.org/index.php?title ... #Scripting
another example would be cast on swing or in the fire resistance counter, cast on hit. getting mesh files and animation keys can be kinda tricky if not baked separately. something in data level, so that you could make army to fight and get bucket of water to pour over them every time idle animation / effect counter is played. event described in data and that executing script to handle the bucket sounds minimal in run times.
and other one, that backpack or totem giving player health points when near and playing ancestral ghost sound + restoration spell effect on player position once.
- Tools and items degrade over time, forcing the player to make careful decisions regarding their condition and their eventual need for repair. Fire, being a primary component, is necessary for warmth and cooking. The player has to forage for wood and fuel on a regular basis to stay alive. The player can also get sick from food poisoning and disease.The Long Dark simulates a full day/night cycle which is a fundamental part of the game. The game also simulates temperature and windchill, both of which are random during every playthrough, encouraging the player to monitor the weather carefully at all times to prevent death from exposure.
edit: going over the topic here but this could be then expanded
https://wiki.openmw.org/index.php?title ... #Scripting
- More advanced events handling: instead of script checking for event every frame, allow for functions to be attached as event handlers. Also, allow more than one event handler for an event, attaching and deleting event handlers programmatically (i.e., from a script), list event handlers for an object, etc.
another example would be cast on swing or in the fire resistance counter, cast on hit. getting mesh files and animation keys can be kinda tricky if not baked separately. something in data level, so that you could make army to fight and get bucket of water to pour over them every time idle animation / effect counter is played. event described in data and that executing script to handle the bucket sounds minimal in run times.
and other one, that backpack or totem giving player health points when near and playing ancestral ghost sound + restoration spell effect on player position once.