[Rpgworldmodel-commits] SF.net SVN: rpgworldmodel: [17] doc
Status: Inactive
Brought to you by:
deadwood_pl
From: <dea...@us...> - 2006-07-15 13:38:44
|
Revision: 17 Author: deadwood_pl Date: 2006-07-15 06:38:17 -0700 (Sat, 15 Jul 2006) ViewCVS: http://svn.sourceforge.net/rpgworldmodel/?rev=17&view=rev Log Message: ----------- Added clubs and knifes. Modified Paths: -------------- doc/RPGWorldModel_model.zuml src/RPGWorldModel.Abstracts/RPGWorldModel.Abstracts.csproj src/RPGWorldModel.Implementation/RPGWorldModel.Implementation.csproj src/test_applications/tester/Form1.cs Added Paths: ----------- doc/ReadeMe.txt src/RPGWorldModel.Abstracts/Club.cs src/RPGWorldModel.Abstracts/Knife.cs src/RPGWorldModel.Implementation/Clubs.cs src/RPGWorldModel.Implementation/Knifes.cs Modified: doc/RPGWorldModel_model.zuml =================================================================== (Binary files differ) Added: doc/ReadeMe.txt =================================================================== --- doc/ReadeMe.txt (rev 0) +++ doc/ReadeMe.txt 2006-07-15 13:38:17 UTC (rev 17) @@ -0,0 +1,2 @@ +In order to read RPGWorldModel_model.zuml you need 'Poseidon for UML'. +I use Community Edition from http://gentleware.com. \ No newline at end of file Added: src/RPGWorldModel.Abstracts/Club.cs =================================================================== --- src/RPGWorldModel.Abstracts/Club.cs (rev 0) +++ src/RPGWorldModel.Abstracts/Club.cs 2006-07-15 13:38:17 UTC (rev 17) @@ -0,0 +1,62 @@ +using System; +using RPGWorldModel.Abstracts.Entities.Items; +using RPGWorldModel.Abstracts.Support.Equipment; +using RPGWorldModel.Abstracts.Interfaces; + +namespace RPGWorldModel.TopLevelImplementation.Entities.Items +{ + public class Club : Weapon + { + #region Initialization Overrides + + public override void InitializeNamedEntity() + { + if (!name.IsInitialized) + { + name.Value = "Club"; + name.IsInitialized = true; + } + } + + public override void InitializeDamageInflictor() + { + // Preadding required descriptors + addDamageDescriptorIfNotExisting(new DamageDescriptorPhysical()); + + foreach (DamageDescriptor damageDescriptor in damageDescriptors.Values) + { + if (!damageDescriptor.IsInitialized && damageDescriptor is DamageDescriptorPhysical) + { + damageDescriptor.BaseMinDamage = 0; + damageDescriptor.MinDamageMargin = 0; + damageDescriptor.BaseMaxDamage = 0; + damageDescriptor.MaxDamageMargin = 0; + damageDescriptor.IsInitialized = true; + damageDescriptor.RandomizationRequired = true; + } + + if (damageDescriptor.RandomizationRequired) + randomizeDamageDescriptor(damageDescriptor); + } + } + + public override void InitializeEquipable() + { + equipmentLocationDescriptors.Clear(); + + // Building descriptors + EquipmentLocationDescriptor leftHand = new EquipmentLocationDescriptor(); + leftHand.AddEquipmentLocation(new EquipmentLocationLeftHand()); + equipmentLocationDescriptors.Add(leftHand); + + EquipmentLocationDescriptor rightHand = new EquipmentLocationDescriptor(); + rightHand.AddEquipmentLocation(new EquipmentLocationRightHand()); + equipmentLocationDescriptors.Add(rightHand); + + EquipmentLocationDescriptor waist = new EquipmentLocationDescriptor(); + waist.AddEquipmentLocation(new EquipmentLocationWaist()); + equipmentLocationDescriptors.Add(waist); + } + #endregion + } +} Added: src/RPGWorldModel.Abstracts/Knife.cs =================================================================== --- src/RPGWorldModel.Abstracts/Knife.cs (rev 0) +++ src/RPGWorldModel.Abstracts/Knife.cs 2006-07-15 13:38:17 UTC (rev 17) @@ -0,0 +1,62 @@ +using System; +using RPGWorldModel.Abstracts.Entities.Items; +using RPGWorldModel.Abstracts.Support.Equipment; +using RPGWorldModel.Abstracts.Interfaces; + +namespace RPGWorldModel.TopLevelImplementation.Entities.Items +{ + public class Knife : Weapon + { + #region Initialization Overrides + + public override void InitializeNamedEntity() + { + if (!name.IsInitialized) + { + name.Value = "Knife"; + name.IsInitialized = true; + } + } + + public override void InitializeDamageInflictor() + { + // Preadding required descriptors + addDamageDescriptorIfNotExisting(new DamageDescriptorPhysical()); + + foreach (DamageDescriptor damageDescriptor in damageDescriptors.Values) + { + if (!damageDescriptor.IsInitialized && damageDescriptor is DamageDescriptorPhysical) + { + damageDescriptor.BaseMinDamage = 0; + damageDescriptor.MinDamageMargin = 0; + damageDescriptor.BaseMaxDamage = 0; + damageDescriptor.MaxDamageMargin = 0; + damageDescriptor.IsInitialized = true; + damageDescriptor.RandomizationRequired = true; + } + + if (damageDescriptor.RandomizationRequired) + randomizeDamageDescriptor(damageDescriptor); + } + } + + public override void InitializeEquipable() + { + equipmentLocationDescriptors.Clear(); + + // Building descriptors + EquipmentLocationDescriptor leftHand = new EquipmentLocationDescriptor(); + leftHand.AddEquipmentLocation(new EquipmentLocationLeftHand()); + equipmentLocationDescriptors.Add(leftHand); + + EquipmentLocationDescriptor rightHand = new EquipmentLocationDescriptor(); + rightHand.AddEquipmentLocation(new EquipmentLocationRightHand()); + equipmentLocationDescriptors.Add(rightHand); + + EquipmentLocationDescriptor waist = new EquipmentLocationDescriptor(); + waist.AddEquipmentLocation(new EquipmentLocationWaist()); + equipmentLocationDescriptors.Add(waist); + } + #endregion + } +} Modified: src/RPGWorldModel.Abstracts/RPGWorldModel.Abstracts.csproj =================================================================== --- src/RPGWorldModel.Abstracts/RPGWorldModel.Abstracts.csproj 2006-07-14 18:19:50 UTC (rev 16) +++ src/RPGWorldModel.Abstracts/RPGWorldModel.Abstracts.csproj 2006-07-15 13:38:17 UTC (rev 17) @@ -37,6 +37,7 @@ <Compile Include="AnimatedEntity.cs" /> <Compile Include="Arachnid.cs" /> <Compile Include="Clothing.cs" /> + <Compile Include="Club.cs" /> <Compile Include="EquipmentLocation.cs" /> <Compile Include="EquipmentSlot.cs" /> <Compile Include="GameEntity.cs" /> @@ -53,6 +54,7 @@ <Compile Include="InAnimatedEntity.cs" /> <Compile Include="Initializable.cs" /> <Compile Include="Item.cs" /> + <Compile Include="Knife.cs" /> <Compile Include="LiveEntity.cs" /> <Compile Include="Pants.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> Added: src/RPGWorldModel.Implementation/Clubs.cs =================================================================== --- src/RPGWorldModel.Implementation/Clubs.cs (rev 0) +++ src/RPGWorldModel.Implementation/Clubs.cs 2006-07-15 13:38:17 UTC (rev 17) @@ -0,0 +1,56 @@ +using System; +using RPGWorldModel.Abstracts.Entities.Items; +using RPGWorldModel.TopLevelImplementation.Entities.Items; +using RPGWorldModel.Abstracts.Interfaces; + +namespace RPGWorldModel.Implementation.Entities.Items.Clubs +{ + /// <summary> + /// Wooden Club + /// </summary> + public class WoodenClub : Club + { + #region Initialization Overrides + + public override void InitializeNamedEntity() + { + if (!name.IsInitialized) + { + name.Value = "Wooden Club"; + name.IsInitialized = true; + } + + base.InitializeNamedEntity(); + } + + public override void InitializeDamagable() + { + if (!durability.IsInitialized) + { + durability.BaseDurability = 700; + durability.DurabilityMargin = 15; + durability.IsInitialized = true; + durability.RandomizationRequired = true; + } + + base.InitializeDamagable(); + } + + public override void InitializeDamageInflictor() + { + DamageDescriptorPhysical damageDesc = new DamageDescriptorPhysical(); + damageDesc.BaseMaxDamage = 15; + damageDesc.MaxDamageMargin = 20; + damageDesc.BaseMinDamage = 5; + damageDesc.MinDamageMargin = 10; + damageDesc.IsInitialized = true; + damageDesc.RandomizationRequired = true; + + addDamageDescriptorIfNotExisting(damageDesc); + + base.InitializeDamageInflictor(); + } + + #endregion + } +} \ No newline at end of file Added: src/RPGWorldModel.Implementation/Knifes.cs =================================================================== --- src/RPGWorldModel.Implementation/Knifes.cs (rev 0) +++ src/RPGWorldModel.Implementation/Knifes.cs 2006-07-15 13:38:17 UTC (rev 17) @@ -0,0 +1,56 @@ +using System; +using RPGWorldModel.Abstracts.Entities.Items; +using RPGWorldModel.TopLevelImplementation.Entities.Items; +using RPGWorldModel.Abstracts.Interfaces; + +namespace RPGWorldModel.Implementation.Entities.Items.Knifes +{ + /// <summary> + /// Flint Stone Knife + /// </summary> + public class FlintStoneKnife : Knife + { + #region Initialization Overrides + + public override void InitializeNamedEntity() + { + if (!name.IsInitialized) + { + name.Value = "Flint Stone Knife"; + name.IsInitialized = true; + } + + base.InitializeNamedEntity(); + } + + public override void InitializeDamagable() + { + if (!durability.IsInitialized) + { + durability.BaseDurability = 500; + durability.DurabilityMargin = 30; + durability.IsInitialized = true; + durability.RandomizationRequired = true; + } + + base.InitializeDamagable(); + } + + public override void InitializeDamageInflictor() + { + DamageDescriptorPhysical damageDesc = new DamageDescriptorPhysical(); + damageDesc.BaseMaxDamage = 10; + damageDesc.MaxDamageMargin = 10; + damageDesc.BaseMinDamage = 5; + damageDesc.MinDamageMargin = 10; + damageDesc.IsInitialized = true; + damageDesc.RandomizationRequired = true; + + addDamageDescriptorIfNotExisting(damageDesc); + + base.InitializeDamageInflictor(); + } + + #endregion + } +} \ No newline at end of file Modified: src/RPGWorldModel.Implementation/RPGWorldModel.Implementation.csproj =================================================================== --- src/RPGWorldModel.Implementation/RPGWorldModel.Implementation.csproj 2006-07-14 18:19:50 UTC (rev 16) +++ src/RPGWorldModel.Implementation/RPGWorldModel.Implementation.csproj 2006-07-15 13:38:17 UTC (rev 17) @@ -33,6 +33,8 @@ <Reference Include="System.Xml" /> </ItemGroup> <ItemGroup> + <Compile Include="Clubs.cs" /> + <Compile Include="Knifes.cs" /> <Compile Include="Pants.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Shirts.cs" /> Modified: src/test_applications/tester/Form1.cs =================================================================== --- src/test_applications/tester/Form1.cs 2006-07-14 18:19:50 UTC (rev 16) +++ src/test_applications/tester/Form1.cs 2006-07-15 13:38:17 UTC (rev 17) @@ -16,6 +16,8 @@ using RPGWorldModel.Implementation.Entities.Items.Swords; using RPGWorldModel.Implementation.Entities.Items.Shirts; using RPGWorldModel.Implementation.Entities.Items.Pants; +using RPGWorldModel.Implementation.Entities.Items.Clubs; +using RPGWorldModel.Implementation.Entities.Items.Knifes; /* * This is a simple WinForms application for testing features added to the framework. @@ -343,6 +345,47 @@ } + if (equipable is Knife) + { + int swordLength = 50; + Brush selectedBrush = Brushes.Gray; + + if (equipable is FlintStoneKnife) + { + selectedBrush = Brushes.Orange; + } + + g.FillRectangle(selectedBrush, x, y, 5, swordLength); + g.FillRectangle(selectedBrush, x + 5, y, 3, swordLength / 2); + + Point[] points = new Point[3]; + points[0].X = x; + points[0].Y = y + swordLength; + points[1].X = x; + points[1].Y = y + swordLength + 10; + points[2].X = x + 5; + points[2].Y = y + swordLength; + g.FillPolygon(selectedBrush, points); + + } + + if (equipable is Club) + { + int swordLength = 100; + Point[] points = new Point[4]; + points[0].X = x; + points[0].Y = y; + points[1].X = x-5; + points[1].Y = y + swordLength; + points[2].X = x + 10; + points[2].Y = y + swordLength; + points[3].X = x + 5; + points[3].Y = y; + + g.FillPolygon(Brushes.Brown, points); + + } + if (equipable is Shirt) { if (slot is EquipmentSlotLeftArm) @@ -446,11 +489,19 @@ CottonShirt cShirt = new CottonShirt(); cShirt.InitializeEntity(); + FlintStoneKnife fsKnife = new FlintStoneKnife(); + fsKnife.InitializeEntity(); + + WoodenClub wClub = new WoodenClub(); + wClub.InitializeEntity(); + availableEquipable.Add(sword); availableEquipable.Add(wSword); availableEquipable.Add(bthSword); availableEquipable.Add(cPants); availableEquipable.Add(cShirt); + availableEquipable.Add(fsKnife); + availableEquipable.Add(wClub); refreshEquip(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |