New Temple+ Available

Discussion in 'General Modification' started by _doug_, May 6, 2020.

Remove all ads!
Tags:
  1. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,039
    Likes Received:
    220
    Sure! Sorry if it looks like I'm neglecting you, I'm kind of doing a round robin between various things right now...
     
  2. Sagenlicht

    Sagenlicht Member

    Joined:
    Apr 14, 2004
    Messages:
    78
    Likes Received:
    9
    No worries, I am fully aware that we all do this in our free time :)
     
  3. Sagenlicht

    Sagenlicht Member

    Joined:
    Apr 14, 2004
    Messages:
    78
    Likes Received:
    9
    Took me a bit longer than expected to post a new update, but I had to take a look into the partsys system for Cloud of Bewilderment as I did not find a 10-ft. radius cloud effext and for the Fire Shuriken spell I had to take a look into the protos.tab

    But anyways I finished the assassin level 2 spells, next will be the bard level 3 spells.

    Critical Strike - stacks with improved critical and keen edges which it should not.
    Camouflage
    Appraising Touch
    Phantom Threat
    Distort Speech - item effect is missing, but otherwise fully functional
    Distract
    Focusing Chant
    Herald's Call
    Improvisation
    Invisibility, Swift
    Ironguts
    Ironthunder Horn (new Animation :))
    Master's Touch
    Serene Visage
    Shock and Awe (New Animation :))
    Sticky Fingers
    Undersong
    Distract Assailant
    Insightfull Feint
    Lightfoot
    Sniper's Shot

    Sonic Weapon
    Bonefiddle
    Cloud of Bewilderment
    Curse of Impending Blades
    Wave of Grief
    Harmonic Chorus
    Iron Silence
    War Cry
    Bladeweave
    Fell the Greatest Foe
    Fire Shuriken - Uses Protos ID 4998 (spell_compendium_protos.tab)
    Phantom Foe
    Veil of Shadow

    For some more details about the spells take a look into the readme.txt inside the overrrides.zip

    You have to modify your own constants.py to avoid a game crash:
    after spell_waves_of_exhaustion = 1004 add:
    spell_sound_lance = 1050
    spell_critical_strike = 1051
    spell_camouflage = 1052
    spell_appraising_touch = 1053
    spell_phantom_threat = 1054
    spell_distort_speech = 1055
    spell_distract = 1056
    spell_focusing_chant = 1057
    spell_heralds_call = 1058
    spell_improvisation = 1059
    spell_insidious_rhythm = 1060
    spell_inspirational_boost = 1061
    spell_invisibility_swift = 1062
    spell_ironguts = 1063
    spell_ironthunder_horn = 1064
    spell_joyful_noise = 1065
    spell_masters__touch = 1066
    spell_serene_visage = 1067
    spell_shock_and_awe = 1068
    spell_sticky_fingers = 1069
    spell_undersong = 1070
    spell_distract_assailant = 1071
    spell_insightfull_feint = 1072
    spell_lightfoot = 1073
    spell_snipers_shot = 1074
    spell_sonic_weapon = 1075
    spell_bonefiddle = 1076
    spell_cloud_of_bewilderment = 1077
    spell_curse_of_impending_blades = 1078
    spell_wave_of_grief = 1079
    spell_harmonic_chorus = 1080
    spell_iron_silence = 1081
    spell_war_cry = 1082
    spell_bladeweave = 1084
    spell_fell_the_greatest_foe = 1085
    spell_fire_shuriken = 1086
    spell_phantom_foe = 1087
    spell_veil_of_shadow = 1088
    As always please be aware that some spells use a custom damage.mes and one spell uses combat.mes for its radial menu.

    In addition I used protos.tab ID 4998 for my Fire Shuriken spell, please tell me, if I should use a different ID.

    @Sitra Achara
    I attached a save with a bard that can use War Cry you just have to uncomment the freeform line in the spell.
     

    Attached Files:

  4. anatoliy

    anatoliy Established Member

    Joined:
    Feb 18, 2017
    Messages:
    351
    Likes Received:
    105
    @Sagenlicht, can you open other forum thread with your new spells changes for code review? I have some questions about these changes, and do not won't to spam this particular thread.

    For example:
    Code:
    def criticalStrikeSpellBonusToDamage(attachee, args, evt_obj):
        targetToHit =  evt_obj.attack_packet.target
        #Check if opponent is valid target (needs to either flanked or be denied dex bonus for whatever reason and not immune to sneak attacks)
        if not targetToHit.is_category_type(mc_type_undead) or targetToHit.is_category_type(mc_type_construct) or targetToHit.is_category_type(mc_type_ooze) or targetToHit.is_category_type(mc_type_plant):
            if targetToHit.d20_query(Q_Helpless) == 1 or targetToHit.d20_query(Q_Flatfooted) == 1 or (evt_obj.attack_packet.get_flags() & D20CAF_FLANKED):
                wornWeapon = evt_obj.attack_packet.attacker.item_worn_at(item_wear_weapon_primary) #Get equipped mainhand weapon
                damageType = wornWeapon.obj_get_int(obj_f_weapon_attacktype) #Get Weapon dmg typing
                bonusDice = dice_new('1d6') #Critical Strike Bonus Damage
                evt_obj.damage_packet.add_dice(bonusDice, damageType, 3000) #ID3000 added in damage.mes
        return 0
    
    I would suggest separating function of check if target can have criticals and try to find it in the cpp source.

    Also there is question how would it work for Monks or Monster with natural weapon. Would it crash?
     
  5. Sagenlicht

    Sagenlicht Member

    Joined:
    Apr 14, 2004
    Messages:
    78
    Likes Received:
    9
    Sure :)
     
    anatoliy likes this.
  6. Sagenlicht

    Sagenlicht Member

    Joined:
    Apr 14, 2004
    Messages:
    78
    Likes Received:
    9
    @Sitra Achara, could you please reserve another 50 spell_enums for me? I've reachd 1100.
     
    _doug_ likes this.
  7. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,039
    Likes Received:
    220
    Sure!
     
  8. Endarire

    Endarire Ronald Rynnwrathi

    Joined:
    Jan 7, 2004
    Messages:
    625
    Likes Received:
    54
    You may have my spell enums for now.
     
Our Host!