Just to add a nugget of information - the anim goals aren't animations, they're basically state machine controllers for game objects. They can trigger various things, such as animations obviously, but also events, scripts, other anim goals, etc.
Thanks anatoliy, I did take a look into your work, I am not sure I fully understand the magic but I can see in your video the rage animation That's what I am looking for.
Would it be ok to add a performAttack to the python_object? I have some spells from the Warmage spell list on my ToDo that actually require a normal to hit instead of a touch attack. I would copy/paste the perform_touch_attach and change it to (and hope it works): Code: static PyObject* PyObjHandle_PerformAttack(PyObject* obj, PyObject* args) { auto self = GetSelf(obj); if (!self->handle) { return 0; } D20Actn action(D20A_STANDARD_ATTACK); int isMelee = 0; if (!PyArg_ParseTuple(args, "O&|i:objhndl.perform_attack", &ConvertObjHndl, &action.d20ATarget, &isMelee)) { return 0; } // Build a to-hit action, do hit processing and return the result action.d20APerformer = self->handle; if (!isMelee) { action.d20Caf = D20CAF_RANGED; } action.data1 = 1; combatSys.ToHitProcessing(action); d20Sys.CreateRollHistory(action.rollHistId1); d20Sys.CreateRollHistory(action.rollHistId2); d20Sys.CreateRollHistory(action.rollHistId0); return PyInt_FromLong(action.d20Caf); } EDIT: Hmm, there would be D20A_STANDARD_RANGED_ATTACK, so I should entirely drop the ranged part I guess
I also would like to list things which I believe would be nice to improve in T+: Trip attack to use weapon bonuses; Trip attack to be single attack not standard action; Introduce Grapple mechanics! Allow Natural attacks to be mixed with regular ones (with weapon).
We should either add obj.has_los_blocked(target, flags) or modify obj.has_los(target, ignore_conditions = False). Similarly to UiPicker:ickerLosBlocked. I'm really tired of creating many workarounds for that when scripting tactics for blind foes.
Is it possible to get a set_param function for Code: py::class_<DispatcherCallbackArgs>(m, "EventArgs") At the moment I only have a get_param function, but sometimes it would be helpful to have a set_param function as well, like the set_arg function.
What is the intended use case? You're aware that the params are static variables, i.e. not per instance, right? As such I definitely won't add that to EventArgs.
I think you can do all that python-side. 1) Create a D20Action object, set its properties as needed 2) Call its method "to_hit_processing": d20a.to_hit_processing() 3) Use game.create_history_from_id(d20a.roll_id_0) etc
Ok. Thank you Sitra, will test this with a few new spells for the Warmage Hope you and your family is fine *fingers crossed*
All the important Covid data seems to be coming from Israel, so pls report your symptoms accurately! O and get well too.
Ha Boris has more or less promised us that we won't have to isolate after a positive test from next Thursday....
For example - on critter's start_combat (his round start) I will evaluate foes: * foes_threatening * foes_adjacent * foes_can_sense * foes_can_los * foes_could_be_approached Now, for archers it's my decision, whether they should target invisible targets (or anyone when it's blinded). npc.has_los() will check if critter actually has ability to see, which does not suit me. I need npc.has_los_blocked() kind of method which will have code similar to PickerLosBlocked. Currently I have written sorting of targets and invisible ones are at the bottom, so are picked last by AI. But if only one left, archers would be thinking that they have no LOS, instead of they have LOS but also will have miss chance. By RAW enemy archers would know, that there is someone. But to pinpoint would have to either hear or huge spot check. I'm considering adding "prev turn location" for PCs in the future to determine, whether NPC should check where PCs are so they can target them. But for now let's consider that NPC know exactly where they are.