Jump to content

Event Assembler Questions Thread


CT075
 Share

Recommended Posts

  • Replies 3.3k
  • Created
  • Last Reply

Top Posters In This Topic

chapter data editor in nightmare. scroll all the way down and you'll see "Chapter Title Display Fade-out" there are 2 options: fade to black and fade to map. Choose fade to map apply changes, save etc etc

Link to comment
Share on other sites

Is there a code or macro or anything to make it so that you can't skip a certain event?

From the EA Doc:

Skipping

FE7:

NEVENTS

Makes player unable to use start to skip the event.

FE7:

NCONVOS

Makes player unable to skip convo with B button.

Link to comment
Share on other sites

also, where are you supposed to put IFAF's?

My ifaf's always lead me to an error saying "didn't reach end currently at NewLine"

edit: NEVENTS & NCONVOS broke the chapter :(

Edited by Brendor the Brave
Link to comment
Share on other sites

Format:

IFAF Conditional_ID1 ASM_routine  // 2 Parameters
     what to do if routine returned false
ELSE Conditional_ID2
     ENIF Conditional_ID1
     What to do if routine returned true
     ENIF Conditional_ID2

Make sure you know what the ASM routine does.

If something broke, post your code.

Link to comment
Share on other sites

#define DISABLE_TUTORIALS
#include EAstdlib.event
EventPointerTable(0x0F,Pointers)
ORG 0x15ED730
Pointers:
POIN Turn_events
POIN Character_events
POIN Location_events
POIN Misc_events
POIN Bad Bad Bad Bad
POIN Good Good Good Good
POIN Opening_event Ending_event
Shit:
UNIT Fargus 0x48 0x00 Level(2, NPC, 1) [8,2] [8,2] [0x01, 0x6A] Guard
UNIT
Good:
UNIT Eliwood EliwoodLord 0x00 Level(1, Ally, 0) [1,0] [1,4] [0x00] Guard
UNIT Oswin Knight 0x01 Level(1, Ally, 1) [1,0] [0,4] [0x00] Guard
UNIT Lowen Cavalier 0x01 Level(1, Ally, 1) [1,0] [1,5] [0x00] Guard
UNIT Marcus Paladin 0x01 Level(3, NPC, 1) [1,0] [1,7] [0x01] Guard
UNIT
Bad:
UNIT 0x67 0x39 0x99 Level(7, Enemy, 1) [24,14] [13,4] [0x20] NoAI
UNIT 0x67 0x39 0x99 Level(7, Enemy, 1) [24,14] [22,7] [0x20] NoAI
UNIT 0x67 0x39 0x99 Level(7, Enemy, 1) [24,14] [21,4] [0x20] NoAI
UNIT 0x67 0x39 0x99 Level(7, Enemy, 1) [24,14] [14,3] [0x20] NoAI
UNIT 0x67 0x39 0x99 Level(7, Enemy, 1) [24,14] [18,7] [0x20] NoAI
UNIT 0x67 0x39 0x99 Level(7, Enemy, 1) [24,14] [16,6] [0x20] NoAI
UNIT 0x67 0x39 0x99 Level(7, Enemy, 1) [24,14] [15,4] [0x20] NoAI
UNIT 0x67 0x39 0x99 Level(7, Enemy, 1) [24,14] [23,4] [0x20] NoAI
UNIT 0x67 0x39 0x99 Level(7, Enemy, 1) [24,14] [15,7] [0x20] NoAI
UNIT 0x67 0x39 0x99 Level(7, Enemy, 1) [24,14] [19,4] [0x20] NoAI
UNIT 0x67 0x39 0x99 Level(7, Enemy, 1) [24,14] [20,3] [0x20] Guard
UNIT 0x67 0x39 0x99 Level(7, Enemy, 1) [24,14] [18,2] [0x20] NoAI
UNIT 0x67 0x39 0x99 Level(7, Enemy, 1) [24,14] [10,7] [0x20] NoAI
UNIT 0x67 0x39 0x99 Level(7, Enemy, 1) [24,14] [9,4] [0x20] NoAI
UNIT 0x67 0x39 0x99 Level(7, Enemy, 1) [24,14] [10,3] [0x20] NoAI
UNIT 0x67 0x39 0x99 Level(7, Enemy, 1) [24,14] [11,4] [0x20] NoAI
UNIT 0x67 0x39 0x99 Level(7, Enemy, 1) [24,14] [17,7] [0x20] NoAI
UNIT 0x67 0x39 0x99 Level(7, Enemy, 1) [24,14] [17,4] [0x20] NoAI
UNIT 0x67 0x39 0x99 Level(7, Enemy, 1) [24,14] [19,2] [0x20] Guard
UNIT 0x67 0x39 0x99 Level(7, Enemy, 1) [24,14] [20,2] [0x20] Guard
UNIT 0x67 0x39 0x99 Level(7, Enemy, 1) [24,14] [21,2] [0x20] Guard
UNIT
Lovers:
UNIT 0x01 0x01 0x00 Level(5, Ally, 1) [3,2] [9,8] [0x01, 0x6B] PursueWithoutHeed
UNIT 0xB6 0x48 0x00 Level(5, Ally, 1) [3,2] [10,7] [0x01, 0x6B] PursueWithoutHeed
UNIT
Help:
UNIT Glass 0x41 0x00 Level(5, Enemy, 1) [8,8] [8,8] [0x1A, 0x6B] Guard
UNIT 0x0A 0x48 0x00 Level(5, NPC, 1) [10,8] [10,8] [0x00] Guard
UNIT 0xCE 0x57 0x00 Level(5, NPC, 1) [11,8] [11,8] [0x00] Guard
UNIT 0xCF 0x57 0x00 Level(5, NPC, 1) [11,7] [11,7] [0x00] Guard
UNIT 0xD0 0x57 0x00 Level(5, NPC, 1) [12,8] [12,8] [0x00] Guard
UNIT 0x61 0x38 0x00 Level(5, Enemy, 1) [8,7] [8,7] [0x16, 0x6B] PursueWithoutHeed
UNIT 0x61 0x38 0x00 Level(5, Enemy, 1) [7,8] [7,8] [0x16, 0x6B] PursueWithoutHeed
UNIT
Arch:
UNIT 0x0E 0x18 0x00 Level(3, NPC, 0) [9,5] [9,5] [0x59, 0x2C] Guard
UNIT
Rape:
UNIT 0x61 0x28 0x00 Level(5, Enemy, 1) [7,7] [7,7] [0x14, 0x6B] PursueWithoutHeed
UNIT 0x61 0x28 0x00 Level(5, Enemy, 1) [8,9] [8,9] [0x01, 0x6B] PursueWithoutHeed
UNIT 0x61 0x28 0x00 Level(5, Enemy, 1) [12,11] [12,11] [0x14, 0x6B] PursueWithoutHeed
UNIT 0x61 0x28 0x00 Level(5, Enemy, 1) [8,12] [8,12] [0x01, 0x6B] PursueWithoutHeed
UNIT 0x61 0x28 0x00 Level(5, Enemy, 1) [10,13] [10,13] [0x14, 0x6B] PursueWithoutHeed
UNIT 0x61 0x28 0x00 Level(5, Enemy, 1) [8,14] [8,14] [0x14, 0x6B] PursueWithoutHeed
UNIT 0x61 0x28 0x00 Level(5, Enemy, 1) [7,13] [7,13] [0x01, 0x6B] PursueWithoutHeed
UNIT 0x61 0x38 0x00 Level(5, Enemy, 1) [8,11] [8,11] [0x14, 0x6B] PursueWithoutHeed
UNIT 0x61 0x38 0x00 Level(5, Enemy, 1) [8,13] [8,13] [0x14, 0x6B] PursueWithoutHeed
UNIT 0x61 0x38 0x00 Level(5, Enemy, 1) [11,13] [11,13] [0x14, 0x6B] PursueWithoutHeed
UNIT 0x61 0x38 0x00 Level(5, Enemy, 1) [12,13] [12,13] [0x14, 0x6B] PursueWithoutHeed
UNIT 0x61 0x38 0x00 Level(5, Enemy, 1) [11,11] [11,11] [0x14, 0x6B] PursueWithoutHeed
UNIT 0x61 0x14 0x00 Level(5, Enemy, 1) [7,9] [7,9] [0x01, 0x6B] PursueWithoutHeed
UNIT 0x61 0x14 0x00 Level(5, Enemy, 1) [9,10] [9,10] [0x1F, 0x6B] PursueWithoutHeed
UNIT 0x61 0x15 0x00 Level(5, Enemy, 1) [10,10] [10,10] [0x16, 0x6B] PursueWithoutHeed
UNIT 0x61 0x15 0x00 Level(5, Enemy, 1) [9,12] [9,12] [0x2C, 0x6B] PursueWithoutHeed
UNIT 0x61 0x18 0x00 Level(5, Enemy, 1) [11,12] [11,12] [0x2C, 0x6B] PursueWithoutHeed
UNIT 0x61 0x28 0x00 Level(5, Enemy, 1) [11,14] [11,14] [0x01, 0x6B] PursueWithoutHeed
UNIT 0x61 0x18 0x00 Level(5, Enemy, 1) [9,11] [9,11] [0x2C, 0x6B] PursueWithoutHeed
UNIT 0x61 0x18 0x00 Level(5, Enemy, 1) [10,11] [10,11] [0x2C, 0x6B] PursueWithoutHeed
UNIT
Wyverns:
UNIT 0x21 0x36 0x00 Level(1, Enemy, 1) [0,0] [0,0] [0x17] Guard
UNIT 0x61 0x34 0x00 Level(15, Enemy, 1) [0,1] [0,1] [0x1B] PursueWithoutHeed
UNIT 0x61 0x34 0x00 Level(15, Enemy, 1) [1,0] [1,0] [0x94] PursueWithoutHeed
UNIT 0x61 0x34 0x00 Level(15, Enemy, 1) [0,2] [0,2] [0x1B] PursueWithoutHeed
UNIT 0x61 0x34 0x00 Level(15, Enemy, 1) [1,1] [1,1] [0x94] PursueWithoutHeed
UNIT 0x61 0x34 0x00 Level(15, Enemy, 1) [2,0] [2,0] [0x1B] PursueWithoutHeed
UNIT 0x61 0x34 0x00 Level(15, Enemy, 1) [19,0] [19,0] [0x94] PursueWithoutHeed
UNIT 0x61 0x34 0x00 Level(15, Enemy, 1) [19,1] [19,1] [0x1B] PursueWithoutHeed
UNIT 0x61 0x34 0x00 Level(15, Enemy, 1) [18,0] [18,0] [0x94] PursueWithoutHeed
UNIT 0x61 0x34 0x00 Level(15, Enemy, 1) [17,0] [17,0] [0x1B] PursueWithoutHeed
UNIT 0x61 0x34 0x00 Level(15, Enemy, 1) [18,1] [18,1] [0x94] PursueWithoutHeed
UNIT 0x61 0x34 0x00 Level(15, Enemy, 1) [19,2] [19,2] [0x1B] PursueWithoutHeed
UNIT
Hope:
UNIT 0x0B 0x14 0x00 Level(5, Ally, 1) [3,2] [3,2] [0x01, 0x6B] PursueWithoutHeed
UNIT 0x19 0x28 0x00 Level(5, Ally, 1) [3,3] [3,3] [0x01, 0x6B] PursueWithoutHeed
UNIT 0x1A 0x2A 0x00 Level(5, Ally, 1) [2,3] [2,3] [0x01, 0x6B] PursueWithoutHeed
UNIT 0x23 0x3D 0x00 Level(5, Ally, 1) [4,3] [4,3] [0x01, 0x6B] PursueWithoutHeed
UNIT
Cat:
AttackerCritical(18,00)
EndOfBattle
Dog:
AttackerCritical(24,00)
EndOfBattle
Turn_events:
TurnEventPlayer(0x00,Opening_event,1)
TurnEventPlayer(0x00,Opening_event2,1)
TurnEventPlayer(0x00,Turn1,2)
TurnEventPlayer(0x00,Badass,2)
TurnEventPlayer(0x00,Turn2,3)
TurnEventPlayer(0x0A,Turn3,4)
TURN
Character_events:
//CharacterEvent(0x06,Hire,0x01,0x23)
CharacterEvent(0x0D,hunger,Eliwood,Rebecca)
CHAR
Location_events:
Door(14,10)
LOCA
Misc_events:
AFEV
//IFAF 0x0F 1038AB1
//MOVE [0,0] [9,10]
//REPA Glass
//MOVE Glass [10,10]
//TEX1 0x898
//REMA
//CMOF
//MOVE [10,10] [19,14]
//MOVE [9,10] [19,13]
//ENUN
//MNCH 0x02
//UNCR Eliwood 0x04
//UNCR Marcus 0x04
//UNCR Oswin 0x04
//UNCR Matthew 0x04
//UNCR Lowen 0x04
//UNCR Rebecca 0x04
//ENDA
Opening_event:
OOBB
CURF [3,2]
FADU 10
BACG 0x35
TEX1 0x818
REMA
FADU 10
CAM1 [8,2]
LOU1 Help
ENUN
TEX6 0x0 [8,2] 0x999
REMA
LOU1 Hope
ENUN
CMOF
MOVE [3,2] [11,6]
MOVE [3,3] [12,6]
MOVE [2,3] [12,7]
MOVE [4,3] [12,5]
ENUN
CAM1 [8,2]
CURF [3,2]
LOU1 Lovers
ENUN
FADI 10
BACG 0x02
TEX1 0x968
REMA
FADU 10
MOVE [8,8] [9,7]
ENUN
FIGH Glass Yogi Cat [0x00,0x00,0x00,0x00]
KILL Yogi
UNCR Glass 0x02
LOU1 Rape
ENUN
ENDA
Opening_event2:
NEVENTS
NCONVOS
CMOF
MOVE Glass [9,14]
ENUN
ENDA
hunger:
TEX1 0x879
MUS1 0x42
MORETEXT 0x87A
REMA
TurnAlly(0x0E)
ENUN
ENDA
Turn1:
MOVE [11,7] [9,4]
ENUN
MOVE [12,8] [11,4]
ENUN
MOVE [11,8] [10,4]
ENUN
ENDA
Badass:
LOU1 Arch
ENUN
CURF Rebecca
TEX1 0x888
REMA
FIGH Rebecca Glass Dog [0x00,0x00,0x00,0x00]
ENUN
UNCR Rebecca 0x02
CAM1 Glass
CURF Glass
TEX1 0x876
REMA
CMOF
MOVE [9,14] [17,14]
ENUN
DISA Glass
CMON
CURF Eliwood
TEX1 0x815
REMA
ENDA
Turn2:
MOVE [9,4] [4,4]
ENUN
MOVE [11,4] [6,4]
ENUN
MOVE [10,4] [5,4]
ENUN
ENDA
Turn3:
MOVE [4,4] [3,2]
DISA 0xCE
ENUN
MOVE [6,4] [3,2]
DISA 0xCF
ENUN
MOVE [5,4] [3,2]
DISA 0xD0
ENUN
MUS1 0x00
CURF Eliwood
TEX1 0x993
REMA
MUS1 0x32
LOU1 Wyverns
ENUN
TEX1 0x992
REMA
CURF Eliwood
TEX1 0x990
REMA
ENDA
Ending_event:
MUS1 0x4F
FADI 10
UnitClear
FADU 10
CURF 0x0A
FADI 10
UnitClear
BACG 0x03
TEX1 0x966
REMA
FADI 10
BACG 0x35
TEX1 0x967
REMA
//TEX1 0x968
TEX6 0x0 [8,2] 0x968
STAL 160
MNCH 0x02
UNCR Eliwood 0x04
UNCR Marcus 0x04
UNCR Oswin 0x04
UNCR Matthew 0x04
UNCR Lowen 0x04
UNCR Rebecca 0x04
ENDA
// Events
// Manual Movement
// Scripted Fights
Cat:
AttackerCritical(37,00)
EndOfBattle
// Units
// Shop Data
MESSAGE Events end at offset currentOffset

I fixed Ch.2 by removing the NCONVOS and NEVENTS. I put them as the first macro of the opening events. I'm guessing you're not supposed to do that.

I was trying to do this with the IFAF

Edited by Brendor the Brave
Link to comment
Share on other sites

You would put the check in it's own separate event and call it with an AFEV or TURN (like the post I linked to said). Example:

Misc_events:
   AFEV 0x00 CheckAllies 0x00 // When ID 0x00 gets triggered, run CheckAllies
   CauseGameOverIfLordDies
END_MAIN
 
CheckAllies:
    IFAF Conditional_ID1 ASM_routine  // 2 Parameters
       what to do if routine returned false
    ELSE Conditional_ID2
       ENIF Conditional_ID1
       What to do if routine returned true
       ENIF Conditional_ID2
ENDA

TURN would be similar but its declaration goes in the Turn_events section.

Turn_events:
   OpeningTurnEvent(Opening_event)
   TURN 0x00 CheckAllies [01,50] 0x00 0x00 // Every Player turn, run check allies for 50 turns
END_MAIN
Edited by Primefusion
Link to comment
Share on other sites

  • 2 weeks later...
Posted · Hidden by eCut, June 17, 2013 - No reason given
Hidden by eCut, June 17, 2013 - No reason given

Use it... in what context?

Link to comment

Hello, I've recently been editing some events in the prologue. I've encountered an error that causes the game to return to the title screen every time I attack Batta.

Here is my event code:

//Made by markyjoe1990 of Youtube
//Modified by Nintenlord

#define DISABLE_TUTORIALS
#include EAstdlib.event
#include ElementDefs.txt

EventPointerTable(0x06,Pointers)

ORG 0xDA0000
Pointers:
POIN Turn_events
POIN Character_events
POIN Location_events
POIN Misc_events
POIN TrapData TrapData
POIN Bad Bad Bad Bad
POIN Good Good Good Good
POIN Opening_event Ending_event

Bad:
UNIT Batta Berserker 0x00 Level(20,Enemy,True) [2,3] [2,2] [Elixir] [0x00]
UNIT Empty

Good:
UNIT Eliwood EliwoodLord 0x00 Level(1,Ally,False) [1,1] [1,1] [ironSword][0x00]
UNIT Sain Cavalier 0x01 Level(1,Ally,False) [1,2] [1,2] [ironSpear] [0x00]
UNIT Guy Myrmidon 0x01 Level(1,Ally,False) [1,3] [1,3] [ironSword] [0x00]
UNIT Dart Brigand 0x01 Level(1,Ally,False) [1,4] [1,4] [ironAxe] [0x00]
UNIT Rebecca Archer 0x01 Level(1,Ally,False) [1,5] [1,5] [ironBow] [0x00]
UNIT Erk Mage 0x01 Level(1,Ally,False) [1,6] [1,6] [Fire] [0x00]
UNIT Lucius Monk 0x01 Level(1,Ally,False) [1,7] [1,7] [shine] [0x00]
UNIT Canas Shaman 0x01 Level(1,Ally,False) [1,8] [1,8] [Flux] [0x00]
UNIT Empty

Turn_events:
TURN 0x00 Opening_event [01,00] 0x0 0x00

Character_events:
END_MAIN

Location_events:
END_MAIN

Misc_events:
CauseGameOverIfLordDies

Opening_event:
LOU1 Good
ENUN
LOU1 Bad
ENUN
ENDA

Ending_event:
MoveToChapter(0x09)
ENDA

TrapData:
END_MAIN

MESSAGE Events end at offset currentOffset
//The map for this chapter is at offset: 0x836AF00

If anybody could help me out, that would be great.

Link to comment
Share on other sites

Been having fun with CUSI/MakeEnemy() while testing out the skeleton of a map.

And when I say skeleton, there's literally no event but the loading of key units coded yet.

Opening_event:
OOBB
LOU1 Bad Good Soldiers
CUSI 0xA6 0xA7
CUSI 0xE5 0xA7
ENUN
CUSI 0xE5 0xA7
ENDA
Bad:
UNIT 0xA6 General 0x0 0xA [14,6] [8,8] [Spear,0x0,0x0,0x0] [0x3,0x3,0x9,0x20]
***UNIT 0xE5 Knight 0xA6 0xB [3,1] [3,1] [IronSpear,0x0,0x0,0x0] [0x3,0x3,0x9,0x20]
UNIT 0xE5 Knight 0xA6 0xB [2,1] [2,1] [KillerLance,0x0,0x0,0x0] [0x3,0x3,0x9,0x20]
UNIT 0xE5 Knight 0xA6 0xB [2,6] [2,6] [IronSpear,0x0,0x0,0x0] [0x3,0x3,0x9,0x20]
UNIT 0xE5 Knight 0xA6 0xB [3,6] [3,6] [IronSpear,0x0,0x0,0x0] [0x3,0x3,0x9,0x20]
UNIT 0xE5 Knight 0xA6 0xB [13,6] [13,6] [IronSpear,0x0,0x0,0x0] [0x3,0x3,0x9,0x20]
UNIT 0xE5 Knight 0xA6 0xA [15,6] [15,6] [IronSpear,0x0,0x0,0x0] [0x3,0x3,0x9,0x20]
UNIT 0xE5 Knight 0xA6 0xA [2,10] [2,10] [IronSpear,0x0,0x0,0x0] [0x3,0x3,0x9,0x20]
UNIT 0xE5 Knight 0xA6 0xA [3,10] [3,10] [IronSpear,0x0,0x0,0x0] [0x3,0x3,0x9,0x20]
UNIT 0xE5 Knight 0xA6 0xA [14,10] [14,10] [IronSpear,0x0,0x0,0x0] [0x3,0x3,0x9,0x20]
UNIT 0xE5 Knight 0xA6 0xA [15,10] [15,10] [IronSpear,0x0,0x0,0x0] [0x3,0x3,0x9,0x20]
***UNIT 0xE5 Knight 0xA6 0xB [7,12] [7,12] [SteelSpear,0x0,0x0,0x0] [0x3,0x3,0x9,0x20]
***UNIT 0xE5 Knight 0xA6 0xB [10,12] [10,12] [SteelSpear,0x0,0x0,0x0] [0x3,0x3,0x9,0x20]
UNIT

The units specifically indicated by stars get set to a fourth affiliation if I try MakeEnemy(0xE5). And it is always in those specific enemy spots, regardless of other parameters. Is the code just not intended for mass defecting units? The same thing happens to some of the soldiers, too, though that's removed until I can fix the knights.

The result looks like this:

QN4OuSa.png

htS8NiU.png

While I'm at it, is there any way to mass remove enemies aside from a map wipe? I'd love to be able to MoveOff() a group at once like that.

Link to comment
Share on other sites

The event assembler gave the the following error.

Finished.
1 errors encountered:
File actualprologue.txt, Line 296, Column 32: Didn't reach end, currently at Comma(,)
No data written to output.
I located line 296 (I included the next few lines too):
UNIT Lyn_t LynLord 0x00 Level(1, Ally, 0) [7,4] [7,7] [ironSword] NoAI
UNIT Empty
EnemyUnitsENM:
UNIT Batta Brigand 0x00 Level(1, Enemy, 0) [0,3] [0,0] [ironAxe] NoAI
UNIT Empty
So, according to the event assembler, the problem is located after "1" in line 296. How do I fix this?
Link to comment
Share on other sites

Don't put spaces after the commas.
UNIT Lyn_t LynLord 0x00 Level(1, Ally, 0) [7,4] [7,7] [IronSword] NoAI

Should be this

UNIT Lyn_t LynLord 0x00 Level(1,Ally,0) [7,4] [7,7] [IronSword] NoAI
Link to comment
Share on other sites

@LunaSaint the 4th affiliation isn't fully coded, what you see might be the result of having too many enemy units, I'm not sure, but how the CUSI code actually works is that it has one value for the character and one value for the "ID", a sort of separate ID relevant to the memory data where certain ranges are for certain affiliations; said affiliation has the range 0xC1-0xC5 so for some reason your units are going into those slots. However with a macro the value is likely set to a specific one but the game will not necessarily move a character's data from slot 0x05 to 0xB2; 0xB2 might be taken so it'd calculate the next entry in that affiliation range. If that range is taken up, it might accidentally go into the next range, causing the "4th allegiance" thing you're seeing. As for why that's happening when you don't have a lot of enemies, I'm not sure, so there might be something else at work here. This is sort of advanced stuff so I won't go into any further detail for the sake of not blowing up your head, but try changing the "0xA7" to something else in the enemy range (you'll have to play around, there's no simple answer here/I don't know the "exact #" or anything). Also, I'm pretty sure the code only works for one enemy, and it'll likely just effect whichever enemy it finds first or something to that effect, so you'd have to spam it (or perhaps create a macro for it to be more efficient) if you want to do it in mass.

Same deal for removing enemies only, MoveOff() itself is just a macro for MOVE Char ENUN DISA Char or something like that, I think you maaaay be being a little too hopeful here in terms of easy solutions, in hacking it's usually "take what you can get" when it comes to finding solutions to these things; be creative and if something works, go for it, even if it's not efficient (a lot of the time it isn't :| ).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...