Difference between revisions of "User:Tinkerer"

From Divinity Engine Wiki
Jump to: navigation, search
m (= Combat scripting)
m (To be added)
Line 9: Line 9:
 
** no health regeneration 3 seconds after leaving combat: set the *character flag* GLO_BlockRegenAfterCombat (handled by DefaultCharacter.charScript)
 
** no health regeneration 3 seconds after leaving combat: set the *character flag* GLO_BlockRegenAfterCombat (handled by DefaultCharacter.charScript)
 
** no magical/physical armor regeneration after leaving combat: set the *tag* NO_ARMOR_REGEN (handled by code)
 
** no magical/physical armor regeneration after leaving combat: set the *tag* NO_ARMOR_REGEN (handled by code)
 +
 +
==== UUID resolution ====
 +
Any of our load procedures works as follows:
 +
* we expect loads from multiple modules to be done according to the order given by module ActiveMod.GetLoadOrderedModules. (Shared first and then down the line)
 +
* if the uuid of an object already exists, the new load overwrites the old one.
 +
* if this happens in the same module, it's a critical design assert. Otherwise it's fine.

Revision as of 15:58, 24 August 2017

To be added

Behaviour script

  • TeleportTo has a force parameter.
    • For items: If it's not forced it will put it at y=0, else it will take the position provided.
    • For characters: If it's not forced, it will find the nearest AI-grid position, otherwise it will take the position provided

Combat scripting

  • If you have combats where an enemy gives up at the end and you do not want them to regenerate health and/or armor at that point, you can use the following features:
    • no health regeneration 3 seconds after leaving combat: set the *character flag* GLO_BlockRegenAfterCombat (handled by DefaultCharacter.charScript)
    • no magical/physical armor regeneration after leaving combat: set the *tag* NO_ARMOR_REGEN (handled by code)

UUID resolution

Any of our load procedures works as follows:

  • we expect loads from multiple modules to be done according to the order given by module ActiveMod.GetLoadOrderedModules. (Shared first and then down the line)
  • if the uuid of an object already exists, the new load overwrites the old one.
  • if this happens in the same module, it's a critical design assert. Otherwise it's fine.