Jump to content

Class/Character Abilities


teru
 Share

Recommended Posts

In FE7, is there a way to give specific units specific abilities? For example, is it possible to make a specific unit's damage output be calculated by [(Base Damage - Opp. DEF) + (Fixed Damage - Opp. RES)]? Or giving something like a "Brave" effect to a character, so that he always attacks 2x/4x?

I imagine this would be a lot easier to do in FE8 (because of class abilities), but unless I can find some way of editing the FE8 world map event locations, I don't think I'll be attempting to hack FE8 anytime soon...

Thanks in advance for the help!

Link to comment
Share on other sites

You would have to locate the ASM routine that determines damage using a debugger. From there, you'd have to locate the formulae used by said routine, and create a copy of it with the modified formula, then write it somewhere into your ROM. Then you'd have to allocate a bit in class/character data that determines whether or not to use this alternate formula. Keep in mind this is all useless without rewriting the battle routines to check for this bit and then take that data into the actual fight (currently the system takes only the units' physical stats and equipped weapons in memory, nothing else).

Keep in mind that as far as I know, we don't even know where the battle routines are.

Edited by Kam
Link to comment
Share on other sites

From Hextator's doc here

[spoiler=MASSIVELY TECHNICAL ASM DUMP]Possibly a damage bonus being added:

[1]08018AE8

R00=00000063 R04=0202bde0 R08=0000000b R12=0203a470

R01=00000000 R05=0203a3f0 R09=00000000 R13=03007cec

R02=00000000 R06=0202bde0 R10=00000000 R14=08018ae1

R03=08be222c R07=0202bde0 R11=03007dfc R15=08018ae8

CPSR=0000003f (......T Mode: 1f)

08018ae6 1840 add r0, r0, r1

Move Strength to 203a404

[5]080285F6

R00=00000063 R04=00000000 R08=0000000b R12=0203a470

R01=080285f5 R05=0203a3f0 R09=00000000 R13=03007cf4

R02=00000000 R06=0202bde0 R10=00000000 R14=08018ae1

R03=08be222c R07=0202bde0 R11=03007dfc R15=080285f6

CPSR=0000003f (......T Mode: 1f)

080285f4 7528 strb r0, [r5, #0x14]

Load Weapon Mt

[1]08028B5C

R00=00000063 R04=0203a470 R08=0000000b R12=0203a470

R01=0203a44a R05=0203a3f0 R09=00000000 R13=03007ce8

R02=08c97eac R06=0203a438 R10=00000000 R14=08028b3b

R03=00000002 R07=0202bde0 R11=03007dfc R15=08028b5c

CPSR=0000003f (......T Mode: 1f)

08028b5a 880a ldrh r2, [r1, #0x0]

Add Weapon Mt

[2]08028B5E

R00=00000063 R04=0203a470 R08=0000000b R12=0203a470

R01=0203a44a R05=0203a3f0 R09=00000000 R13=03007ce8

R02=00000008 R06=0203a438 R10=00000000 R14=08028b3b

R03=00000002 R07=0202bde0 R11=03007dfc R15=08028b5e

CPSR=0000003f (......T Mode: 1f)

08028b5c 1810 add r0, r2, r0

Save new Atk to 203a44a

[3]08028B60

R00=0000006b R04=0203a470 R08=0000000b R12=0203a470

R01=0203a44a R05=0203a3f0 R09=00000000 R13=03007ce8

R02=00000008 R06=0203a438 R10=00000000 R14=08028b3b

R03=00000002 R07=0202bde0 R11=03007dfc R15=08028b60

CPSR=0000003f (......T Mode: 1f)

08028b5e 8008 strh r0, [r1, #0x0]

Move R3 to R1...

[1]0801DF82

R00=0000006b R04=02025554 R08=0000000b R12=0203a470

R01=08be2394 R05=02025586 R09=00000000 R13=03007d60

R02=0203a3f0 R06=0202bde0 R10=00000000 R14=08028561

R03=0203a470 R07=0000000f R11=03007dfc R15=0801df82

CPSR=0000003f (......T Mode: 1f)

0801df80 1c19 add r1, r3, #0x0

And add to R1 in order to...

[2]0801DF84

R00=0000006b R04=02025554 R08=0000000b R12=0203a470

R01=0203a470 R05=02025586 R09=00000000 R13=03007d60

R02=0203a3f0 R06=0202bde0 R10=00000000 R14=08028561

R03=0203a470 R07=0000000f R11=03007dfc R15=0801df84

CPSR=0000003f (......T Mode: 1f)

0801df82 315a add r1, #0x5a

Store Atk to 203a4ca

[3]0801DF86

R00=0000006b R04=02025554 R08=0000000b R12=0203a470

R01=0203a4ca R05=02025586 R09=00000000 R13=03007d60

R02=0203a3f0 R06=0202bde0 R10=00000000 R14=08028561

R03=0203a470 R07=0000000f R11=03007dfc R15=0801df86

CPSR=0000003f (......T Mode: 1f)

0801df84 8008 strh r0, [r1, #0x0]

Then, move R2 to R0 in order to...

[1]08028A52

R00=00000000 R04=03007cf4 R08=02025585 R12=0203a470

R01=0203a44a R05=0203a3f0 R09=0202bde0 R13=03007cf4

R02=0000006b R06=00000000 R10=00000000 R14=08026a39

R03=02025585 R07=0202bde0 R11=03007dfc R15=08028a52

CPSR=0000003f (......T Mode: 1f)

08028a50 1810 add r0, r2, r0

Store Atk back to 203a44a

[2]08028A54

R00=0000006b R04=03007cf4 R08=02025585 R12=0203a470

R01=0203a44a R05=0203a3f0 R09=0202bde0 R13=03007cf4

R02=0000006b R06=00000000 R10=00000000 R14=08026a39

R03=02025585 R07=0202bde0 R11=03007dfc R15=08028a54

CPSR=0000003f (......T Mode: 1f)

08028a52 8008 strh r0, [r1, #0x0]

Some weird penalty

R00=00000001 R04=0203a3f0 R08=02025585 R12=0203a470

R01=0000000f R05=0203a438 R09=0202bde0 R13=03007d14

R02=0203a44a R06=00000000 R10=00000000 R14=08028521

R03=00000003 R07=0202bde0 R11=03007dfc R15=08028536

CPSR=2000003f (..C...T Mode: 1f)

08028534 1a08 sub r0, r1, r0

Move Atk to 203a3de

[1]0802923E

R00=00000073 R04=0203a3f0 R08=0203a470 R12=00000042

R01=0203a470 R05=0203a470 R09=00000000 R13=03007d24

R02=0203a3d8 R06=0203a470 R10=00000000 R14=080294f9

R03=0203a3f0 R07=00000000 R11=03007dfc R15=0802923e

CPSR=0000003f (......T Mode: 1f)

0802923c 80d0 strh r0, [r2, #0x6]

Load enemy defense

[1]08029298

R00=01000000 R04=0203a3d8 R08=0203a470 R12=00000042

R01=00000073 R05=00000000 R09=00000000 R13=03007d14

R02=00000025 R06=0203a3f0 R10=00000000 R14=08000e0d

R03=00000000 R07=00000000 R11=03007dfc R15=08029298

CPSR=2000003f (..C...T Mode: 1f)

08029296 8922 ldrh r2, [r4, #0x8]

Subtract enemy defense from damage

[2]0802929A

R00=01000000 R04=0203a3d8 R08=0203a470 R12=00000042

R01=00000073 R05=00000000 R09=00000000 R13=03007d14

R02=00000009 R06=0203a3f0 R10=00000000 R14=08000e0d

R03=00000000 R07=00000000 R11=03007dfc R15=0802929a

CPSR=2000003f (..C...T Mode: 1f)

08029298 1a88 sub r0, r1, r2

Store damage to 203a3dc

[3]0802929C

R00=0000006a R04=0203a3d8 R08=0203a470 R12=00000042

R01=00000073 R05=00000000 R09=00000000 R13=03007d14

R02=00000009 R06=0203a3f0 R10=00000000 R14=08000e0d

R03=00000000 R07=00000000 R11=03007dfc R15=0802929c

CPSR=2000003f (..C...T Mode: 1f)

0802929a 80a0 strh r0, [r4, #0x4]

Move and double attack to make critical bonus

[1]080292E6

R00=00000004 R04=0203a3d8 R08=0203a470 R12=00000042

R01=0000006a R05=00000000 R09=00000000 R13=03007d14

R02=00000000 R06=0203a3f0 R10=00000000 R14=08000e0d

R03=00000000 R07=00000000 R11=03007dfc R15=080292e6

CPSR=0000003f (......T Mode: 1f)

080292e4 0048 lsl r0, r1, #0x01

Add Critical Hit bonus

[2]080292E8

R00=000000d4 R04=0203a3d8 R08=0203a470 R12=00000042

R01=0000006a R05=00000000 R09=00000000 R13=03007d14

R02=00000000 R06=0203a3f0 R10=00000000 R14=08000e0d

R03=00000000 R07=00000000 R11=03007dfc R15=080292e8

CPSR=0000003f (......T Mode: 1f)

080292e6 1840 add r0, r0, r1

Store critical damage to 203a3dc

[3]080292EA

R00=0000013e R04=0203a3d8 R08=0203a470 R12=00000042

R01=0000006a R05=00000000 R09=00000000 R13=03007d14

R02=00000000 R06=0203a3f0 R10=00000000 R14=08000e0d

R03=00000000 R07=00000000 R11=03007dfc R15=080292ea

CPSR=0000003f (......T Mode: 1f)

080292e8 80a0 strh r0, [r4, #0x4]

Prepare R1...

[4]080292EC

R00=0000013e R04=0203a3d8 R08=0203a470 R12=00000042

R01=0000006a R05=00000000 R09=00000000 R13=03007d14

R02=00000000 R06=0203a3f0 R10=00000000 R14=08000e0d

R03=00000000 R07=00000000 R11=03007dfc R15=080292ec

CPSR=0000003f (......T Mode: 1f)

080292ea 490d ldr r1, [$08029320] (=$0203a3d8)

and R2, in order to...

[5]080292EE

R00=0000013e R04=0203a3d8 R08=0203a470 R12=00000042

R01=0203a3d8 R05=00000000 R09=00000000 R13=03007d14

R02=00000000 R06=0203a3f0 R10=00000000 R14=08000e0d

R03=00000000 R07=00000000 R11=03007dfc R15=080292ee

CPSR=0000003f (......T Mode: 1f)

080292ec 2204 mov r2, #0x4

Reload damage (pointless, much?)

[6]080292F0

R00=0000013e R04=0203a3d8 R08=0203a470 R12=00000042

R01=0203a3d8 R05=00000000 R09=00000000 R13=03007d14

R02=00000004 R06=0203a3f0 R10=00000000 R14=08000e0d

R03=00000000 R07=00000000 R11=03007dfc R15=080292f0

CPSR=0000003f (......T Mode: 1f)

080292ee 5e88 ldsh r0, [r1, r2]

Check if damage is less than 127

[7]080292F2

R00=0000013e R04=0203a3d8 R08=0203a470 R12=00000042

R01=0203a3d8 R05=00000000 R09=00000000 R13=03007d14

R02=00000004 R06=0203a3f0 R10=00000000 R14=08000e0d

R03=00000000 R07=00000000 R11=03007dfc R15=080292f2

CPSR=0000003f (......T Mode: 1f)

080292f0 287f cmp r0, #0x7f

It isn't...

[8]080292F4

R00=0000013e R04=0203a3d8 R08=0203a470 R12=00000042

R01=0203a3d8 R05=00000000 R09=00000000 R13=03007d14

R02=00000004 R06=0203a3f0 R10=00000000 R14=08000e0d

R03=00000000 R07=00000000 R11=03007dfc R15=080292f4

CPSR=0000003f (..C...T Mode: 1f)

080292f2 dd01 ble $080292f8

So make it 127

[9]080292F6

R00=0000013e R04=0203a3d8 R08=0203a470 R12=00000042

R01=0203a3d8 R05=00000000 R09=00000000 R13=03007d14

R02=00000004 R06=0203a3f0 R10=00000000 R14=08000e0d

R03=00000000 R07=00000000 R11=03007dfc R15=080292f6

CPSR=0000003f (..C...T Mode: 1f)

080292f4 207f mov r0, #0x7f

And put it back to 203a3dc

[10]080292F8

R00=0000007f R04=0203a3d8 R08=0203a470 R12=00000042

R01=0203a3d8 R05=00000000 R09=00000000 R13=03007d14

R02=00000004 R06=0203a3f0 R10=00000000 R14=08000e0d

R03=00000000 R07=00000000 R11=03007dfc R15=080292f8

CPSR=0000003f (..C...T Mode: 1f)

080292f6 8088 strh r0, [r1, #0x4]

Make sure R2 is still 4...oh, look, it already is. Oh well.

[11]080292FA

R00=0000007f R04=0203a3d8 R08=0203a470 R12=00000042

R01=0203a3d8 R05=00000000 R09=00000000 R13=03007d14

R02=00000004 R06=0203a3f0 R10=00000000 R14=08000e0d

R03=00000000 R07=00000000 R11=03007dfc R15=080292fa

CPSR=0000003f (..C...T Mode: 1f)

080292f8 2204 mov r2, #0x4

Reload damage again...(redundant?)

{Weird phase start}

[12]080292FC

R00=0000007f R04=0203a3d8 R08=0203a470 R12=00000042

R01=0203a3d8 R05=00000000 R09=00000000 R13=03007d14

R02=00000004 R06=0203a3f0 R10=00000000 R14=08000e0d

R03=00000000 R07=00000000 R11=03007dfc R15=080292fc

CPSR=0000003f (..C...T Mode: 1f)

080292fa 5e88 ldsh r0, [r1, r2]

[13]080292FE

R00=0000007f R04=0203a3d8 R08=0203a470 R12=00000042

R01=0203a3d8 R05=00000000 R09=00000000 R13=03007d14

R02=00000004 R06=0203a3f0 R10=00000000 R14=08000e0d

R03=00000000 R07=00000000 R11=03007dfc R15=080292fe

CPSR=0000003f (..C...T Mode: 1f)

080292fc 2800 cmp r0, #0x0

[14]08029300

R00=0000007f R04=0203a3d8 R08=0203a470 R12=00000042

R01=0203a3d8 R05=00000000 R09=00000000 R13=03007d14

R02=00000004 R06=0203a3f0 R10=00000000 R14=08000e0d

R03=00000000 R07=00000000 R11=03007dfc R15=08029300

CPSR=0000003f (..C...T Mode: 1f)

080292fe da01 bge $08029304

[15]08029306

R00=0000007f R04=0203a3d8 R08=0203a470 R12=00000042

R01=0203a3d8 R05=00000000 R09=00000000 R13=03007d14

R02=00000004 R06=0203a3f0 R10=00000000 R14=08000e0d

R03=00000000 R07=00000000 R11=03007dfc R15=08029306

CPSR=0000003f (..C...T Mode: 1f)

08029304 2204 mov r2, #0x4

[16]08029308

R00=0000007f R04=0203a3d8 R08=0203a470 R12=00000042

R01=0203a3d8 R05=00000000 R09=00000000 R13=03007d14

R02=00000004 R06=0203a3f0 R10=00000000 R14=08000e0d

R03=00000000 R07=00000000 R11=03007dfc R15=08029308

CPSR=0000003f (..C...T Mode: 1f)

08029306 5e88 ldsh r0, [r1, r2]

Check if damage is 0

[17]0802930A

R00=0000007f R04=0203a3d8 R08=0203a470 R12=00000042

R01=0203a3d8 R05=00000000 R09=00000000 R13=03007d14

R02=00000004 R06=0203a3f0 R10=00000000 R14=08000e0d

R03=00000000 R07=00000000 R11=03007dfc R15=0802930a

CPSR=0000003f (..C...T Mode: 1f)

08029308 2800 cmp r0, #0x0

[18]0802930C

R00=0000007f R04=0203a3d8 R08=0203a470 R12=00000042

R01=0203a3d8 R05=00000000 R09=00000000 R13=03007d14

R02=00000004 R06=0203a3f0 R10=00000000 R14=08000e0d

R03=00000000 R07=00000000 R11=03007dfc R15=0802930c

CPSR=0000003f (..C...T Mode: 1f)

0802930a d003 beq $08029314

If not, replace R1 with R6

[19]0802930E

R00=0000007f R04=0203a3d8 R08=0203a470 R12=00000042

R01=0203a3d8 R05=00000000 R09=00000000 R13=03007d14

R02=00000004 R06=0203a3f0 R10=00000000 R14=08000e0d

R03=00000000 R07=00000000 R11=03007dfc R15=0802930e

CPSR=0000003f (..C...T Mode: 1f)

0802930c 1c31 add r1, r6, #0x0

[20]08029310

R00=0000007f R04=0203a3d8 R08=0203a470 R12=00000042

R01=0203a3f0 R05=00000000 R09=00000000 R13=03007d14

R02=00000004 R06=0203a3f0 R10=00000000 R14=08000e0d

R03=00000000 R07=00000000 R11=03007dfc R15=08029310

CPSR=0000003f (......T Mode: 1f)

0802930e 317c add r1, #0x7c

[21]08029312

R00=0000007f R04=0203a3d8 R08=0203a470 R12=00000042

R01=0203a46c R05=00000000 R09=00000000 R13=03007d14

R02=00000004 R06=0203a3f0 R10=00000000 R14=08000e0d

R03=00000000 R07=00000000 R11=03007dfc R15=08029312

CPSR=0000003f (......T Mode: 1f)

08029310 2001 mov r0, #0x1

Then, put a 1 into R6 plus 7c

[22]08029314

R00=00000001 R04=0203a3d8 R08=0203a470 R12=00000042

R01=0203a46c R05=00000000 R09=00000000 R13=03007d14

R02=00000004 R06=0203a3f0 R10=00000000 R14=08000e0d

R03=00000000 R07=00000000 R11=03007dfc R15=08029314

CPSR=0000003f (......T Mode: 1f)

08029312 7008 strb r0, [r1, #0x0]

{Weird phase end}

Load enemy health from 203a483

[80]08029442

R00=00000000 R04=0203a438 R08=0203a470 R12=00000042

R01=0203a3d8 R05=0203a3f0 R09=00000000 R13=03007d10

R02=00000013 R06=0203a50c R10=00000000 R14=080293f5

R03=00000000 R07=0203a470 R11=03007dfc R15=08029442

CPSR=0000003f (......T Mode: 1f)

08029440 56ba ldrh r2, [r7, r2]

Ready R3 to...

[81]08029444

R00=00000000 R04=0203a438 R08=0203a470 R12=00000042

R01=0203a3d8 R05=0203a3f0 R09=00000000 R13=03007d10

R02=0000001c R06=0203a50c R10=00000000 R14=080293f5

R03=00000000 R07=0203a470 R11=03007dfc R15=08029444

CPSR=0000003f (......T Mode: 1f)

08029442 2304 mov r3, #0x4

Load damage from 203a3dc

[82]08029446

R00=00000000 R04=0203a438 R08=0203a470 R12=00000042

R01=0203a3d8 R05=0203a3f0 R09=00000000 R13=03007d10

R02=0000001c R06=0203a50c R10=00000000 R14=080293f5

R03=00000004 R07=0203a470 R11=03007dfc R15=08029446

CPSR=0000003f (......T Mode: 1f)

08029444 5ec8 ldsh r0, [r1, r3]

Check if damage is less than remaining enemy HP

[83]08029448

R00=0000007f R04=0203a438 R08=0203a470 R12=00000042

R01=0203a3d8 R05=0203a3f0 R09=00000000 R13=03007d10

R02=0000001c R06=0203a50c R10=00000000 R14=080293f5

R03=00000004 R07=0203a470 R11=03007dfc R15=08029448

CPSR=0000003f (......T Mode: 1f)

08029446 4290 cmp r0, r2

It isn't, so...

[84]0802944A

R00=0000007f R04=0203a438 R08=0203a470 R12=00000042

R01=0203a3d8 R05=0203a3f0 R09=00000000 R13=03007d10

R02=0000001c R06=0203a50c R10=00000000 R14=080293f5

R03=00000004 R07=0203a470 R11=03007dfc R15=0802944a

CPSR=0000003f (..C...T Mode: 1f)

08029448 dd00 ble $0802944c

Store enemy health as damage to 203a3dc instead

[85]0802944C

R00=0000007f R04=0203a438 R08=0203a470 R12=00000042

R01=0203a3d8 R05=0203a3f0 R09=00000000 R13=03007d10

R02=0000001c R06=0203a50c R10=00000000 R14=080293f5

R03=00000004 R07=0203a470 R11=03007dfc R15=0802944c

CPSR=0000003f (..C...T Mode: 1f)

0802944a 808a strh r2, [r1, #0x4]

Load enemy health

[86]0802944E

R00=0000007f R04=0203a438 R08=0203a470 R12=00000042

R01=0203a3d8 R05=0203a3f0 R09=00000000 R13=03007d10

R02=0000001c R06=0203a50c R10=00000000 R14=080293f5

R03=00000004 R07=0203a470 R11=03007dfc R15=0802944e

CPSR=0000003f (..C...T Mode: 1f)

0802944c 7cfa ldrb r2, [r7, #0x13]

Load damage

[87]08029450

R00=0000007f R04=0203a438 R08=0203a470 R12=00000042

R01=0203a3d8 R05=0203a3f0 R09=00000000 R13=03007d10

R02=0000001c R06=0203a50c R10=00000000 R14=080293f5

R03=00000004 R07=0203a470 R11=03007dfc R15=08029450

CPSR=0000003f (..C...T Mode: 1f)

0802944e 7909 ldrb r1, [r1, #0x4]

Damage is dealt

[88]08029452

R00=0000007f R04=0203a438 R08=0203a470 R12=00000042

R01=0000001c R05=0203a3f0 R09=00000000 R13=03007d10

R02=0000001c R06=0203a50c R10=00000000 R14=080293f5

R03=00000004 R07=0203a470 R11=03007dfc R15=08029452

CPSR=0000003f (..C...T Mode: 1f)

08029450 1a50 sub r0, r2, r1

Then HP is saved to 203a483

[89]08029454

R00=00000000 R04=0203a438 R08=0203a470 R12=00000042

R01=0000001c R05=0203a3f0 R09=00000000 R13=03007d10

R02=0000001c R06=0203a50c R10=00000000 R14=080293f5

R03=00000004 R07=0203a470 R11=03007dfc R15=08029454

CPSR=0000003f (.ZC...T Mode: 1f)

08029452 74f8 strb r0, [r7, #0x13]

Health is loaded from battle and stored into enemy

Breakpoint (on read) address 0203a483 byte:00

R00=00000000 R04=0202cf08 R08=00000000 R12=00000001

R01=0203a470 R05=0203a470 R09=00000000 R13=03007d70

R02=00000002 R06=0202cf08 R10=00000000 R14=08029ae3

R03=00000001 R07=0202bde0 R11=03007dfc R15=08029c36

CPSR=0000003f (......T Mode: 1f)

08029c34 74e0 strb r0, [r4, #0x13]

From Hextator's doc: link

Damage compilation at 203a4f0

Final enemy HP byte: 203a483; fix at 0 for guaranteed kills

Final ally HP byte: 203a403; fix at > 0 for invincibility

---

yeah good luck with that

Link to comment
Share on other sites

Well, if you do want to make such heavy changes in the game, I would recommend the path of FEXP; There is still tons that need to be developed to FEXP to match the romhacking we have today, but yeah if you plan on making skills like that the only way I can see you achieving them is by learning and applying Assembly; When you do, of course, it will be pretty much like you would use Ruby scripts in FEXP, but yeah.

And it would be just as easy to do those two changes you mentioned in FE7 as it would in FE8 and FE6. But if you have plans for more creative liberties like those in the future, then the use of FEXP isn't a bad idea. If you find the options available in Nightmare too limiting for your idea of a project, and you would have more than 3 or 4 new gameplay ideas, I do recommend the use of a tool other than FEhacking such as FEXP, while I never used it nor can say in which point it is coding-wise, much less give support to it.

The battle routines are documented though, Hextator's doc has a pretty good amount of notes on how those routines work. And I think some on them can be found in NL's notes. While they are a bit tricky, they can be messed pretty well, I did that more than once for the custom skills in my project, and will be doing more of that in the close future.

As for world map event locations, they can be changed. I have posted notes already on how to edit stuff even like the world map icons, and there is more than a method on avoiding the world map completely and using FE8 just like you would FE7 moving around. And it is pretty simple as well.

(Also those notes you posted from Hextator suddenly gave me a new skill idea, Kam, thank you! :D)

Edited by Ryrumeli
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...