1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Rise of a Realm : Kingdom Builder

Discussion in 'General Discussion' started by Marshmalo, May 6, 2018.

  1. Thebig061
    Offline

    Thebig061 Assasin

    Messages:
    850
    Trophy Points:
    62
    I think I found the reason why the game crashes. The problem is that you cant have more than one commander. I crashed as soon as I tried to turn two of my enchantresses into commanders.
  2. ponasozis
    Offline

    ponasozis SOVIET Angry marine Brigand

    Messages:
    1,056
    Trophy Points:
    137
    Nerf mage kingdoms
    Buff warrior kingdoms
    Pretty much what needs to be done as mage kingdoms wreck warrior kingdoms when their units are almost identical in strength yet mages have debuffs like slow and etc
  3. Marshmalo
    Offline

    Marshmalo Brigand Map Maker

    Messages:
    1,451
    Trophy Points:
    140
    I have released another version with some measures I hope will fix the crashing issue, if this dosnt work then I really dont know and may have to give up on the map! I have also added a number of quick balance fixes.

    The link has been updated and new version uploaded to MMH.
    1.09 PATCH NOTES

    - Periodic income trigger has been split into various smaller triggers and wait functions added between them to increase stability.
    - Bandit spawns have been removed to reduce load on map.
    - Bandit AI player has been removed.
    - Removed the requirement for buildable terrain pathing for all capital buildings (should stop game crashing when a player is vassalised.)
    - Player is Vassalized trigger has bene split into two parts.

    - Gates and walls have increased HP.
    - Walls are now double the length to make building them less of a hassle.
    - Build time of engineers Guild has been reduced.
    - Guild cannons hp has been reduced from 1000 to 750.

    - Damage from enchantresses and Mage Hunters dispel magic to summoned units has been decreased from 500 to 200.
    - CD and mana cost on imbue golem has been increased.
    - Duration of Rune Lords Shackles on Dragons and Pheonxes has been reduced from 7 to 4 seconds.
    - Damage from Archer Captain elites fire arrows and stunning shots has bene increased.
    - dmage of engineer elites stuning shots has bene increased.
    - range and damage of engineers siege bomb ability has been increased.
    - All anti build blockers around mountains have bene removed, this means you can build walls right up to the mountain edge and enemy players will not be able to slip through.
    - Dragons now have Beast armor type.

    - Counters to damage types have been made more extreme:
    + Spearman damage vs Beast armour increased from 200% to 300%
    + Spearman deal 25% less damage to archers
    + Knights and Footmen deal 50% increased damage to archers.

    - Reduced aquisition rnage on peasants.
    - Movement speed of windwalk has bene increased.
    - Dragon has increased hp.
    - Cost of elites increased from 75g to 100g.
    - Astromancers starshards ability dmg has been increased.
    - Damage of Seer elites Frost nova has been increased.
    - Range of Necromancers Life drain spell has been reduced.
    - Armored bear gold cost increased from 65 to 75.
    - Golem gold cost increased from 65 to 100.
    - Gold cost of Rune Lord increased from 100 to 150.
    - Gold cost of Enchantress increased from 30 to 35.
    - There is no minimum attack range on Archer captains and engineers.
    - Armored archer hp reduced by 100.
    - Corpses raised from paladins resurrection increased from 4 to 5.
    - Defensive skills on the monuments have increased range.
    - Range of Crowns heal has been increased.
    • Like Like x 4
  4. SvnmS
    Offline

    SvnmS Brigand Map Maker

    Messages:
    1,809
    Trophy Points:
    135
    Nice that the map got an update.
    You're super active with all the maps you have now ! I have a feeling of gamerisle nostalgia.
    There doesn't seem to be a line for fixing players starting at the same position, or was that fixed already ?
  5. Marshmalo
    Offline

    Marshmalo Brigand Map Maker

    Messages:
    1,451
    Trophy Points:
    140
    lol well I will be going away for afew weeks/months shortly so trying to get everything working and in order! :-)

    I actually think the removal of brown should fix the double starting position bug, I believe it was caused by brown having a fixed start location and everyone else having a dynamic one. So hopefully it should be ok now.
  6. Excalibur
    Offline

    Excalibur

    Messages:
    337
    Trophy Points:
    52
    A good update.
    • Like Like x 1
  7. SUNSTRIDER
    Offline

    SUNSTRIDER

    Messages:
    551
    Trophy Points:
    82
    I don't play Wc3 much these days but it's great that you made a key update for your audience which obviously begged for more. :D
    • Like Like x 1
  8. ponasozis
    Offline

    ponasozis SOVIET Angry marine Brigand

    Messages:
    1,056
    Trophy Points:
    137
    crashes seem to be fixed
    • Like Like x 1
  9. Marshmalo
    Offline

    Marshmalo Brigand Map Maker

    Messages:
    1,451
    Trophy Points:
    140
    Yep, I've played 2 long games of this so far and no crashes, so map seems alot more stable now. I'm suprised my fairly mild trigger changes made such a huge difference, all I really did was disable the bandit spawns and split the larger triggers into smaller ones, big thanks to @TheKaldorei for the latter advice!

    I've posted the crash inducing bandit spawn triggers below, maybe someone like @SvnmS or @somefaggot can see something wrong with them, or maybe I was asking WC3 to create too many random integers in a short space of time (every 3 minutes). I heard WC3 cannot handle random numbers very well.

    Anyway now the map is more stable I am working on adding more uniquness between the Kingdom Ruler types which will include a special late game mastery upgrade.

    Bandits West or East
    Events
    Time - Every 180.00 seconds of game time
    Conditions
    Actions
    Set BanditEastorWest = (Random integer number between 1 and 2)
    Set BanditAttackTargetInt = (Random integer number between 1 and 6)
    Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
    If - Conditions
    BanditEastorWest Equal to (==) 1
    Then - Actions
    Wait 0.50 seconds
    Game - Display to (All players) the text: |cffffd5aaRumors ab...
    Else - Actions
    Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
    If - Conditions
    BanditEastorWest Equal to (==) 2
    Then - Actions
    Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
    If - Conditions
    BanditAttackTargetInt Equal to (==) 1
    Then - Actions
    Set BanditAttackLoc = (Center of Base 1E <gen>)
    Else - Actions
    Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
    If - Conditions
    BanditAttackTargetInt Equal to (==) 2
    Then - Actions
    Set BanditAttackLoc = (Center of Base 2E <gen>)
    Else - Actions
    Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
    If - Conditions
    BanditAttackTargetInt Equal to (==) 3
    Then - Actions
    Set BanditAttackLoc = (Center of Base 3E <gen>)
    Else - Actions
    Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
    If - Conditions
    BanditAttackTargetInt Equal to (==) 4
    Then - Actions
    Set BanditAttackLoc = (Center of Base 4E <gen>)
    Else - Actions
    Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
    If - Conditions
    BanditAttackTargetInt Equal to (==) 5
    Then - Actions
    Set BanditAttackLoc = (Center of Base 5E <gen>)
    Else - Actions
    Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
    If - Conditions
    BanditAttackTargetInt Equal to (==) 6
    Then - Actions
    Set BanditAttackLoc = (Center of Base 6E <gen>)
    Else - Actions
    Wait 0.50 seconds
    Game - Display to (All players) the text: |cffffd5aaRumors ab...
    Trigger - Run Random Bandit Spawns East <gen> (ignoring conditions)
    Else - Actions

    Random Bandit Spawns East
    Events
    Conditions
    Actions
    Set BanditSpawnInt = (Random integer number between 1 and 3)
    Set BanditMaleOrFemale = (Random integer number between 1 and 2)
    Set BanditMammoth = (Random integer number between 1 and 4)
    Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
    If - Conditions
    BanditSpawnInt Equal to (==) 1
    Then - Actions
    Set BanditCreate = (Center of Bandit Spawn E1 <gen>)
    Else - Actions
    Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
    If - Conditions
    BanditEastorWest Equal to (==) 1
    Then - Actions
    Set BanditSpawnInt = (Random integer number between 1 and 3)
    Else - Actions
    Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
    If - Conditions
    BanditSpawnInt Equal to (==) 2
    Then - Actions
    Set BanditCreate = (Center of Bandit Spawn E2 <gen>)
    Else - Actions
    Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
    If - Conditions
    BanditSpawnInt Equal to (==) 3
    Then - Actions
    Set BanditCreate = (Center of Bandit Spawn E3 <gen>)
    Else - Actions
    Unit - Create 2 Marauder for Player 12 (Brown) at BanditCreate facing Default building facing (270.0) degrees
    Unit - Create 3 Bandit for Player 12 (Brown) at BanditCreate facing Default building facing (270.0) degrees
    Wait 0.20 seconds
    Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
    If - Conditions
    BanditMaleOrFemale Equal to (==) 1
    Then - Actions
    Unit - Create 1 Bandit Leader (Male) for Player 12 (Brown) at BanditCreate facing Default building facing (270.0) degrees
    Else - Actions
    Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
    If - Conditions
    BanditMaleOrFemale Equal to (==) 2
    Then - Actions
    Unit - Create 1 Bandit Leader (Female) for Player 12 (Brown) at BanditCreate facing Default building facing (270.0) degrees
    Else - Actions
    Hero - Set (Last created unit) experience to GeneralXp, Hide level-up graphics
    Unit - Create 3 Trapper for Player 12 (Brown) at BanditCreate facing Default building facing (270.0) degrees
    If (BanditMammoth Equal to (==) 1) then do (Unit - Create 1 Clan Magnus for Player 12 (Brown) at BanditCreate facing Default building facing (270.0) degrees) else do (Do nothing)
    Wait 0.20 seconds
    Custom script: call RemoveLocation(udg_BanditAttackLoc)
    Custom script: call RemoveLocation(udg_BanditCreate)

    Bandit Attack Orders
    Events
    Unit - A unit enters Bandit Spawn E1 <gen>
    Unit - A unit enters Bandit Spawn E2 <gen>
    Unit - A unit enters Bandit Spawn E3 <gen>
    Conditions
    (Owner of (Triggering unit)) Equal to (==) Player 12 (Brown)
    Actions
    Unit - Order (Triggering unit) to Attack-Move To BanditAttackLoc
  10. somefaggot
    Offline

    somefaggot Map Maker

    Messages:
    478
    Trophy Points:
    82
    From a fast glance:

    //1st trigger:
    >Have another trigger that goes: after 5s game time, Create a location variable array, set all the locations in it to the locations you listed so that it doesnt run the "Get Center of Region" function, which takes a bit of performance, and will instead have that data stored permanently.

    //2nd trigger:
    Wait 0.20 seconds
    Custom script: call RemoveLocation(udg_BanditAttackLoc)
    Custom script: call RemoveLocation(udg_BanditCreate)


    Remove the wait here, it doesnt do anything, though since the variable isn't used at all it shouldn't be a problem

    Also, instead of "create 3 units", use a loop, and run it three times and have each one create 1 unit.

    These 2 dont cause that much lag, outside of from spawning units


    //3rd trigger:

    This is the only one that can major lag, and its because:

    Unit - A unit enters Bandit Spawn E1 <gen>
    Unit - A unit enters Bandit Spawn E2 <gen>
    Unit - A unit enters Bandit Spawn E3 <gen>

    Runs a lot of times. Instead, do this:
    >create a UnitGroup, call it bandintogroup. When you spawn Bandit units in the 2nd trigger in the loop (or outside of it, if its only 1 unit), add it to Bandit Group, and when it dies, remove it (this one might be a bit of a performance taker if you're not using an indexer). Then, just have a periodic trigger (every minute) that orders all units in Bandit Group to attack the location. Also, when the 2nd trigger activates, add an action at the end to trigger the 3rd trigger.

    Tried to send you a convo but the site didnt let me