Furcadia Links:

Furcadia Site
Furcadia Forums

Downloads:

Graphite's PatchMerger
Furcadia Historical Society

Play Furcadia!

DragonSpeak Systems
"Safe Tiles/Life Tiles"
 

Created for the Original SpiritQuest, this is the system I used for HP and LIFE before I really got a good grasp of the Database Tracking System. Using changing tiles to track life does work but inherently aggrivates some known Furcadia bugs that might have to be masked. I changed this actual script several times, this is the last one I used in the dreams SpaceQuest and StarFighters.

New Dragonspeak Script =========== HP and LIFE using Tiles ==============
Created by Nommad Spiritwind

(0:0) When everything is starting up,
*safe areas / safe tiles no damage and restores hp to max
           (5:300) set variable %safetile to the value 157.
*maxhp is 100
           (5:300) set variable %maxtile to the value 110.
           (5:300) set variable %overmax to the value 111.
*basehp starting hp
           (5:300) set variable %energytile to the value 35.
*0 hp 10 tile "buffer" for death
           (5:300) set variable %deathtile to the value 10.
*changing variables life tile
           (5:300) set variable %lifetile to the value 35.


===================================Life Tiles =======
*Place before any Attack / Action DS

(0:30) When a furre says anything,
   (1:117) and they (didn't move from/aren't standing at) floor type #%safetile,
   (1:102) and they didn't move into floor type #161,
            (5:350) set variable #%life to the X,Y position the triggering furre (moved from/is standing at).
            (5:380) set variable #%lifetile to the floor type at (#%life.x, #%life.y).

*Life / Movement
(0:1) Whenever somebody moves,
            (5:313) set variable #%drain to the total of rolling #1 dice with #5 sides minus #1.
(0:1) Whenever somebody moves,
            (5:312) set variable #%heal to the total of rolling #1 dice with #5 sides plus #1.


(0:1) Whenever somebody moves,
   (1:5) and they successfully moved,
   (1:17) and they (moved from/are standing at) floor type #%safetile,
   (1:102) and they didn't move into floor type #%safetile,
   (1:102) and they didn't move into floor type #161,
      (3:6) where the triggering furre moved into,
            (5:1) set the floor to type #%energytile.

*energytile = basic hp

(0:1) Whenever somebody moves,
   (1:5) and they successfully moved,
   (1:102) and they didn't move into floor type #%safetile,
   (1:117) and they (didn't move from/aren't standing at) floor type #%safetile,
   (1:102) and they didn't move into floor type #161,
            (5:350) set variable #%life to the X,Y position the triggering furre (moved from/is standing at).
            (5:380) set variable #%lifetile to the floor type at (#%life.x, #%life.y).

(0:1) Whenever somebody moves,
   (1:5) and they successfully moved,
   (1:102) and they didn't move into floor type #%safetile,
   (1:117) and they (didn't move from/aren't standing at) floor type #%safetile,
   (1:102) and they didn't move into floor type #161,
   (1:17) and they (moved from/are standing at) floor type #%lifetile
      (3:7) where the triggering Furre is currently at,
            (5:1) set the floor to type #%lifetile

(0:1) Whenever somebody moves,
   (1:5) and they successfully moved,
   (1:102) and they didn't move into floor type #%safetile,
   (1:117) and they (didn't move from/aren't standing at) floor type #%safetile,
   (1:102) and they didn't move into floor type #161,
   (1:17) and they (moved from/are standing at) floor type #%lifetile
   (1:204) and variable #%lifetile is greater than variable #%maxtile.
      (3:5) where the triggering Furre (moved from/is standing at),
            (5:1) set the floor to type #%maxtile.
      (3:7) where the triggering Furre is currently at,
            (5:1) set the floor to type #%maxtile.

(0:16) When a furre uses any object,
   (1:102) and they didn't move into floor type #%safetile,
   (1:117) and they (didn't move from/aren't standing at) floor type #%safetile,
   (1:102) and they didn't move into floor type #161,
            (5:350) set variable #%life to the X,Y position the triggering furre (moved from/is standing at).
            (5:380) set variable #%lifetile to the floor type at (#%life.x, #%life.y).

(0:16) When a Furre uses any object,
   (1:117) and they (didn't move from/aren't standing at) floor type #%safetile,
   (1:17) and they (moved from/are standing at) floor type #%lifetile
   (1:204) and variable #%lifetile is greater than variable #%maxtile.
      (3:7) where the triggering Furre is currently at,
            (5:1) set the floor to type #%maxtile.

*life stats

(0:31) When a furre says {?},
   (1:17) and they (moved from/are standing at) floor type #%safetile,
            (5:301) copy the value of variable #%energytile into variable #%health.
            (5:305) take variable #%health and subtract variable #%deathtile from it.
            (5:200) emit message {Energy Level: %health } to whoever set off the trigger.


(0:31) When a furre says {?},
   (1:117) and they (didn't move from/aren't standing at) floor type #%safetile,
            (5:301) copy the value of variable #%lifetile into variable #%health.
            (5:305) take variable #%health and subtract variable #%deathtile from it.
            (5:200) emit message {Energy Level: %health } to whoever set off the trigger.


======================================== Death ========

(0:1) Whenever somebody moves,
   (1:202) and variable #%lifetile is less than #%deathtile.
      (3:5) where the triggering Furre (moved from/is standing at),
*dream specific death FX
            (5:4) place object type #2404.
            (5:11) play sound #110 to every furre who can see the triggering furre.
            (5:8) play sound #101 to whoever set off the trigger.
            (5:1202) change the triggering furry back to their original species.
*dream specific locations and specific messages according to theme
            (5:15) move the triggering furre to (#24,#15), or to someplace nearby if it's occupied.
            (5:200) emit message {  } to whoever set off the trigger.
            (5:200) emit message {<b><i>Hull Breach!</b></i> } to whoever set off the trigger.
            (5:200) emit message {<i>Emergancy Teleport Activated!</i>} to whoever set off the trigger.
            (5:300) set variable #%lifetile to the value #18.
      (3:3) within the diamond (#24,#13) - (#24,#15),
            (5:5) change object type #153 to type #2413.
            (5:10) play sound #99 to every furre who can see (#24,#15).

(0:16) When a furre uses any object,
   (1:202) and variable #%lifetile is less than #%deathtile.
      (3:5) where the triggering Furre (moved from/is standing at),
*dream specific death FX
            (5:4) place object type #2404.
            (5:11) play sound #110 to every furre who can see the triggering furre.
            (5:8) play sound #101 to whoever set off the trigger.
            (5:1202) change the triggering furry back to their original species.
            (5:15) move the triggering furre to (#24,#15), or to someplace nearby if it's occupied.
            (5:200) emit message {  } to whoever set off the trigger.
            (5:200) emit message {<b><i>Hull Breach!</b></i> } to whoever set off the trigger.
            (5:200) emit message {<i>Emergancy Teleport Activated!</i>} to whoever set off the trigger.
            (5:300) set variable #%lifetile to the value #18.
      (3:3) within the diamond (#24,#13) - (#24,#15),
            (5:5) change object type #153 to type #2413.
            (5:10) play sound #65 to every furre who can see (#24,#15).


=============================================


Return to Main