Project Management: The Task List

Discuss anything in general about the IceBlink Engine + Toolset project (or anything else) here.

Re: Project Management: The Task List

Postby youngneil1 » Sun Sep 15, 2013 12:13 pm

I also moved the UpdateStats function to the ScriptFunctions.dll so authors can make changes as needed for their setting.


It's great to see the workings UpdateStats. If an author would want top change something here, he would do the changes in VisualStudio, save taht and then send the file back to you? So you could integrate the change d.dll into (an author specific?) compiled version?

Not that I want to change anything there right now, but just to understand how make best use of the unveiled .dll files.
User avatar
youngneil1
Backer
Backer
 
Posts: 4656
Joined: Sat Dec 08, 2012 7:51 am

Re: Project Management: The Task List

Postby youngneil1 » Mon Sep 16, 2013 7:45 pm

Added this mini-bug:

[*]Bug, Toolset, 0138: Clicking on "Duplicate" in the toolset with a category (not the item itself) selected crashes the toolset. State ("not started" or "begun" or "finished"): _not started_ Estimated hours needed: _ _ Hours already invested: _ _ Teammember in charge: _JER_
User avatar
youngneil1
Backer
Backer
 
Posts: 4656
Joined: Sat Dec 08, 2012 7:51 am

Re: Project Management: The Task List

Postby youngneil1 » Wed Sep 18, 2013 12:08 pm

Added another one:

[*]Bug, Engine, 0139: Bug: The game does not save world time, e.g. on reload it's 00.00 hours on day 1 again. State ("not started" or "begun" or "finished"): _not started_ Estimated hours needed: _ _ Hours already invested: _ _ Teammember in charge: _JER_
User avatar
youngneil1
Backer
Backer
 
Posts: 4656
Joined: Sat Dec 08, 2012 7:51 am

Re: Project Management: The Task List

Postby slowdive » Thu Sep 19, 2013 7:01 am

I did more work on the items and creatures additional properties. All of the properties are now in and some of them are implemented in the engine. Many still need to be accounted for in various calculations (such as UpdateStats, Calc...DamageTo..., attackCreature, attackPc, etc.) which are in the ScriptFunctions.dll or scripts.
User avatar
slowdive
Site Admin
Site Admin
 
Posts: 2991
Joined: Wed Nov 21, 2012 11:58 pm

Re: Project Management: The Task List

Postby youngneil1 » Thu Sep 19, 2013 7:18 am

Wonderful - that's immense progress there :) I really look forward to the variance and complexity all of this will add to battles and loot. It's a tedious, less flashy work, but so much at the core of the perceived player experience that I think this will pay off richly. Getting the AI up to par with its own new possibilities as well as the increased player options will be another challenging, but mostly rewarding step. To actually watch those critters use this stuff... it will be a bitter-sweet joy when playing the receiving end :mrgreen: .

Updated the task list accordingly.
User avatar
youngneil1
Backer
Backer
 
Posts: 4656
Joined: Sat Dec 08, 2012 7:51 am

Re: Project Management: The Task List

Postby slowdive » Thu Sep 19, 2013 7:55 am

Just some info:
1) updated initiativeCalc to include creature inti modifier:
PC: newMoveOrderItem.rank = com_game.Random(100) + (dexMod * 10);
Creature: newMoveOrderItem.rank = com_game.Random(100) + (dexMod * 10) + crt.InitiativeModifier;

the code:
Code: Select all
private void setupMoveOrder()
        {
            com_moveOrderList.Clear();
            int cnt = 0;
            MoveOrder newMoveOrderItem = new MoveOrder();
            foreach (PC chr in com_game.playerList.PCList)
            {
                newMoveOrderItem = new MoveOrder();
                newMoveOrderItem.type = "pc";
                newMoveOrderItem.tag = chr.Tag;
                newMoveOrderItem.index = cnt;
                int dexMod = (chr.Dexterity - 10) / 2;
                newMoveOrderItem.rank = com_game.Random(100) + (dexMod * 10);
                com_moveOrderList.Add(newMoveOrderItem);
                cnt++;
            }
            cnt = 0;
            foreach (Creature crt in com_encounter.EncounterCreatureList.creatures)
            {
                newMoveOrderItem = new MoveOrder();
                newMoveOrderItem.type = "creature";
                newMoveOrderItem.tag = crt.Tag;
                newMoveOrderItem.index = cnt;
                int dexMod = (crt.Dexterity - 10) / 2;
                newMoveOrderItem.rank = com_game.Random(100) + (dexMod * 10) + crt.InitiativeModifier;
                com_moveOrderList.Add(newMoveOrderItem);
                cnt++;
            }
            com_moveOrderList = com_moveOrderList.OrderByDescending(x => x.rank).ToList();
        }


2) added multiple attacks on same target for creatures (similar code to what PCs have) in attackCreature.cs
Code: Select all
//loop for multiple attacks here
            for (int i = 0; i < crt.CreatureNumberOfAttacks; i++)
            {
                bool killed = false;
                killed = doStandardCreatureAttack(sf, pc, crt);
                if (killed)
                {
                    return; //do not try and attack same PC that was just killed
                }
            }

Not exactly what the task list has, but it is a start.

3) Creature damage adder added to ScriptFunction.dll CalcCreatureDamageToPc():
Code: Select all
public int CalcCreatureDamageToPc()
        {
            PC pc = (PC)CombatTarget;
            Creature crt = (Creature)CombatSource;
            int armDamRed = 0;
            if (pc.Body != null)
            {
                armDamRed = pc.Body.ItemDamageReduction;
            }
            int dDam = crt.DamageDie;
            int damage = (crt.NumberOfDamageDice * gm.Random(dDam)) - armDamRed + crt.DamageAdder;
            if (damage < 0)
            {
                damage = 0;
            }
            return damage;
        }


4) Changed the Attack property back to editable (was planning to use BAB, but will hold off on that for the moment). So now you can just assign an attack value and this will be the same value used for all multiple attacks (ouch, I know, not ideal, but it is a step forward :lol: )
User avatar
slowdive
Site Admin
Site Admin
 
Posts: 2991
Joined: Wed Nov 21, 2012 11:58 pm

Re: Project Management: The Task List

Postby youngneil1 » Thu Sep 19, 2013 8:09 am

Cool, digging this right away...
User avatar
youngneil1
Backer
Backer
 
Posts: 4656
Joined: Sat Dec 08, 2012 7:51 am

Re: Project Management: The Task List

Postby youngneil1 » Thu Sep 19, 2013 8:12 am

Ok, PC code for initiative order might also use a modifier for equipped items (while we are at it) and perhaps another one from traits. Close some circles here :D

added multiple attacks on same target for creatures


Excellent - don't worry about that task list stuff too much, it's just a proposal. Multiple attacks for creatures in general are already a huge step forward.

Creature damage adder added to ScriptFunction.dll CalcCreatureDamageToPc():


Yippie, was eagerly waiting for that one. From a mathematical point of view it's not really that important, but it just feels right to have it, so many Pen&Paper memories :D

Changed the Attack property back to editable


Most welcome, as it's one of the central creature stats. Just typing in the end result here is what I like the most. Personally, I like it for PCs when many factors tie into an endresult number (cause I can develop and optimize the factors leading to the result as player). For creatures though I prefer setting up stats rather quick and direct, so as dungeon master I have a "what you see is what you get" effect.
User avatar
youngneil1
Backer
Backer
 
Posts: 4656
Joined: Sat Dec 08, 2012 7:51 am

Re: Project Management: The Task List

Postby slowdive » Thu Sep 19, 2013 8:31 am

youngneil1 wrote:Ok, PC code for initiative order might also use a modifier for equipped items (while we are at it) and perhaps another one from traits. Close some circles here :D

added multiple attacks on same target for creatures


Excellent - don't worry about that task list stuff too much, it's just a proposal. Multiple attacks for creatures in general are already a huge step forward.


I guess, for now, we could just add the decrement attack by 5 for each multiple attack like you did in your attackPC.cs script
User avatar
slowdive
Site Admin
Site Admin
 
Posts: 2991
Joined: Wed Nov 21, 2012 11:58 pm

Re: Project Management: The Task List

Postby youngneil1 » Thu Sep 19, 2013 11:16 am

armDamRed = pc.Body.ItemDamageReduction;


Saw this in CalcCreatureDamageToPc() - are other damage reduction items (like e.g. a ring granting damage reduction not factored in?
User avatar
youngneil1
Backer
Backer
 
Posts: 4656
Joined: Sat Dec 08, 2012 7:51 am

PreviousNext

Return to General IceBlink Project Discussions

Who is online

Users browsing this forum: No registered users and 2 guests