Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Neverwinter Nights: Enhanced Edition has been released! Visit nwn.beamdog.com to make an order. NWN:EE FAQ is available.
Soundtracks for BG:EE, SoD, BG2:EE, IWD:EE, PST:EE are now available in the Beamdog store.
Attention, new and old users! Please read the new rules of conduct for the forums, and we hope you enjoy your stay!

Is there a way to make spawns actually random and unscaled?

MeriliremMerilirem Member Posts: 4
edited February 2016 in BG:EE Mods
I want to know if an unleveled spawns mod or something exists.

I want the game to be the same regardless of how many people are in my party or what level they are.

I want it to be random though, so i can run into top or bottom spawns when i solo or full group.

otherwise what's the point of teaming up if the game makes itself the same no matter what you do...

PS: if the enemy spawns are controlled by a 2da or something which i can edit, so if that's a thing just point me to it.

Comments

  • SerignuadSerignuad Member Posts: 1
    I would love to know if this is possible as well.

  • AstroBryGuyAstroBryGuy Member Posts: 3,147
    edited February 2016
    The spawns are controlled by the spawn point sections of the ARE files.

    http://gibberlings3.net/iesdp/file_formats/ie_formats/are_v1.htm#formAREAV1_0_Spawn

    One way to do something like what you want would be to take my BGEE Leveled Spawns mod (https://forums.beamdog.com/discussion/34840/bgee-leveled-spawns-mod-v0-3-updated-2014-12-27/p1) and replace the level checks with random number checks.

    For example, you could replace the LevelPartyLT() and LevelPartyGT() checks in the code below:

    IF
    Range([PC],60)
    LevelPartyLT(2)
    Global("AYSpawnResetAR01230","%Undercity%",0)
    Global("AYSpawnRandomSetAR01230_3","%Undercity%",1)
    THEN
    RESPONSE #100
    SetGlobal("AYSpawnResetAR01230","%Undercity%",1)
    CreateCreature("ZOMBIE_C",[2586.1956],0) // ~Zombie~
    CreateCreature("ZOMBIE_C",[2586.1956],0) // ~Zombie~
    SetGlobalTimer("AYSpawnTimerAR01230","%Undercity%",AY_SPAWN_TIMER)
    END

    IF
    Range([PC],60)
    LevelPartyGT(1)
    LevelPartyLT(3)
    Global("AYSpawnResetAR01230","%Undercity%",0)
    Global("AYSpawnRandomSetAR01230_3","%Undercity%",1)
    THEN
    RESPONSE #100
    SetGlobal("AYSpawnResetAR01230","%Undercity%",1)
    CreateCreature("ZOMBIE_C",[2586.1956],0) // ~Zombie~
    CreateCreature("ZOMBIE_C",[2586.1956],0) // ~Zombie~
    CreateCreature("ZOMBIE_C",[2586.1956],0) // ~Zombie~
    CreateCreature("ZOMBIE_C",[2586.1956],0) // ~Zombie~
    SetGlobalTimer("AYSpawnTimerAR01230","%Undercity%",AY_SPAWN_TIMER)
    END

    IF
    Range([PC],60)
    LevelPartyGT(2)
    Global("AYSpawnResetAR01230","%Undercity%",0)
    Global("AYSpawnRandomSetAR01230_3","%Undercity%",1)
    THEN
    RESPONSE #100
    SetGlobal("AYSpawnResetAR01230","%Undercity%",1)
    CreateCreature("ZOMBIE_C",[2586.1956],0) // ~Zombie~
    CreateCreature("ZOMBIE_C",[2586.1956],0) // ~Zombie~
    CreateCreature("ZOMBIE_C",[2586.1956],0) // ~Zombie~
    CreateCreature("ZOMBIE_C",[2586.1956],0) // ~Zombie~
    CreateCreature("ZOMBIE_C",[2586.1956],0) // ~Zombie~
    CreateCreature("ZOMBIE_C",[2586.1956],0) // ~Zombie~
    SetGlobalTimer("AYSpawnTimerAR01230","%Undercity%",AY_SPAWN_TIMER)
    END


    with a RandomNum(X,3) check:

    IF
    Range([PC],60)
    RandomNum(1,3)
    Global("AYSpawnResetAR01230","%Undercity%",0)
    Global("AYSpawnRandomSetAR01230_3","%Undercity%",1)
    THEN
    RESPONSE #100
    SetGlobal("AYSpawnResetAR01230","%Undercity%",1)
    CreateCreature("ZOMBIE_C",[2586.1956],0) // ~Zombie~
    CreateCreature("ZOMBIE_C",[2586.1956],0) // ~Zombie~
    SetGlobalTimer("AYSpawnTimerAR01230","%Undercity%",AY_SPAWN_TIMER)
    END

    IF
    Range([PC],60)
    RandomNum(2,3)
    Global("AYSpawnResetAR01230","%Undercity%",0)
    Global("AYSpawnRandomSetAR01230_3","%Undercity%",1)
    THEN
    RESPONSE #100
    SetGlobal("AYSpawnResetAR01230","%Undercity%",1)
    CreateCreature("ZOMBIE_C",[2586.1956],0) // ~Zombie~
    CreateCreature("ZOMBIE_C",[2586.1956],0) // ~Zombie~
    CreateCreature("ZOMBIE_C",[2586.1956],0) // ~Zombie~
    CreateCreature("ZOMBIE_C",[2586.1956],0) // ~Zombie~
    SetGlobalTimer("AYSpawnTimerAR01230","%Undercity%",AY_SPAWN_TIMER)
    END

    IF
    Range([PC],60)
    RandomNum(3,3)
    Global("AYSpawnResetAR01230","%Undercity%",0)
    Global("AYSpawnRandomSetAR01230_3","%Undercity%",1)
    THEN
    RESPONSE #100
    SetGlobal("AYSpawnResetAR01230","%Undercity%",1)
    CreateCreature("ZOMBIE_C",[2586.1956],0) // ~Zombie~
    CreateCreature("ZOMBIE_C",[2586.1956],0) // ~Zombie~
    CreateCreature("ZOMBIE_C",[2586.1956],0) // ~Zombie~
    CreateCreature("ZOMBIE_C",[2586.1956],0) // ~Zombie~
    CreateCreature("ZOMBIE_C",[2586.1956],0) // ~Zombie~
    CreateCreature("ZOMBIE_C",[2586.1956],0) // ~Zombie~
    SetGlobalTimer("AYSpawnTimerAR01230","%Undercity%",AY_SPAWN_TIMER)
    END


    This wouldn't change the types of creatures that are spawned. So, you won't meet a group of 6 Orge Magi on the Lion's Way at the start of the game, but it would be a way to randomize the encounters somewhat.

    Post edited by AstroBryGuy on
    JuliusBorisovHudzy
Sign In or Register to comment.