RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Druidic Spells Final-all 16 spells - updated 6th Jan 04

Status
Not open for further replies.

wolf

Wanderer
thx voran.
p.s i tried your shard badass ;) .
_____________________________
Wolf Owner of DeadlyAlliance
http://www.freewebs.com/DeadlyAllianceI/
Happy Halloween :twisted:
 

Voran

Wanderer
Bug fixes to be added tonight:
1) There's a couple of graphics glitches in the book - notably the turn page right button on the Hollow Reed page shows the default button ID when clicked, not the turn page. Also, the book doesn't play page turning sounds.
2) lure stone - major graphics bug (I got the two numbers the wrong way round for itemids), and a problem with it not removing.
3) Stone circle - the stones are movable... Similar deleting issue.

Information: The firefly is intentionally invisible. The Spring Of Life Spell is supposed to have two entries for Spring Water in regs.

I'll post bug fixes in a couple of hours.
 

Vidi

Page
Ok first this system is very good

However there are two issues Id like to point out


1) in shield of earth scroll AND shield of earth spell shield is mispelled several times as sheild. This causes a few errors ( easy to fix I know but I felt it should be pointed out )

2) Petrafied is a mispelling. It should be petrified.
 

Voran

Wanderer
I get no errors at all with mine - I didn't bother to change the spelling of classes from the original druid book(What's the point, after all), but the actual Names (capitalization intentional) are spelt correctly -Shield and Petrified.
 

Voran

Wanderer
Updated! I've added Restorative Soil - when cast it creates a patch of mud. if you walk over it when you're dead, you can be resurrected!
I'm still looking at posibilities for Enchanted Grove.
 

Ocg_66

Wanderer
Help Please....

After I put the druid spells in my custom folder and replace the regeants.cs and the spellbook.cs and after i add the lines after the necro and chivl spells.....I get this when I try to start the server.....

Scripts: Compiling C# scripts...failed (42 errors, 0 warnings)
- Error: Scripts\Custom\New\Druid\BlendWithForrestScroll.cs: CS0101: (line 7, c
olumn 17) The namespace 'Server.Items' already contains a definition for 'BlendW
ithForestScroll'
- Error: Scripts\Custom\New\Druid\BlendWithForrestSpell.cs: CS0116: (line 5, co
lumn 1) A namespace does not directly contain members such as fields or methods
- Error: Scripts\Custom\New\Druid\BlendWithForrestSpell.cs: CS1514: (line 6, co
lumn 30) { expected
- Error: Scripts\Custom\New\Druid\BlendWithForrestSpell.cs: CS0116: (line 8, co
lumn 1) A namespace does not directly contain members such as fields or methods
- Error: Scripts\Custom\New\Druid\BlendWithForrestSpell.cs: CS1022: (line 94, c
olumn 1) Type or namespace definition, or end-of-file expected
- Error: Scripts\Custom\New\Druid\DestroyingAngel.cs: CS0101: (line 7, column 1
7) The namespace 'Server.Items' already contains a definition for 'DestroyingAng
el'
- Error: Scripts\Custom\New\Druid\DruidicSpell.cs: CS0101: (line 6, column 26)
The namespace 'Server.Spells.Druid' already contains a definition for 'DruidicSp
ell'
- Error: Scripts\Custom\New\Druid\DruidicSpellBook.cs: CS0101: (line 8, column
17) The namespace 'Server.Items' already contains a definition for 'DruidicSpell
book'
- Error: Scripts\Custom\New\Druid\DruidSpellBookGump.cs: CS0101: (line 12, colu
mn 17) The namespace 'Server.Gumps' already contains a definition for 'DruidicSp
ellbookGump'
- Error: Scripts\Custom\New\Druid\FireflyFamiliar.cs: CS0101: (line 11, column
15) The namespace 'Server.Mobiles' already contains a definition for 'FireflyFam
iliar'
- Error: Scripts\Custom\New\Druid\FireflyScroll.cs: CS0101: (line 7, column 17)
The namespace 'Server.Items' already contains a definition for 'FireflyScroll'
- Error: Scripts\Custom\New\Druid\GraspingRootsScroll.cs: CS0101: (line 7, colu
mn 17) The namespace 'Server.Items' already contains a definition for 'GraspingR
ootsScroll'
- Error: Scripts\Custom\New\Druid\GraspingRootsSpell.cs: CS0101: (line 9, colum
n 17) The namespace 'Server.Spells.Druid' already contains a definition for 'Gra
spingRootsSpell'
- Error: Scripts\Custom\New\Druid\HollowReedScroll.cs: CS0101: (line 7, column
17) The namespace 'Server.Items' already contains a definition for 'HollowReedSc
roll'
- Error: Scripts\Custom\New\Druid\HollowReedSpell.cs: CS0101: (line 7, column 1
7) The namespace 'Server.Spells.Druid' already contains a definition for 'Hollow
ReedSpell'
- Error: Scripts\Custom\New\Druid\LureStone.cs: CS0101: (line 16, column 17) Th
e namespace 'Server.Items' already contains a definition for 'LureStone'
- Error: Scripts\Custom\New\Druid\LureStoneScroll.cs: CS0101: (line 7, column 1
7) The namespace 'Server.Items' already contains a definition for 'LureStoneScro
ll'
- Error: Scripts\Custom\New\Druid\LureStoneSpell.cs: CS0101: (line 10, column 1
5) The namespace 'Server.Spells.Druid' already contains a definition for 'LureSt
oneSpell'
- Error: Scripts\Custom\New\Druid\MushroomCircle.cs: CS0101: (line 10, column 1
5) The namespace 'Server.Items' already contains a definition for 'MushroomCircl
e'
- Error: Scripts\Custom\New\Druid\MushroomCircleScroll.cs: CS0101: (line 7, col
umn 17) The namespace 'Server.Items' already contains a definition for 'Mushroom
CircleScroll'
- Error: Scripts\Custom\New\Druid\MushroomCircleSpell.cs: CS0101: (line 9, colu
mn 17) The namespace 'Server.Spells.Druid' already contains a definition for 'St
oneCircleSpell'
- Error: Scripts\Custom\New\Druid\MushroomGateCircle.cs: CS0101: (line 13, colu
mn 15) The namespace 'Server.Items' already contains a definition for 'MushroomG
ateCircle'
- Error: Scripts\Custom\New\Druid\MushroomGatewayScroll.cs: CS0101: (line 7, co
lumn 17) The namespace 'Server.Items' already contains a definition for 'Mushroo
mGatewayScroll'
- Error: Scripts\Custom\New\Druid\MushroomGatewaySpell.cs: CS0101: (line 11, co
lumn 15) The namespace 'Server.Spells.Druid' already contains a definition for '
MushroomGatewaySpell'
- Error: Scripts\Custom\New\Druid\NaturesPassageScroll.cs: CS0101: (line 7, col
umn 17) The namespace 'Server.Items' already contains a definition for 'NaturesP
assageScroll'
- Error: Scripts\Custom\New\Druid\NaturesPassageSpell.cs: CS0101: (line 11, col
umn 15) The namespace 'Server.Spells.Druid' already contains a definition for 'N
aturesPassageSpell'
- Error: Scripts\Custom\New\Druid\PackofBeastScroll.cs: CS0101: (line 7, column
17) The namespace 'Server.Items' already contains a definition for 'PackOfBeast
Scroll'
- Error: Scripts\Custom\New\Druid\PackOfBeastSpell.cs: CS0101: (line 8, column
17) The namespace 'Server.Spells.Druid' already contains a definition for 'PackO
fBeastSpell'
- Error: Scripts\Custom\New\Druid\PetrafiedWood.cs: CS0101: (line 7, column 17)
The namespace 'Server.Items' already contains a definition for 'PetrafiedWood'
- Error: Scripts\Custom\New\Druid\ShieldOfEarthScroll.cs: CS0101: (line 7, colu
mn 17) The namespace 'Server.Items' already contains a definition for 'SheildOfE
arthScroll'
- Error: Scripts\Custom\New\Druid\ShieldOfEarthSpell.cs: CS0101: (line 9, colum
n 17) The namespace 'Server.Spells.Druid' already contains a definition for 'She
ildOfEarthSpell'
- Error: Scripts\Custom\New\Druid\SpringOfLifeScroll.cs: CS0101: (line 7, colum
n 17) The namespace 'Server.Items' already contains a definition for 'SpringOfLi
feScroll'
- Error: Scripts\Custom\New\Druid\SpringOfLifeSpell.cs: CS0101: (line 10, colum
n 17) The namespace 'Server.Spells.Druid' already contains a definition for 'Spr
ingOfLifeSpell'
- Error: Scripts\Custom\New\Druid\SpringWater.cs: CS0101: (line 7, column 17) T
he namespace 'Server.Items' already contains a definition for 'SpringWater'
- Error: Scripts\Custom\New\Druid\SummonedTreefellow.cs: CS0101: (line 8, colum
n 15) The namespace 'Server.Mobiles' already contains a definition for 'Summoned
Treefellow'
- Error: Scripts\Custom\New\Druid\SummonFireflySpell.cs: CS0101: (line 8, colum
n 15) The namespace 'Server.Spells.Druid' already contains a definition for 'Fir
eflySpell'
- Error: Scripts\Custom\New\Druid\SwarmOfInsectScroll.cs: CS0101: (line 7, colu
mn 17) The namespace 'Server.Items' already contains a definition for 'SwarmOfIn
sectsScroll'
- Error: Scripts\Custom\New\Druid\SwarmofInsectsSpell.cs: CS0101: (line 9, colu
mn 17) The namespace 'Server.Spells.Druid' already contains a definition for 'Sw
armOfInsectsSpell'
- Error: Scripts\Custom\New\Druid\TreefellowScroll.cs: CS0101: (line 7, column
17) The namespace 'Server.Items' already contains a definition for 'TreefellowSc
roll'
- Error: Scripts\Custom\New\Druid\TreefellowSpell.cs: CS0101: (line 8, column 1
5) The namespace 'Server.Spells.Druid' already contains a definition for 'Treefe
llowSpell'
- Error: Scripts\Custom\New\Druid\VolcanicEruption.cs: CS0101: (line 9, column
17) The namespace 'Server.Spells.Druid' already contains a definition for 'Volca
nicEruptionSpell'
- Error: Scripts\Custom\New\Druid\VolcanicEruptionScroll.cs: CS0101: (line 7, c
olumn 17) The namespace 'Server.Items' already contains a definition for 'Volcan
icEruptionScroll'
Scripts: One or more scripts failed to compile or no script files were found.
- Press return to exit, or R to try again.


Sorry for how long it is, but I'm stuck
 

dreamerwolf

Wanderer
When I add
[code:1]
switch ( Utility.Random( 15 ) )
{
case 0: PackItem( new BlendWithForrestScroll(1) ); break;
case 1: PackItem( new FireflyScroll(1) ); break;
case 2: PackItem( new GraspingRootsScroll(1) ); break;
case 3: PackItem( new HollowReedScroll(1) ); break;
case 4: PackItem( new LureStoneScroll(1) ); break;
case 5: PackItem( new MushroomCircleScroll(1) ); break;
case 6: PackItem( new MushroomGatewayScroll(1) ); break;
case 7: PackItem( new NaturesPassageScroll(1) ); break;
case 8: PackItem( new PackofBeastScroll(1) ); break;
case 9: PackItem( new ShieldOfEarthScroll(1) ); break;
case 10: PackItem( new SpringOfLifeScroll(1) ); break;
case 11: PackItem( new SwarmOfInsectScroll(1) ); break;
case 12: PackItem( new TreefellowScroll(1) ); break;
case 13: PackItem( new VolcanicEruptionScroll(1) ); break;
case 14: PackItem( new DruidicSpellBook() ); break;
}
[/code:1]
Console said "Can't find this Type or Namespace"
I added Using Server.Items at the handle.
what is the problem?
 

dreamerwolf

Wanderer
[code:1]
using System;
using System.Collections;
using Server;
using Server.Items;
using Server.Targeting;

namespace Server.Mobiles
{
[CorpseName( "a dark angle corpse" )]
public class DarkAngle : BaseCreature
{
[Constructable]
public DarkAngle () : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = NameList.RandomName( "Daemon" );
Body = 9;
BaseSoundID = 357;
Hue = 1;

SetStr( 450, 550 );
SetDex( 200, 300 );
SetInt( 700, 800 );

SetHits( 400, 500 );

SetDamage( 20, 30 );

SetDamageType( ResistanceType.Physical, 100 );

SetResistance( ResistanceType.Physical, 45, 60 );
SetResistance( ResistanceType.Fire, 50, 60 );
SetResistance( ResistanceType.Cold, 30, 40 );
SetResistance( ResistanceType.Poison, 20, 30 );
SetResistance( ResistanceType.Energy, 30, 40 );

SetSkill( SkillName.EvalInt, 70.1, 80.0 );
SetSkill( SkillName.Magery, 70.1, 80.0 );
SetSkill( SkillName.MagicResist, 85.1, 95.0 );
SetSkill( SkillName.Tactics, 70.1, 80.0 );
SetSkill( SkillName.Wrestling, 60.1, 80.0 );

Fame = 15000;
Karma = -15000;

VirtualArmor = 60;
ControlSlots = 5;

PackGold( 1000, 4000 );
//Problem start
switch ( Utility.Random( 15 ) )
{
case 0: PackItem( new BlendWithForestScroll(1) ); break;
case 1: PackItem( new FireflyScroll(1) ); break;
case 2: PackItem( new GraspingRootsScroll(1) ); break;
case 3: PackItem( new HollowReedScroll(1) ); break;
case 4: PackItem( new LureStoneScroll(1) ); break;
case 5: PackItem( new MushroomCircleScroll(1) ); break;
case 6: PackItem( new MushroomGatewayScroll(1) ); break;
case 7: PackItem( new NaturesPassageScroll(1) ); break;
case 8: PackItem( new PackofBeastScroll(1) ); break;
case 9: PackItem( new ShieldOfEarthScroll(1) ); break;
case 10: PackItem( new SpringOfLifeScroll(1) ); break;
case 11: PackItem( new SwarmOfInsectScroll(1) ); break;
case 12: PackItem( new TreefellowScroll(1) ); break;
case 13: PackItem( new VolcanicEruptionScroll(1) ); break;
case 14: PackItem( new DruidicSpellBook() ); break;
};
//problem end
PackItem( new DestroyingAngel(Utility.RandomMinMax( 1, 5 )) );
}

public override bool CanRummageCorpses{ get{ return true; } }
public override Poison PoisonImmune{ get{ return Poison.Regular; } }
public override int Meat{ get{ return 1; } }

public DarkAngle( Serial serial ) : base( serial )
{
}

public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}

public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
}
[/code:1]
u try run this script, and u will know the problem on console.
 

Voran

Wanderer
[code:1] case 0: PackItem( new BlendWithForestScroll() ); break;
case 1: PackItem( new FireflyScroll() ); break;
case 2: PackItem( new GraspingRootsScroll() ); break;
case 3: PackItem( new HollowReedScroll() ); break;
case 4: PackItem( new LureStoneScroll() ); break;
case 5: PackItem( new MushroomCircleScroll() ); break;
case 6: PackItem( new MushroomGatewayScroll() ); break;
case 7: PackItem( new NaturesPassageScroll() ); break;
case 8: PackItem( new PackOfBeastScroll() ); break;
case 9: PackItem( new SheildOfEarthScroll() ); break;
case 10: PackItem( new SpringOfLifeScroll() ); break;
case 11: PackItem( new SwarmOfInsectsScroll() ); break;
case 12: PackItem( new TreefellowScroll() ); break;
case 13: PackItem( new VolcanicEruptionScroll() ); break;
case 14: PackItem( new DruidicSpellbook() ); break;
[/code:1]
You need to make sure the names of the scrolls dropped as loot match the names of the scrolls in the package.
Also it should be angel, not angle :)
 

mikemaz

Wanderer
errors

[code:1]Scripts: Compiling C# scripts...failed (1 errors, 5 warnings)
- Warning: Scripts\Custom\Modified\Items\Wands\BaseWand.cs: CS0219: (line 211,
column 8) The variable 'number' is assigned but its value is never used
- Warning: Scripts\Custom\Druid\Druid\GroveGump.cs: CS0219: (line 25, column 3
) The variable 'initialState' is assigned but its value is never used
- Error: Scripts\Custom\Druid\Druid\NaturesPassageSpell.cs: CS1501: (line 111,
column 5) No overload for method 'TeleportPets' takes '4' arguments
- Warning: Scripts\Custom\Druid\Druid\RestorativeSoilSpell.cs: CS0168: (line 6
, column 17) The variable 'stonex' is declared but never used
- Warning: Scripts\Custom\Druid\Druid\RestorativeSoilSpell.cs: CS0168: (line 6
, column 15) The variable 'stoney' is declared but never used
- Warning: Scripts\Custom\Druid\Druid\RestorativeSoilSpell.cs: CS0168: (line 6
, column 15) The variable 'stonez' is declared but never used
Scripts: One or more scripts failed to compile or no script files were found.
- Press return to exit, or R to try again.

[/code:1] this is the errors i get running bata35
 

batarex

Sorceror
I'm also having the same errors, is this due to the last spell missing or is there a glitch we are over looking?

- Error: Scripts\Custom\Druid\Druid\NaturesPassageSpell.cs: CS1501: (line 111,
column 5) No overload for method 'TeleportPets' takes '4' arguments
- Warning: Scripts\Custom\Druid\Druid\RestorativeSoilSpell.cs: CS0168: (line 6
, column 17) The variable 'stonex' is declared but never used
- Warning: Scripts\Custom\Druid\Druid\RestorativeSoilSpell.cs: CS0168: (line 6
, column 15) The variable 'stoney' is declared but never used
- Warning: Scripts\Custom\Druid\Druid\RestorativeSoilSpell.cs: CS0168: (line 6
, column 15) The variable 'stonez' is declared but never used
Scripts: One or more scripts failed to compile or no script files were found.
- Press return to exit, or R to try again.
 

Tork

Wanderer
Try useing this...Replace the one you have now with this one.

[code:1]using System;
using Server.Items;
using Server.Multis;
using Server.Network;
using Server.Targeting;
using Server.Regions;
using Server.Mobiles;

namespace Server.Spells.Druid
{
public class NaturesPassageSpell : DruidicSpell
{
private static SpellInfo m_Info = new SpellInfo(
"Nature's Passage", "Kes Sec Vauk",
SpellCircle.Fourth,
239,
9031,
Reagent.BlackPearl,
Reagent.Bloodmoss,
Reagent.MandrakeRoot
);
public override double CastDelay{ get{ return 0.5; } }
public override double RequiredSkill{ get{ return 15.0; } }
public override int RequiredMana{ get{ return 10; } }
private RunebookEntry m_Entry;
private Runebook m_Book;

public NaturesPassageSpell( Mobile caster, Item scroll ) : this( caster, scroll, null, null )
{
}

public NaturesPassageSpell( Mobile caster, Item scroll, RunebookEntry entry, Runebook book ) : base( caster, scroll, m_Info )
{
m_Entry = entry;
m_Book = book;
}



public override void OnCast()
{
if ( m_Entry == null )
Caster.Target = new InternalTarget( this );
else
Effect( m_Entry.Location, m_Entry.Map, true );
}

public override bool CheckCast()
{
if ( Caster.Criminal )
{
Caster.SendLocalizedMessage( 1005561, "", 0x22 ); // Thou'rt a criminal and cannot escape so easily.
return false;
}
else if ( SpellHelper.CheckCombat( Caster ) )
{
Caster.SendLocalizedMessage( 1005564, "", 0x22 ); // Wouldst thou flee during the heat of battle??
return false;
}
else if ( Server.Misc.WeightOverloading.IsOverloaded( Caster ) )
{
Caster.SendLocalizedMessage( 502359, "", 0x22 ); // Thou art too encumbered to move.
return false;
}

return SpellHelper.CheckTravel( Caster, TravelCheckType.RecallFrom );
}

public void Effect( Point3D loc, Map map, bool checkMulti )
{
if ( map == null || (!Core.AOS && Caster.Map != map) )
{
Caster.SendLocalizedMessage( 1005569 ); // You can not recall to another facet.
}
else if ( !SpellHelper.CheckTravel( Caster, TravelCheckType.RecallFrom ) )
{
}
else if ( !SpellHelper.CheckTravel( Caster, map, loc, TravelCheckType.RecallTo ) )
{
}
else if ( Caster.Kills >= 5 && map != Map.Felucca )
{
Caster.SendLocalizedMessage( 1019004 ); // You are not allowed to travel there.
}
else if ( Caster.Criminal )
{
Caster.SendLocalizedMessage( 1005561, "", 0x22 ); // Thou'rt a criminal and cannot escape so easily.
}
else if ( SpellHelper.CheckCombat( Caster ) )
{
Caster.SendLocalizedMessage( 1005564, "", 0x22 ); // Wouldst thou flee during the heat of battle??
}
else if ( Server.Misc.WeightOverloading.IsOverloaded( Caster ) )
{
Caster.SendLocalizedMessage( 502359, "", 0x22 ); // Thou art too encumbered to move.
}
else if ( !map.CanSpawnMobile( loc.X, loc.Y, loc.Z ) )
{
Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
}
else if ( (checkMulti && SpellHelper.CheckMulti( loc, map )) )
{
Caster.SendLocalizedMessage( 501942 ); // That location is blocked.
}
else if ( m_Book != null && m_Book.CurCharges <= 0 )
{
Caster.SendLocalizedMessage( 502412 ); // There are no charges left on that item.
}
else if ( CheckSequence() )
{
// BaseCreature.TeleportPets( Caster, loc, map, true );
if ( m_Book != null )
--m_Book.CurCharges;

Caster.PlaySound( 0x19 );
Effects.SendLocationParticles( Caster, 0xC87, 9, 10, 5025 );
Caster.Map = map;
Caster.Location = loc;
Caster.PlaySound( 0x19 );
Effects.SendLocationParticles( Caster, 0xC87, 9, 10, 5025 );

}

FinishSequence();
}

private class InternalTarget : Target
{
private NaturesPassageSpell m_Owner;

public InternalTarget( NaturesPassageSpell owner ) : base( 12, false, TargetFlags.None )
{
m_Owner = owner;

owner.Caster.LocalOverheadMessage( MessageType.Regular, 0x3B2, 501029 ); // Select Marked item.
}

protected override void OnTarget( Mobile from, object o )
{
if ( o is RecallRune )
{
RecallRune rune = (RecallRune)o;

if ( rune.Marked )
m_Owner.Effect( rune.Target, rune.TargetMap, true );
else
from.SendLocalizedMessage( 501805 ); // That rune is not yet marked.
}
else if ( o is Runebook )
{
RunebookEntry e = ((Runebook)o).Default;

if ( e != null )
m_Owner.Effect( e.Location, e.Map, true );
else
from.SendLocalizedMessage( 502354 ); // Target is not marked.
}
else if ( o is Key && ((Key)o).KeyValue != 0 && ((Key)o).Link is BaseBoat )
{
BaseBoat boat = ((Key)o).Link as BaseBoat;

if ( !boat.Deleted && boat.CheckKey( ((Key)o).KeyValue ) )
m_Owner.Effect( boat.GetMarkedLocation(), boat.Map, false );
else
from.Send( new MessageLocalized( from.Serial, from.Body, MessageType.Regular, 0x3B2, 3, 502357, from.Name, "" ) ); // I can not recall from that object.
}
else
{
from.Send( new MessageLocalized( from.Serial, from.Body, MessageType.Regular, 0x3B2, 3, 502357, from.Name, "" ) ); // I can not recall from that object.
}
}

protected override void OnTargetFinish( Mobile from )
{
m_Owner.FinishSequence();
}
}
}
}[/code:1]

and as for the restoritive soil, it is do to some spelling errors in the Initializer or scroll or spell itself, i dont remember wich. and the grove gump needs to be left out, all the required parts to that are not up yet.
 

Voran

Wanderer
The problems with the soil are warnings, not errors. They'll be removed next update.
The very first page of the post explains how to amend NaturesPassage if you're not using Bonding.
 

akrondar

Wanderer
yeah, this spells are great!!! :D :D , but i still have a problem.. i modified the stone circle to be the mushroom circle.. and change everywere i found "sheildofearth" to "shieldof earth", well, the problem is that i can´t see all the spells in the book.. but the descriptions of the spells are fine.. and mi initializer.cs looks good too.. what could i do? :?:

;)
 
Status
Not open for further replies.
Top