This controls the diseases available to use on On Hit: properties ItemPropertyOnMonsterHitProperties and ItemPropertyOnHitProps, and with EffectDisease.

Disease Functionality

You can only have one disease effect on at once. Diseases have set DC's (even scripted ones) defined in this 2da. Note the applied ability damage effects mirror the parent disease effect, which is recommended to apply as Supernatural so it survives dispel magic/resting.

Note that diseases function some more radically than their PnP counterparts (increased amounts of ability score damage in quicker amounts of time), but also they are easier to remove with Healing Kits and spells.

There are several stages to a disease:

Initial Application

It checks if the target is dead, not a creature, immune to disease, or already has EFFECT_TYPE_DISEASE, the effect is not applied.

If it can be applied then it does a fortitude saving throw against First_Save DC. If the creature passes, the disease is not applied and is removed.

If it fails then floaty text 66533 appears ("Disease: Incubation Started"), and visualeffects.2da line 51 plays on the creature (VFX_IMP_DISEASE_S).

The disease effect stays on and gets a timer set for when the incubation initial save occurs - using Incu_Hours with essentially a HoursToSeconds call.

Incubation Period Initial Save

After Inc_Hours (in-game hours) time has passed, a fortitude save occurs using Subs_Save DC. visualeffects.2da line 84 plays on the creature (VFX_IMP_POISON_S).

If saved, then the floaty text 66536 occurs ("Disease: Ability Damage Resisted"), and:

  • Resets the timer to be 24 hours later (1 day)
  • Sets a value to say "save has been resisted once" so the 24 hour script will now fire.

If failed, then the Payload happens immediately.

In either case 24 hours is added to the timer for the disease incubation for the 24 Hour Check.

24 Hours Check

A fortitude save occurs. again it uses Subs_Save DC. visualeffects.2da line 84 plays on the creature (VFX_IMP_POISON_S).

If saved, there are two cases:

  • If we have not saved at all yet, then the floaty text 66536 occurs ("Disease: Ability Damage Resisted"), and:
    • Resets the timer to be 24 hours later (1 day)
    • Sets a value to say "save has been resisted once" so the 24 hour script will now fire.
  • If saved twice at this point then the disease is removed with floaty text 66537 ("Recovered From Disease"). No ability damage or other effects are removed.

If failed, then the Payload happens immediately but instead of the End_Incu_Script it fires the 24_Hour_Script.

In either case the timer is reset as noted at the end of Payload.

Payload

Once the payload is fired it does floaty text 66535 ("Disease: Ability Damage Applied").

The payload consists of 4 potential items:

  • Between 0 and 3 amounts of EffectAbilityDecrease applied using the Dice_X, Dam_X of Type_X, eg: if Dice_1 is 4, Dam_1 is 2 and Type_X is 0 it does this:
    • EffectAbilityDecrease(ABILITY_STRENGTH, d4(2));
    • These effects have the creator set to the parent disease, and the same subtype (eg; supernatural) and spell ID for easier identification
    • They are not linked together and have no visuals applied
  • Script End_Incu_Script is fired on the creature if the save was failed at the end of the incubation period
  • Else script 24_Hour_Script fires on repeated failed saves.
    • OBJECT_SELF is the person the disease is applied to, which has some odd effects for any effects created in the script - ie that creature applies effects to itself.
    • The script otherwise is just a script. There is no spell ID/caster level for it.

Once the payload has fired the timer is reset for 24 hours again - go back to 24 Hours Check above. This means the disease payload can trigger multiple times until 2 successful saves are made, or it is removed (Healers kit, spells that remove disease etc.).

Resting with Disease

This simply skips the timer and instantly applies an incubation event, with a resulting save and payload. The timer is again reset at this point.

2da Columns

ColumnExample ContentsValid ValuesDescription and Notes
LabelBlinding_SicknessText

Human readable label. The label must be a continuous line of text - e.g. BrokenTable - unless bracketed by quotation marks - e.g. "Table, Broken".

Sadly this is not used by the toolset.

Name4689TLK line referenceToolset and game reference for the disease.
First_Save16IntegerThe initial save DC. Usually higher than the second, if saved then doesn't apply the disease at all.
Subs_Save16Integer

The subsequent save DC. Usually lower than the first. If saved twice, the disease is removed/nothing happened. If failed once it will apply the payload.

This is also the DC of the heal check needed to remove the disease with a healing kit.

Incu_Hours1IntegerThe Incubation Hours, amount of in-game hours before the subsequent incubation saves.
Dice_14Integer or ****

EffectAbilityDecrease Payload dice - size of dice. EG: 4 is xd4

Use **** to not have this payload apply.

Dam_11Integer or ****

EffectAbilityDecrease Payload amount of dice - eg; 1 is 1dx

Use **** to not have this payload apply.

Type_10Integer or ****

EffectAbilityDecrease Payload ability type. Use the nwscript constants for ABILITY_*, ie:

int    ABILITY_STRENGTH         = 0;
int    ABILITY_DEXTERITY        = 1;
int    ABILITY_CONSTITUTION     = 2;
int    ABILITY_INTELLIGENCE     = 3;
int    ABILITY_WISDOM           = 4;
int    ABILITY_CHARISMA         = 5;

Use **** to not have this payload apply.

Dice_23Integer or ****Second payload dice size. Use **** to not have this payload apply.
Dam_21Integer or ****Second payload dice amount. Use **** to not have this payload apply.
Type_22Integer or ****Second payload ability damage type. Use **** to not have this payload apply.
Dice_36Integer or ****Third payload dice size. Use **** to not have this payload apply.
Dam_32Integer or ****Third payload dice amount. Use **** to not have this payload apply.
Type_32Integer or ****Third payload ability damage type. Use **** to not have this payload apply.
TypeEXTRA
Not used by the game (see notes above, all effects applied follows the parent effect type).
End_Incu_ScriptNW_S3_SlaadEgg**** or script resref**** for no script or the script to run once the payload is delivered only for the first incubation period.
24_Hour_ScriptNW_S3_BlindSick**** or script resref**** for no script or the script to run on any failed saves after 24 hours intervals.

2da Contents

2DA V2.0                                                                                                                                                                                           
                                                                                                                                                                                                     
      Label               Name        First_Save   Subs_Save   Incu_Hours   Dice_1   Dam_1   Type_1   Dice_2   Dam_2   Type_2   Dice_3   Dam_3   Type_3   Type    End_Incu_Script   24_Hour_Script   
                                                                                                                                                                                                      
0     Blinding_Sickness   4689        16           16          1            4        1       0        ****     ****    ****     ****     ****    ****     EXTRA   ****              NW_S3_BlindSick
1     Cackle_Fever        4690        16           16          1            6        1       4        ****     ****    ****     ****     ****    ****     EXTRA   ****              ****             
2     Demon_Fever         4691        18           18          1            6        1       2        ****     ****    ****     ****     ****    ****     SUPER   ****              Nw_S3_DemonFev       
3     Devil_Chills        4692        14           14          1            4        1       0        ****     ****    ****     ****     ****    ****     SUPER   ****              ****             
4     Filth_Fever         4693        12           12          1            3        1       3        3        1       2        ****     ****    ****     EXTRA   ****              ****             
5     Mindfire            4694        12           12          1            4        1       3        ****     ****    ****     ****     ****    ****     EXTRA   ****              ****             
6     Mummy_Rot           4695        20           20          1            6        1       2        ****     ****    ****     ****     ****    ****     SUPER   ****              ****             
7     Red_Ache            4696        15           15          1            6        1       0        ****     ****    ****     ****     ****    ****     EXTRA   ****              ****             
8     Shakes              4697        13           13          1            6        1       0        ****     ****    ****     ****     ****    ****     EXTRA   ****              ****             
9     Slimy_Doom          4698        14           14          1            4        1       1        ****     ****    ****     ****     ****    ****     EXTRA   ****              ****             
10    Red_Slaad_Eggs      4699        17           17          1            6        2       1        6        2       0        6        2       2        EXTRA   NW_S3_SlaadEgg    ****             
11    Ghoul_Rot           4700        18           18          1            6        1       2        6        1       0        ****     ****    ****     SUPER   ****              ****             
12    Zombie_Creep        4701        15           15          1            4        1       2        4        1       1        ****     ****    ****     SUPER   ****              ****             
13    Dread_Blisters      4702        13           13          1            4        1       2        4        1       5        ****     ****    ****     SUPER   ****              ****             
14    Burrow_Maggots      4703        17           17          1            4        1       3        4        1       4        ****     ****    ****     SUPER   ****              ****             
15    Soldier_Shakes      4704        25           25          1            ****     ****    ****     ****     ****    ****     ****     ****    ****     ****    ****              Nw_S3_SoldShake      
16    Vermin_Madness      4705        13           13          1            1        1       3        1        1       4        1        1       5        EXTRA   ****              ****             

  • No labels