-
Posts
312 -
Joined
Content Type
Forums
Events
Downloads
Gallery
Mods
News
Store
Posts posted by Magus
-
-
There's Wait(). And I think you can actually check Kit().
-
25 minutes ago, ptifab said:
Weidu returns an integer conversion error with EFF_resource ? As i don't know exactly this part of code, do you have any tips to why it says that ?
Because it's not defined. You'll need to define it and other used constants (or use IElib).
-
Allow me
to show off:ACTION_DEFINE_ASSOCIATIVE_ARRAY fog_spells BEGIN ~%WIZARD_STINKING_CLOUD%~ => 1 ~%WIZARD_STINKING_CLOUD%D~ => 1 ~%WIZARD_CLOUDKILL%~ => 1 ~%WIZARD_CLOUDKILL%D~ => 1 ~%WIZARD_DEATH_FOG%~ => 1 ~%WIZARD_DEATH_FOG%D~ => 1 ~%WIZARD_INCENDIARY_CLOUD%~ => 1 ~%WIZARD_INCENDIARY_CLOUD%D~ => 1 ~%CLERIC_WRITHING_FOG%~ => 1 ~RR#WI502~ => 1 ~DVCKILL~ => 1 ~DVWCKILL~ => 1 ~DVCKILL2~ => 1 ~WAND13~ => 1 END COPY_EXISTING_REGEXP GLOB ~^.+\.spl$~ override GET_OFFSET_ARRAY ab_array SPL_V10_HEADERS PHP_EACH ab_array AS ab_ind => ab_off BEGIN added = 0 GET_OFFSET_ARRAY2 fx_array ab_off SPL_V10_HEAD_EFFECTS PHP_EACH fx_array AS fx_ind => fx_off BEGIN PATCH_IF added != 1 BEGIN READ_SHORT fx_off opcode READ_ASCII (fx_off + EFF_resource) resource (8) NULL TO_UPPER resource PATCH_IF opcode == OPCODE_protection_from_spell AND VARIABLE_IS_SET $fog_spells("%resource%") BEGIN READ_BYTE (fx_off + EFF_resistance) original_resist_dispel READ_LONG (fx_off + EFF_duration) original_duration header = (ab_ind + 1) insert_point = 99 target = TARGET_EFF_self LPF ADD_SPELL_EFFECT INT_VAR opcode = OPCODE_display_special_effect_icon parameter2 = icon_ref resist_dispel = original_resist_dispel duration = original_duration header insert_point target END LPF ADD_SPELL_EFFECT INT_VAR opcode = OPCODE_text_display_string parameter1 = RESOLVE_STR_REF(@1000117) timing = TIMING_instant resist_dispel = BYPASS_MR header insert_point target END added = 1 END END END END BUT_ONLY
Testing required, of course.
You might be able to trim it down further with CLONE_EFFECT, maybe.
-
You can post the file, maybe someone else spots what's wrong with it.
-
I would still recommend to stick to ACTION_PHP_EACH, because "OUTER_FOR (npc = 0; npc < 28; ++npc)" is prone to mistakes if you later add or remove NPCs.
-
Did you actually check item name in the savegame? Mods often add copies/replacements for various reasons.
-
Check SOURCE_SIZE or signature.
-
Yes, it's mine. There was never a v8 released. There was (and is) a WIP on github. I think Roxanne's tool uses master HEAD, so it could've picked that up. But obviously it's a bad practice and any feedback about unreleased versions will not even be considered.
-
-
Functional way is obviously much better than just writing bytes left and right. The holy grail, however, would be object-oriented style. But I'm afraid it would take a tool other than WeiDU.
21 hours ago, DavidW said:I think the main advantages in simple edits like the one Luke gives are that code is basically self-documenting and, more importantly, that errors tend to produce install-time failures rather than silent bugs.
These are both very important points, I agree. (And also I think that "sanity" checks included in many mods are actually detrimental to the overall mods quality in the long term. Install-time failures are immidiately obvious and get fixed relatively quick. But if mods "work around" issues by skipping the files, errors can linger for many years).
And even when not using SFO, basic self-documenting not that hard to achieve by simply defining the corresponding constants:
COPY_EXISTING ~plyspid.itm~ ~override~ PHP_EACH web_spells AS index => spell BEGIN LPF ADD_ITEM_EQEFFECT INT_VAR opcode = OPCODE_protection_from_spell target = TARGET_EFF_self timing = TIMING_while_equipped resist_dispel = BYPASS_MR STR_VAR resource = EVAL ~%spell%~ END END BUT_ONLY
22 hours ago, subtledoctor said:I feel like I would probably need to have its documentation open in my browser, to make sure I'm using it right; and it is similarly likely I would have the IESDP page for the CRE file structure open when editing with normal Weidu commands.
A properly structured documentation can be added to intellisense. Which doesn't obsolete the need to read the actual doc first, but still reduces the amount of alt-tabbing.
-
On 7/15/2020 at 10:37 PM, Greenhorn said:
Thanks for this. I'm currently playing v.7. As far as I can see, much of it is unusable on TUTU but for BGT this mod will be priceless.
Do you mean that components are inapplicable, or you're hitting some issues? Please do report the latter to github.
I never actually tried TuTu, so I don't test on it. And looking at it, it's hard to even understand what to use. There's V4, and V6 beta, and TuTufix, and also something called EasyTuTu... Is there a definitive version?
-
You can try giving her "gold" item (a stash, like in containers)
-
On 6/21/2020 at 1:59 AM, temnix said:
The concession to making the check once every three rounds with a minion is already a bit of a stretch - the characters may rush out of an area after killing someone, and the global won't be set to reflect this.
The same can happen with baldur.bcs.
-
11 hours ago, jastey said:
The InParty check
The NPC can talk check
The actual trigger variable of this dialogue
damn, I wrote a longish reply, pressed ctrl-z to cancel last words and IPB deleted it all with no possibility of restoring
Short answer: just these 3 - no difference.
-
IIRC ORs are slow, since every triggers is checked (thus CD_STATE_NOT_VALID exists). Checking gvars is fast.
Obviously, It's best to cut off early.
Anyway, there's not much point in thinking about it until you actually hit a performance problem.
-
kludgemaster 3000: you can set a short timer in dplayer.bcs, once it expires you'll know it's off. Not instant, and won't work in some corner cases, but hey, it's something.
-
There's something in EEEx https://eeex-docs.readthedocs.io/en/latest/EE Game Lua Functions/game/game_GetPartyAI.html#game-getpartyai, although the usage is unclear.
-
Purchased items are dword (4 bytes), you have to use READ/WRITE_LONG, and correspondingly, INSERT 4 bytes, not 0xc. And increase purc-num.
-
I think SWPI213 is supposed to be "SPWI213"?
Add some PATCH_PRINTs to debug whether it enters the IF.
-
You can stuff more info into LABEL, or put it into a comment in tp2.
-
Thanks to a generous donation by @Blash2, Golem now supports SoD and EET.
-
18 hours ago, Blash2 said:
@qwerty1234567 I would gladly offer you a SoD license (I'm not joking). Since I'm not a modder and can contribute only to a lesser extent, I'd just be happy.
That would come useful, not only to TnT, but to any mod using the Golem, please do get in touch if you decide to proceed.
18 hours ago, Blash2 said:And, what about making a dedicated topic in this forum? In my opinion your tweak pack is not properly known and should have a better place.
You're welcome to. I, however, only track github and TnT's own forum, and can't guarantee responding to any messages posted elsewhere.
-
Quote
String is a list of whitespace-separated entries, chosen from (case doesn’t matter)
bg2=soa, tob, iwd2, pst, bg1, totsc, iwd=iwd1, how, totlm, tutu, tutu_totsc, bgt, ca, iwd_in_bg2, bgee, bg2ee, eet, iwdee, pstee
.Please note that the items in the list are defined to be mutually exclusive.
-
VScode for WeiDU
in Modding How-Tos and Tutorials
Posted · Edited by qwerty1234567
Another update for BGforge MLS and IElib. They now support importing IE file formats data from IESDP. Currently, that includes ITM and SPL v1, as well as EFF v1/v2.
You can help to add more formats. In fact, if you want, you can have most of IESDP data right in your IDE. All it takes is just some copy-paste.
The update also features a custom Monokai-based theme designed to make better use of the aforementioned data.
Feel free to share feedback on the forum.