Jump to content


Gambit

Member Since 02 Nov 2011
Offline Last Active Today, 01:23 PM

#1104901 Scar script questions

Posted by Gambit on 25 November 2019 - 09:03 AM

Ahem....

No, this is not the "proper" way brother BloodyVomit. Although, it WILL work.

 

See, the repeat is still there, and yeah, it WILL exit eventually - but the number of loops is still random.

Just think that at the 10nth entry, there will be 9 "trues" and 1 "false" array entries, so the loop will run until that specific "false" is chosen. This is an unnecessary number of calculations.

 

If you were to:

1] remove the Repeat.

2] after each choice, instead of having the entry set to "true", just remove it from the table, and

3] choose based on this: g_random = World_GetRand(1, table.getn(t_RandomIEPlayed)) instead of this: g_random = World_GetRand(1, 10),

it would be much better!

 

And you need not use this exiting condition: if g_random_ie_counter == 10 then

But this: if table.getn(t_RandomIEPlayed) == 0 then

 

Bottomline, you do not even need to use a loop at all :p

Just delete each entry you play, and re-select from an array with "trimmed" entries, until they reach 0.

 

Just saying...




#1104898 Scar script questions

Posted by Gambit on 24 November 2019 - 05:45 PM

If I understood correctly, you can code it differently - no loop needed.

1] Put all the "talks" in an array.

2] Each time you need one, randomly chose one from the total array entries, play it, and DELETE that entry from the array.

3] Have a random (within logical time limits) re-calling of the same rule, to achieve that  :grad:  (Rule Add One Shot).

 

Even if you do not want to use step 3], consider using the Array idea, in order TO EXCLUDE playing the same "Talk".




#1104891 Scar script questions

Posted by Gambit on 24 November 2019 - 11:02 AM

Repeat->Until / While, are risky...

Especially if the exiting condition is "poorly" coded. I mean, what if it takes 10000 loops in order for the conditions to be met?

 

I always use a "for", and make (say) 20 attempts. And I put the condtitions within the loop, and if they are met, then I use a "break".




#1104603 I got carpet bombing to work

Posted by Gambit on 03 November 2019 - 11:23 AM

OK, ready:

----------------------------------------
-- File: 'maraudertactic.ai'
-- Created by Gambit @ 02.11.2019

class 'MarauderTactic' (GuardVehicleTactic)

Marauder = {}

function MarauderTactic:__init( squad_ai ) super( squad_ai )

    self:SetName("Marauder Tactic")

    -- Modifiable Stats
    Marauder.G_Time_Between_Successive_Attacks = 0        -- If multiple bombers, do not have them attack simultaneously. Keep lower than 6, if enabled.
    Marauder.G_Proximity_Return_Distance = 38            -- The distance from base that we deem minimum to consider the flyer is "back to base".
    Marauder.G_Max_Attacking_Range_From_Base = 280        -- The max range OF THE ENEMY, that the flyer will attempt a fly-over.
    Marauder.G_AttackInfantry = true                    -- Self-explanatory.
    Marauder.G_AttackVehicles = true                    -- Self-explanatory. If both true, target will be chosen randomly.
    Marauder.G_AttackInfiltratedUnits = false            -- Self-explanatory.
    Marauder.G_AttackOnlyUnitsWeCanSee = false            -- Self-explanatory. Experiential. Better keep it to [false].
    Marauder.G_AttackOnlyUnitsWeCanSeeRange = 35        -- If previous is true, this is the detecting range (proximity) of our nearby troops.
    Marauder.G_DoNotAttackIfEnemyBuildingsAtLandingProximity = true        -- Self-explanatory.
    Marauder.G_DoNotAttackIfEnemyBuildingsWithin = 35                    -- If previous is true, this is the range (proximity).
    Marauder.G_HQ_Name = "guard_hq"                        -- The name of the HQ of the player. It is the AE name. No need to change, for Guard.

    -- Other Stats
    self.initialPosition = self.squad_ai:GetPosition()
    Marauder.G_Proximity_Return_Distance_Sqr = Marauder.G_Proximity_Return_Distance * Marauder.G_Proximity_Return_Distance
    Marauder.G_Proximity_Return_Distance_Triangulation = Marauder.G_Proximity_Return_Distance * 0.6
    Marauder.G_NextAttackTMR = g_iGMT
    if Marauder.G_Update_HQsTMR == nil then
        Marauder.G_Update_HQsTMR = g_iGMT
    end
    if Marauder.G_Player_HQsPositions == nil then
        Marauder.G_Player_HQsPositions = {}
    end
end


function MarauderTactic:InitAbilities()

    --[[ Init ability ID's  / ABILITIES NO LONGER USED!
    if Marauder.smoke_id == nil then
        Marauder.smoke_id = cpu_manager.stats:GetAbilityID( "guard_smoke_bombs" )
        Marauder.krak_id = cpu_manager.stats:GetAbilityID( "guard_krak_bombs" )
        Marauder.incendiary_id = cpu_manager.stats:GetAbilityID( "guard_incendiary_bombs" )
    end]]
end


function MarauderTactic:DoAbilities()

    -- First, update HQs positions every 8 secs
    if g_iGMT > Marauder.G_Update_HQsTMR + 8 then
        Marauder.G_Update_HQsTMR = g_iGMT
        self:UpdateHQs()
    end

    -- Now check if we must return (after an attack), or we are at a base
    self.initialPosition = self.squad_ai:GetPosition()
    local must_retrun = true
    for i = 1, table.getn(Marauder.G_Player_HQsPositions) do
        if distance_sqr(Marauder.G_Player_HQsPositions[i],self.initialPosition) < Marauder.G_Proximity_Return_Distance_Sqr then
            must_retrun = false
            break
        end
    end

    if self.squad_ai:CanJump() then
        -- In case we are away from the base, return to a random valid place (HQ)
        if must_retrun then
            local all_bases = table.getn(Marauder.G_Player_HQsPositions)
            if all_bases > 0 then
                local iBasePos = Marauder.G_Player_HQsPositions[math.random(1,all_bases)]
                self:ForceSquadJumpNearBack(iBasePos)
            end
        -- We are at base. We must try to perform an attack
        else
            if g_iGMT < Marauder.G_NextAttackTMR + Marauder.G_Time_Between_Successive_Attacks then
                return
            end
            local iEnemySquadInf = nil
            local iEnemySquadVeh = nil
            local iEnemySquad = nil
            if Marauder.G_AttackInfantry then
                iEnemySquadInf = Ability.Filters.CloseInfantryEnemy(self.initialPosition, Marauder.G_Max_Attacking_Range_From_Base, 5)
                --cpu_manager.cpu_player:FindFirstInfantryEnemy(self.initialPosition, Marauder.G_Max_Attacking_Range_From_Base, 5)
            end
            if Marauder.G_AttackVehicles then
                iEnemySquadVeh = Ability.Filters.CloseVehicleEnemy(self.initialPosition, Marauder.G_Max_Attacking_Range_From_Base, 1)
                --cpu_manager.cpu_player:FindFirstVehicleEnemy(self.initialPosition, Marauder.G_Max_Attacking_Range_From_Base, 1)
            end
            if iEnemySquadInf ~= nil and iEnemySquadVeh ~= nil then
                if math.random(1,2) == 1 then
                    iEnemySquad = iEnemySquadInf
                else
                    iEnemySquad = iEnemySquadVeh
                end
            elseif iEnemySquadInf ~= nil and iEnemySquadVeh == nil then
                iEnemySquad = iEnemySquadInf
            else
                iEnemySquad = iEnemySquadVeh
            end
            if iEnemySquad ~= nil then
                if Marauder.G_AttackInfiltratedUnits or (not iEnemySquad:IsInfiltrating()) then
                    local iEnemyPos = iEnemySquad:GetPosition()
                    if (not Marauder.G_AttackOnlyUnitsWeCanSee) or self:WeCanSeePos(iEnemyPos) then
                        -- Do NOT perform a flyover, if we have our troops nearby!
                        if cpu_manager.cpu_player:FindFirstHurtSquad( iEnemyPos, 6 ) == nil then
                            self:ForceSquadAttackJumpNear(iEnemyPos)
                            Marauder.G_NextAttackTMR = g_iGMT
                        end
                    end
                end
            end
        end
    end

    --[[ Check if we can deploy smoke / ABILITIES NO LONGER USED!
    if (self.squad_ai:CanDoAbility(Marauder.smoke_id)) then
    
        -- Search a squad
        local iRange = self.squad_ai:GetAbilityRange(Marauder.smoke_id)
        local oUnit = Ability.Filters.CloseHurt(self.squad_ai:GetPosition(), iRange, 1)
        if (oUnit ~= nil and oUnit:IsInCombat() and cpu_manager:GetUnitStrength(oUnit) > 150) then
            self.squad_ai:DoSpecialAbilitySquad(Marauder.smoke_id, oUnit:GetSquad())
        end
    end
    -- Check if we're in close combat - Krak
    local oEnemySquad = Ability.Filters.CloseVehicleEnemy(self.squad_ai:GetPosition(), 0, 1)
    if (oEnemySquad ~= nil) then
    
        -- Check if we can drop Krak Bombs
        if (self.squad_ai:CanDoAbility(Marauder.krak_id)) then
            self.squad_ai:DoSpecialAbility(Marauder.krak_id)
        end
    end
    -- Check if we're in close combat - Incendiary
    oEnemySquad = Ability.Filters.CloseInfantryEnemy(self.squad_ai:GetPosition(), 0, 5)
    if (oEnemySquad ~= nil and not oEnemySquad:IsBroken()) then
    
        -- Check if we can drop Incendiary Bombs
        if (self.squad_ai:CanDoAbility(Marauder.incendiary_id)) then
            self.squad_ai:DoSpecialAbility(Marauder.incendiary_id)
        end
    end]]
    --[[ Checks jump-able stuck squads, and force them to jump nearby / NO LONGER USED!
    if self.squad_ai:CanJump() then
        self:SolveStuckCase()
    end]]
end


function MarauderTactic:UpdateHQs()
    Marauder.G_Player_HQsPositions = {}
    for oBuilding in military_manager:GetBases() do
        if (oBuilding:IsValid() and oBuilding:GetBaseName() == Marauder.G_HQ_Name) then
            table.insert(Marauder.G_Player_HQsPositions,oBuilding:GetPosition())
        end
    end
end


-- Unstuck Code --------------------------------------------------
function MarauderTactic:SolveStuckCase()
    local iPosition = self.squad_ai:GetPosition()
    if iPosition.x ~= self.initialPosition.x or iPosition.z ~= self.initialPosition.z then
    -- NOT stuck, update previous position and return, we are all good
        self.initialPosition = iPosition
        return
    end

    -- If we got here, the squad is NOT moving. See if it is simply waiting, or is stuck!
    local state = self.squad_ai:GetTactic():GetState()
    if (self.squad_ai:IsInStateMove() or self.squad_ai:IsInStateAttackMove() or state == "Attack") and not self.squad_ai:IsInCombat()
    and iPosition.x == self.initialPosition.x and iPosition.z == self.initialPosition.z then
    -- STUCK!!!!! Run the unstuck code
        self:ForceSquadJumpNear(iPosition)
    end
    -- Update previous position anyway
    self.initialPosition = self.squad_ai:GetPosition()
end

function MarauderTactic:ForceSquadJumpNear(pos)
    local iPos = self.squad_ai:GetPosition()
    local vJumpPosition = self.squad_ai:GetPosition()
    local jumpDist = self.squad_ai:GetJumpDistance()
    local jumpDistSqr = jumpDist * jumpDist
    local vDir = cpu_manager:GetDirectionToEnemy(pos)
    -- First, try an unstuck jump TOWARDS the enemy
    -- Try to jump somewhere near, perform 30 checks in total, for a viable position
    for i = 1, 12 do
        -- Create a jump position
        vJumpPosition.x = pos.x + vDir.x * math.random(10, jumpDist)
        vJumpPosition.z = pos.z + vDir.z * math.random(10, jumpDist)
        -- Check if target position is in range and if unit is able to jump to target position
        local iDistanceSqr = distance_sqr(vJumpPosition, iPos)
        if iDistanceSqr < jumpDistSqr and self.squad_ai:CanJumpToPosition(vJumpPosition) then
            -- Jump to position
            self.squad_ai:DoJump(vJumpPosition)
            self.last_jump = g_iGMT
            self.m_iLastGatherMove = self.last_jump - 10
            return
        end
    end
    -- Then try any random nearby place, as a secondary option
    for i = 1, 18 do
        -- Create a jump position
        vJumpPosition.x = pos.x + 0.7 * math.random(-jumpDist, jumpDist)
        vJumpPosition.z = pos.z + 0.7 * math.random(-jumpDist, jumpDist)
        -- Check if target position is in range and if unit is able to jump to target position
        local iDistanceSqr = distance_sqr(vJumpPosition, iPos)
        if iDistanceSqr < jumpDistSqr and self.squad_ai:CanJumpToPosition(vJumpPosition) then
            -- Jump to position
            self.squad_ai:DoJump(vJumpPosition)
            self.last_jump = g_iGMT
            self.m_iLastGatherMove = self.last_jump - 10
            return
        end
    end
end


function MarauderTactic:ForceSquadJumpNearBack(pos)
    local iPos = self.squad_ai:GetPosition()
    local vJumpPosition = self.squad_ai:GetPosition()
    local jumpDist = self.squad_ai:GetJumpDistance()
    local jumpDistSqr = jumpDist * jumpDist
    local vDir = cpu_manager:GetDirectionToEnemy(pos)
    -- Try to jump somewhere near, perform 15 checks in total, for a viable position, AWAY from the enemy
    for i = 1, 15 do
        -- Create a jump position
        vJumpPosition.x = pos.x - vDir.x * math.random(4, Marauder.G_Proximity_Return_Distance_Triangulation)
        vJumpPosition.z = pos.z - vDir.z * math.random(4, Marauder.G_Proximity_Return_Distance_Triangulation)
        -- Check if target position is in range and if unit is able to jump to target position
        local iDistanceSqr = distance_sqr(vJumpPosition, iPos)
        if iDistanceSqr < jumpDistSqr and self.squad_ai:CanJumpToPosition(vJumpPosition) then
            -- Jump to position
            self.squad_ai:DoJump(vJumpPosition)
            --self.last_jump = g_iGMT
            --self.m_iLastGatherMove = self.last_jump - 10
            return
        end
    end
end


function MarauderTactic:ForceSquadAttackJumpNear(pos)
    local vJumpPosition = self.squad_ai:GetPosition()
    local jumpDist = self.squad_ai:GetJumpDistance()
    local jumpDistSqr = jumpDist * jumpDist    
    local ix = 0; local iz = 0;
    if sqr(pos.x-vJumpPosition.x) < 0.0001 then
        iz = 1
    else
        local a = (pos.z-vJumpPosition.z)/(pos.x-vJumpPosition.x)
        ix = math.sqrt(1/(sqr(a) + 1))
        iz = math.abs(a*ix)
    end
    if vJumpPosition.x > pos.x then ix = -1*ix end
    if vJumpPosition.z > pos.z then iz = -1*iz end
    -- Try to jump somewhere near, perform 10 checks in total, for a viable position
    for i = 1, 10 do
        -- Create a jump position
        local rndm = math.random(25, 40)
        vJumpPosition.x = pos.x + ix*rndm
        vJumpPosition.z = pos.z + iz*rndm
        -- Check if target position is in range and if unit is able to jump to target position
        local iDistanceSqr = distance_sqr(vJumpPosition, self.initialPosition)
        if iDistanceSqr < jumpDistSqr and self.squad_ai:CanJumpToPosition(vJumpPosition) then
            if Marauder.G_DoNotAttackIfEnemyBuildingsAtLandingProximity then
                -- Do NOT attempt the jump, if we are to land near enemy buildings!
                local iBuilding =  Ability.EntityFilters.CloseBaseEntityEnemy(vJumpPosition, Marauder.G_DoNotAttackIfEnemyBuildingsWithin, 1)
                if iBuilding ~= nil then return end
            end
            -- Now, Jump to position
            self.squad_ai:DoJump(vJumpPosition)
            --self.last_jump = g_iGMT
            --self.m_iLastGatherMove = self.last_jump - 10
            return            
        end
    end
end


function MarauderTactic:WeCanSeePos(iPos)
    local iRangeSqr = Marauder.G_AttackOnlyUnitsWeCanSeeRange * Marauder.G_AttackOnlyUnitsWeCanSeeRange
    for oUnit in military_manager:GetSquads() do
        if oUnit:IsValid() then
            if distance_sqr(oUnit:GetPosition(),iPos) < iRangeSqr then
                return true
            end
        end
    end
    return false
end

For anything else, just say so brother Moreartillery. :thumbsupcool:




#1104559 Missing 2 textures

Posted by Gambit on 30 October 2019 - 12:05 AM

Very good!!

I have already coded the first squads of the race, I would say I am at 25% of units.

Then it's buildings, and then fleshing it out :thumbsuphappy:

I am sure you gonna like it.




#1104540 Missing 2 textures

Posted by Gambit on 29 October 2019 - 08:41 AM

I can make new ones if you want.

Thanks brother NL, I did that already, it was only 2 textures!!!

BUT I may need your help with the icons of the Fallen Angels, and their Taskbar...

Are you interested??? :thumbsupcool:

 

Is it possible to change the cannibalism effect from increasing health to something else, like giving the player requisition?

Yes, jut only via SCaR...




#1104477 Fallen Angels Beta Thread

Posted by Gambit on 25 October 2019 - 11:32 PM

According to the fluff,don't the Havoks always start with Heavy Bolters as they are the heavy weapon specialists and then upgrade to different weapons?

Brother Kek, I accidental wrote "bolters" above! If you look again, in the very next sentence, I say "They can upgrade their heavy bolters to...".

So yeah, they all start with heavy bolters. And they all, always carry heavy weapons :thumbsuphappy:

 

No builder

Well, after having seen brother Kek's Warpsmith, I DEFINITELY want to use him!

The Fallen are Dark Angels anyway, and we can design them as we want them to.

My approach is: "Tempted by Chaos, but didn't fully succumbed to it".

The mechanic behind this, is a SHIFTING ALIGNMENT game. The same as Cypher.

So they are NOT fully chaos!

Let's keep the builder.

 

That being said, we still keep that TH HQ idea?

Or I make them "standard"?




#1104469 Fallen Angels Beta Thread

Posted by Gambit on 25 October 2019 - 06:05 PM

Aha!

So then TH HQ it is :thumbsupcool:

We will need some more coding of course, but I have it covered!

 

Right now, I am in the process of putting in the units and the squads.

I am not far, the race is only a few days old! So far, I have put in the following:

0] Warpsmith: Their builder, an EXCELLENT model. TONS of weapon choices, we will see what to use.

1] Tactical Veterans + Tactical Veteran Sergeant: They start fully with melee weapons and bolters. They can get flamer/plasma/melta/volkite (the volkites will be unlocked with a research)

2] Havoc Veterans + Havoc Veteran Sergeant: They start fully with simple melee weapons (knives) and all carry bolters. They can upgrade their heavy bolters to autocannons/Lascannons/Missile Launchers/Heavy Volkites (again, the volkites will be unlocked with a research)

3] Raptor Veterans + Raptor Veteran Sergeant: They start as expected, but can get flamers and plasmas.

4] Veteran Termies: The team consists of ONE member. And 4 "leaders" (total of 5). These members are NOT sergeants, but "simple" Veteran Termies. They get: Heavy Flamer / Autocannon / Plasma Cannon / Missile Pod.

5] Veteran Assault Termies: The team consists of ONE member. And assault 4 "leaders" (total of 5). These members are NOT sergeants, but "simple" Veteran Termies. They get: Thunderhammer+Shield/DaemonSword/ ChainfistsPair/LightningClawsPair.

6] Renegades: They get 7 light "2-handed" weapons, to choose from. They will be our "meatshield"

7] Advanced Weapon Renegades: They come in pares. They have 6 weapons that you have to "stand" in order to fire.

 

They have no UCS/Icons/Weapons this far, of course.

 

Any suggestions?

 

---------------------------

 

Next, I have to add two more (the last) infantry entities, that will most possibly be members of a command squad.

... Which means, I am moving to leaders. And brother Kek has sent me MANY!

But from now on, I will go slower, we are talking about 20 units already in so far - and I was VERY careful in putting them in.

Took me too much time.

So... Slower :thumbsupcool:

 

 

Once done with the units, I will post the Race Design I have created (99% based on your input).




#1104421 Questions about modding weapons

Posted by Gambit on 23 October 2019 - 07:46 AM

I suppose the 1st "projectiled" weapon is coded in either hardpoint_01 or hardpoint_02 right?

And in hardpoint_03, the 2nd projectiled" weapon is coded, and this is where the projectile is problematic. Correct?

 

If so, I can only suggest removing (leave blank) ALL motion variable name values (those with the _3), and keep ONLY the harpoint_weapon_variant_motion, simply using <None>, as a name.

And retry.

 

It worked for me...




#1104288 Fallen Angels Beta Thread

Posted by Gambit on 16 October 2019 - 08:20 PM

...is it possible to reduce the radius of their detection?

What do you mean by that brother Iserador?
You want the Fallen to have smaller detection radius,  for stealth units? I do not understand. :p

Well or absolutely impossible option-to allow them to mimic under enemy infantry?

Hmmmm.... I do not know what will happen if we give a squad to belong to the WORLD (not to a player)... They may appear as allies to everyone! But I have not actually tested this. I can "explore" it. Should I?

 

 

This is something that concerned me as well.My guess would be this mechanic to implemented only in DA vs FA scenarios,just like in the fluff.

And the attack allies/refusing orders for the rest.

Makes more sense imo and is much easier applicable.

Perfect reasoning brother Kekoulis.

So I will make an ability like this:

Shifting Loyalties - Togleable.

Used by the Fallen Chaplains. (I think we must allow 3 - we will not use Apostles or Missionaries, I suppose)
If DA/FA around, you get them in your army. Otherwise, they attack allies/refusing orders for the rest.
Requires SCaR, but... NP for me.
 

However,we do have to differentiate the tacticals of the havoks and the raptors.Also,the model can be used as CC squads or chosens if needed.

What do you mean by "the model", brother Kek?
 

FA seduce imperial planets. No cultists. At headquarters, we are building a planetary defense forces detachment (10 people) (additional weapons with shotguns and grenade launchers)

will be used until the end of the game as a garbage detachment taking mass.

Brother asterix120, can you explain it? I think I got it, but please make it more clear, so that I have no doubts.

And thanks for the detailed Tier progression!

 

 

------------------------------------

 

So now, with:

1] Brother Unsociallobster's idea of making the Fallen have erratic behaviour when broken, and

2] Brother Iserador's idea on Shifting Loyalties, and brother Kekoulis'es addition/fix to this

.. I think we DO have fleshed out the very core of the Fallen!!!

This was the mechanic I was after, and I am glad I started this topic.

Add brother asterix120's detailed Tier progression, and I do have enough material to work upon.

 

Thanks brothers. :grad:

I have written down everything, added my notes and ideas, and I am now trying to put everything together.

Gimme some time, and I will pose a COMPLETE first design, trying to combine all the ideas into one neat implementation.




#1104255 Fallen Angels Beta Thread

Posted by Gambit on 15 October 2019 - 01:04 PM

OK, I red your thoughts, so first let me clarify three things:

 

1] Brother Unsociallobster said:

My idea, is it possible to have a player controlled army where your units can essentially rebel against you in certain ways and later return to your control?

OF COURSE it is!!! Nice idea by the way. :party:

But... how should we implement it?

On Dark Angels?? I think they are OK already - such a mechanic would definitely weaken them!

If it is for the Fallen Angles,... They yes!

 

 

2] Cypher: I will change the SCaR. My current design is that Cypher is unavailable to BOTH armies, UNLESS you enable the Win Condition that enables him. If enabled, he appears in ONE of the DA/FA player, randomly.

- If he appears to a DA player, you already know what happens. He may "desert", he may not. Either way, you get him ONLY ONCE, for the DA players.

- If he appears to a FA player, he takes the Fallen Cypher form, of course! And there will be a change to join a GOOD faction, this time swapping to his good form. For the FA player, the player who gets him, he may have him as a normal Commander (not only once). Unless, he changes Allegiance, of course!

 

 

3] Fallen Angles will be a separate race, but will be packed in the DA mod.

 

 

Now, reading your notes above, it seems that the only way to implement brother Unsociallobster's approach AND combine it with whatever I red, we must follow this path:

...or detachments of the guard who don't understand whom will serve.

... As mentioned above.

 

 

Should we proceed thus?

I was more for leaving that part to Cypher, and have the Fallen be a "standard" race.

But we CAN have the rule brother Unsociallobster said, applied to specific squads and vehicles!

Awaiting thoughts.




#1104222 Fallen Angels Beta Thread

Posted by Gambit on 14 October 2019 - 05:10 PM

Fallen Angels

 

OK, I know we are stretching things enough already with all the races, but this came as a bonus!!

We were chatting with brother Kekoulis, and the topic came up... And in NO time, he has prepared an ARMY of models!!

 

So why not.

 

Fallen angels will be a new separate race, but will be included in the Dark Angles mod. It will NOT be a seperate DA branch. (there are many reasons for this, like spottings, good/evil allegiance, taskbar, etc)

That is why THIS is the place where we will be developing the project.

And we will GO SLOW.

 

Now, we must deal with Salamanders and Emperor's Children.

Then, for me it's TSons and AdMech.

The Fallen will be a side-project. And most possibly a "compact" one.

 

 

What I want from you

 

1] Mainly Your Input! I want your knowledge on the Fallen. For example:

- What is their basic strategic advantage?

- What are the "specifics" of the race? (squad sizes, abilities, researches, preferred weapons, etc)

- What are their advantages and their disadvantages?

... Etc.Remember, we are DESIGNING the race!

 

2] Secondary, whatever help you can offer. Mainly, Icons and Taskbar.

The AE/AI/SCaR/3D/AUDIO parts are covered by me Kek and Thud :thumbsuphappy:

 

 

AWAITING YOUR INPUT!!




#1103943 Loki's resurce senter

Posted by Gambit on 28 September 2019 - 11:31 AM

It has maps made specifically for SS. So flyers should not get stuck there as often as other maps hopefully.

Wait, how is this possible??? The Map Editor is a DC tool, so there is no support for Flyers...

I recall I once saw a hack (made by brother Chiu ChunLing, if I am correct) where you  could FFE the map to ADD flyer support. But I do not know if it worked for sure.

 

So... How?

 

If it is so, and it is consistent, I will have to modify the luas of the maps, to "identify" them as Soulstorm maps for Unification to NOT apply the flyer fix :thumbsuphappy:




#1103935 Loki's resurce senter

Posted by Gambit on 27 September 2019 - 08:24 PM

PERFECT!! :party:  :xcahik_: :xcahik_: :xcahik_:

 

And I am always here for whatever you need!

SCaR, AI, AE...

 

I also suggest brother NL, that you should familiarise yourself with the Necron-Specific mechanics...

For example the re-animated bodies, the body-gathering of Tomb Spiders, the Monolith mechanic, etc :aarambo:

Some of them can be even more interesting via SCaR.

 

Here are my suggestion: Please think Necron! Use the same Resourcing method, and the same mechanics !

But expand, and make all Dynasties unique :xcahik_:




#1103915 Loki's resurce senter

Posted by Gambit on 27 September 2019 - 08:40 AM

Nice!

 

But this:

And for those who keep mailing me. Yes. The NECRON mod is soon going to show it's progress. It's not dead.  I have been doing stuff in the bg. Eye candy will come.  :thumbsuphappy:

... Is really awesome!

 

We have not touched Necrons with our mods yet, and they DO deserve our attention...

They are excellent bad buys and offer a different strategic approach to playing the game, not to mention the completely different visuals!