Recent content by lazeras

  1. lazeras

    An open letter from the Kingdoms of Arda team, and the total-conversion mod community

    That is such a detailed explanation, I am sure that's helpful for them :razz:
    I seriously doubt they will do anything, They cant even fix core game mechanics and they only barely fixed some of the internals
  2. lazeras

    An open letter from the Kingdoms of Arda team, and the total-conversion mod community

    They have added 4 internal flags and removed 141 as far as I am aware. They probably just didn't review all of the code yet. People are asked to explain which ones are hindering them at which specific problem to review them.
    for specifics every behavior and every model in the code I have tried to work with suffers from this. Simple things such as text explainers are always private so you can never just use the base stuff you have to copy them out, this is a example of what I am referring to
  3. lazeras

    An open letter from the Kingdoms of Arda team, and the total-conversion mod community

    So far having looked at the code for the 1.6.0 release I feel that the code is still a flimsy mess with private and internal flags through out the code for no logical reason and has only been a tiny step in the right direction. The code's lack of design or consistency still forces whole sale copying of code for no reason other than that its been restricted deliberately or through lack of enforcing any decent standards. Personally i feel coned and that i have paid for a product and been provided with a cheap knockoff item instead.
  4. lazeras

    What Features Do You Want to See?

    how about the features that ared supposed to be in the game that they already promised but haven't bothered adding
  5. lazeras

    1.3.0 broke my "mod" which is a simple test i did with spitems adding a couple of items

    This was not the problem (though thanks for the advice)
    Seems like every weapon / Object i have that has the thrust_speed rating crashes the game (i put a lot of effort in understanding what crashes the game and what does not)
    Some items load without issues but the ones containing that variable crash
    The thing is , i checked the original spitems and they still have that value in it , maybe i am missing something
    Perhaps there is a max value ?
    How can i check without a lot of trial and error ( i am a parent and i work too so doing this is not very easy)

    The thing is , that without Thrust damage , a bow will not fire


    I think i found the problem - there seems to be a max value for thrust_speed
    When i put it at 99 the game crashes
    When i put it at 89 it works fine

    To bug find at that depth you need to use something like dnspy and look at the official ddl file. I thinks its deserialise is were they load the xml files and parse the data into the game objects
  6. lazeras

    1.3.0 broke my "mod" which is a simple test i did with spitems adding a couple of items

    I had issues if I used the name spitems xml in the submod I had to change the file name to something else
  7. lazeras

    Wooing the ladies - more chances/conversation change

    there is a mod on nexus another chance i think that fixes this
  8. lazeras

    Trying to modify Stack Sizes for crafted Items

    Have you tried 'ammo_limit' instead of 'stack_amount'? It's set to '1' for arrows and bolts, but I haven't tested what it does yet.

    In any case, I've been trying for days to get a grip on how throwing weapon ammo is handled, but I can't find anything in any of the .xml and .dll files. The only thing I'm sure is that it's handled differently from arrows, which might be because they also function as one handed weapons. The only hope I have right now is to wait until the ammo capacity perks are fixed so I can follow up on where the ammo information is taken from.
    I tryed ammo_limit with no effect. I had a look through the deserialise function with weapons
    taleworlds.core.Deserialize
    // Token: 0x06000982 RID: 2434 RVA: 0x0001C870 File Offset: 0x0001AA70
    public void Deserialize(XmlNode node)
    {
    this.BodyArmor = ((node.Attributes["body_armor"] != null) ? int.Parse(node.Attributes["body_armor"].Value) : 0);
    this.PhysicsMaterial = ((node.Attributes["physics_material"] != null) ? node.Attributes["physics_material"].Value : null);
    this.FlyingSoundCode = ((node.Attributes["flying_sound_code"] != null) ? node.Attributes["flying_sound_code"].Value : null);
    this.PassbySoundCode = ((node.Attributes["passby_sound_code"] != null) ? node.Attributes["passby_sound_code"].Value : null);
    this.ItemUsage = ((node.Attributes["item_usage"] != null) ? node.Attributes["item_usage"].Value : null);
    this.WeaponBalance = ((node.Attributes["weapon_balance"] != null) ? ((float)int.Parse(node.Attributes["weapon_balance"].Value) * 0.01f) : 0f);
    this.SwingSpeed = ((node.Attributes["speed_rating"] != null) ? int.Parse(node.Attributes["speed_rating"].Value) : 0);
    this.ThrustSpeed = ((node.Attributes["thrust_speed"] != null) ? int.Parse(node.Attributes["thrust_speed"].Value) : 0);
    this.MissileSpeed = ((node.Attributes["missile_speed"] != null) ? int.Parse(node.Attributes["missile_speed"].Value) : 0);
    this.WeaponLength = ((node.Attributes["weapon_length"] != null) ? int.Parse(node.Attributes["weapon_length"].Value) : 0);
    this.ThrustDamage = ((node.Attributes["thrust_damage"] != null) ? int.Parse(node.Attributes["thrust_damage"].Value) : 0);
    this.SwingDamage = ((node.Attributes["swing_damage"] != null) ? int.Parse(node.Attributes["swing_damage"].Value) : 0);
    this.HasFlagAnimation = (node.Attributes["has_flag_animation"] != null && Convert.ToBoolean(node.Attributes["has_flag_animation"].Value));
    this.Accuracy = ((node.Attributes["accuracy"] != null) ? int.Parse(node.Attributes["accuracy"].Value) : 100);
    this.ThrustDamageType = ((node.Attributes["thrust_damage_type"] != null) ? ((DamageTypes)Enum.Parse(typeof(DamageTypes), node.Attributes["thrust_damage_type"].Value)) : DamageTypes.Blunt);
    this.SwingDamageType = ((node.Attributes["swing_damage_type"] != null) ? ((DamageTypes)Enum.Parse(typeof(DamageTypes), node.Attributes["swing_damage_type"].Value)) : DamageTypes.Blunt);
    this.WeaponClass = ((node.Attributes["weapon_class"] != null) ? ((WeaponClass)Enum.Parse(typeof(WeaponClass), node.Attributes["weapon_class"].Value)) : WeaponClass.Undefined);
    this.AmmoClass = ((node.Attributes["ammo_class"] != null) ? ((WeaponClass)Enum.Parse(typeof(WeaponClass), node.Attributes["ammo_class"].Value)) : WeaponClass.Undefined);
    this.CenterOfMass = (float)this.WeaponLength * 0.5f * 0.01f;
    this.CenterOfMass3D = ((node.Attributes["center_of_mass"] != null) ? Vec3.Parse(node.Attributes["center_of_mass"].Value) : Vec3.Zero);
    if (this.WeaponClass != WeaponClass.Bow && this.WeaponClass != WeaponClass.Crossbow && this.WeaponClass != WeaponClass.SmallShield && this.WeaponClass != WeaponClass.LargeShield && this.WeaponClass != WeaponClass.Arrow && this.WeaponClass != WeaponClass.Bolt && this.WeaponClass != WeaponClass.ThrowingKnife && this.WeaponClass != WeaponClass.ThrowingAxe && this.WeaponClass != WeaponClass.Javelin && this.WeaponClass != WeaponClass.Stone)
    {
    WeaponClass weaponClass = this.WeaponClass;
    }
    XmlAttribute xmlAttribute = node.Attributes["ammo_limit"];
    XmlAttribute xmlAttribute2 = node.Attributes["stack_amount"];
    XmlAttribute xmlAttribute3 = node.Attributes["hit_points"];
    if (xmlAttribute != null)
    {
    this.MaxDataValue = short.Parse(xmlAttribute.Value);
    }
    else if (xmlAttribute2 != null)
    {
    this.MaxDataValue = short.Parse(xmlAttribute2.Value);
    }
    else if (xmlAttribute3 != null)
    {
    this.MaxDataValue = short.Parse(xmlAttribute3.Value);
    }
    else
    {
    this.MaxDataValue = 0;
    }
    Vec3 vec = default(Vec3);
    Mat3 identity = Mat3.Identity;
    XmlNode xmlNode = node.Attributes["sticking_position"];
    if (xmlNode != null)
    {
    string[] array = xmlNode.Value.Split(new char[]
    {
    ','
    });
    if (array.Length == 3)
    {
    float.TryParse(array[0], out vec.x);
    float.TryParse(array[1], out vec.y);
    float.TryParse(array[2], out vec.z);
    }
    }
    XmlNode xmlNode2 = node.Attributes["sticking_rotation"];
    if (xmlNode2 != null)
    {
    string[] array2 = xmlNode2.Value.Split(new char[]
    {
    ','
    });
    if (array2.Length == 3)
    {
    float num;
    float.TryParse(array2[0], out num);
    float num2;
    float.TryParse(array2[1], out num2);
    float num3;
    float.TryParse(array2[2], out num3);
    num = num.ToRadians();
    num2 = num2.ToRadians();
    num3 = num3.ToRadians();
    identity.RotateAboutSide(num);
    identity.RotateAboutUp(num2);
    identity.RotateAboutForward(num3);
    }
    }
    vec = identity.TransformToParent(vec);
    this.StickingFrame = new MatrixFrame(identity, vec);
    Vec3 o = default(Vec3);
    Mat3 identity2 = Mat3.Identity;
    XmlNode xmlNode3 = node.Attributes["position"];
    if (xmlNode3 != null)
    {
    string[] array3 = xmlNode3.Value.Split(new char[]
    {
    ','
    });
    if (array3.Length == 3)
    {
    float.TryParse(array3[0], out o.x);
    float.TryParse(array3[1], out o.y);
    float.TryParse(array3[2], out o.z);
    }
    }
    XmlNode xmlNode4 = node.Attributes["rotation"];
    if (xmlNode4 != null)
    {
    string[] array4 = xmlNode4.Value.Split(new char[]
    {
    ','
    });
    if (array4.Length == 3)
    {
    float num4;
    float.TryParse(array4[0], out num4);
    float num5;
    float.TryParse(array4[1], out num5);
    float num6;
    float.TryParse(array4[2], out num6);
    num4 = num4.ToRadians();
    num5 = num5.ToRadians();
    num6 = num6.ToRadians();
    identity2.RotateAboutUp(num6);
    identity2.RotateAboutSide(num4);
    identity2.RotateAboutForward(num5);
    }
    }
    this.Frame = new MatrixFrame(identity2, o);
    this.RotationSpeed = ((node.Attributes["rotation_speed"] != null) ? Vec3.Parse(node.Attributes["rotation_speed"].Value) : Vec3.Zero);
    XmlAttribute xmlAttribute4 = node.Attributes["trail_particle_name"];
    this.TrailParticleName = ((xmlAttribute4 != null) ? xmlAttribute4.Value : null);
    foreach (object obj in node.ChildNodes)
    {
    XmlNode xmlNode5 = (XmlNode)obj;
    if (xmlNode5.Name == "WeaponFlags")
    {
    foreach (object obj2 in Enum.GetValues(typeof(WeaponFlags)))
    {
    WeaponFlags weaponFlags = (WeaponFlags)obj2;
    if (xmlNode5.Attributes[weaponFlags.ToString()] != null)
    {
    this.WeaponFlags |= weaponFlags;
    }
    }
    }
    }
    this.Inertia = this.Item.Weight * 0.05f;
    this.Handling = this.ThrustSpeed;
    this.SweetSpotReach = 0.93f;
    this.SetDamageFactors();
    if (!WeaponComponentData._weaponIsDeserialized)
    {
    WeaponComponentData._weaponIsDeserialized = true;
    }
    }

    It has this piece in it
    if (this.WeaponClass != WeaponClass.Bow && this.WeaponClass != WeaponClass.Crossbow && this.WeaponClass != WeaponClass.SmallShield && this.WeaponClass != WeaponClass.LargeShield && this.WeaponClass != WeaponClass.Arrow && this.WeaponClass != WeaponClass.Bolt && this.WeaponClass != WeaponClass.ThrowingKnife && this.WeaponClass != WeaponClass.ThrowingAxe && this.WeaponClass != WeaponClass.Javelin && this.WeaponClass != WeaponClass.Stone)
    {
    WeaponClass weaponClass = this.WeaponClass;
    }
    XmlAttribute xmlAttribute = node.Attributes["ammo_limit"];
    XmlAttribute xmlAttribute2 = node.Attributes["stack_amount"];
    XmlAttribute xmlAttribute3 = node.Attributes["hit_points"];

    so have tryed adding the ammo_limit to the crafted item line
    <CraftedItem id="western_javelin_1_t2"
    name="{=0NLJnGfF}Simple Javelin"
    ammo_limit="10"
    crafting_template="Javelin">
    and to the reciepe item
    <CraftingTemplate id="Javelin" item_modifier_group="spear_dart_throwing"
    item_holsters="javelins:javelins_2:bow_hip:bow_hip_2"
    default_item_holster_position_offset="0,0,-0.10"
    piece_type_to_scale_holster_with="Handle"
    hidden_piece_types_on_holster="Guard,Handle,Pommel"
    rotate_weapon_in_holster="true"
    always_show_holster_with_weapon="true"
    ammo_limit="40">

    none of these change the stack sizes in game not sure were else to try placing them or what else to be looking for at the moment
  9. lazeras

    Trying to modify Stack Sizes for crafted Items

    Does anyone know how to change the stack sizes for javelins, throwing knives and throwing axes. I have tryed in spitems.xml and adding item component that just crashes the launcher Also tryed in crafting_templates.xml adding does anyone know how it is actually done to increase the stack...
  10. lazeras

    SP Native KAOS Political Wars 1.0

    Redleg said:
    This looks pretty cool.  Good collection of mods.  Any plans for an update?  I ask this because I noticed you updated the KAOS political kit.
    Yes just work is a bit full on atm so bit slow on the update
  11. lazeras

    SP Native KAOS Political Wars 1.0

    Sal_TheConqueror said:
    lazeras said:
    Sal_TheConqueror said:
    I found a couple of bugs

    I keep getting spammed by dodge 0!
    And I can't change king/ruler title prefix .
    dodge 0 is debug message from damage system will take it out probly for now. and cant change king title how and where
    I put in "Kaiser" as king title (Playing as Swadia heuhueuhe) and it ends up like this "Kaiser King <NOOBNAMEHERE>" and if I put it as king it ends up "KING KING NOOBNAME" .
    by putting that in the custom titles ?? of political options
  12. lazeras

    SP Native KAOS Political Wars 1.0

    Sal_TheConqueror said:
    I found a couple of bugs

    I keep getting spammed by dodge 0!
    And I can't change king/ruler title prefix .
    dodge 0 is debug message from damage system will take it out probly for now. and cant change king title how and where
  13. lazeras

    SP Native KAOS Political Wars 1.0

    OmegaWolfy said:
    Sorry for double post but in my game for some reason in tournaments the body armor is invisible
    just noticed that will look at that hopefully after work today
  14. lazeras

    SP Native KAOS Political Wars 1.0

    KAOS (1.0) by LazerasWarband overhaul by lazeras.An overhaul of single player warband to enhance and extend the game play. Designed for personal enjoyment it includes a range of OSP kits that think increase the game without changing it to much. LINKS:              M&B Nexus...
  15. lazeras

    LSP Kit Campaign KAOS Political KIT 1.5 Updated

    dragos said:
    All I need is "Claimants rebels", "Factions can suffer from civil war" and "Political World Map" features. Can't I apply only these three to my mod which I still work on :sad:
    you certainly can use only the bits you want
Back
Top Bottom