![]() Main DS Systems: Locator/Ranger Finder Object/Floor Management Dream Time/Weather SafeTiles / LifeTiles Barebones Database Furcadia Links: Furcadia Site Furcadia Forums Downloads: Graphite's PatchMerger Furcadia Historical Society ![]() |
DragonSpeak
Systems
"Locator/Range Finder" The First
version of this was created for the Original SpiritQuest and has been
modified and enhanced with each dream I have done since. The Range
Finder came first to handle Ranged Attacks in fighting games and the
Locator was added for the purpose of Area of Effect Spells and Special
Effects. The script is very versitile in detecting and defining x,y
locations that can be used in a wide variety of different ways.
This is the basic version to prevent too much confusion as my current version actually includes many more controls that determine the # or ID of any object, furre, or floor at the target location. I consider it the most important module in all of my dreams. *Furre Locator & Range Finder Created by Nommad *====================================== Locator DS ======= *This defines all locations in a 3x3 diamond relative to the triggering furre and can be used for many things like special fx like explosions or splashing water. (0:1) Whenever somebody moves, (0:16) When a furre uses any object, (0:30) When a furre says anything, (5:350) set variable #%player to the X,Y position the triggering furre (moved from/is standing at). (5:351) set variable #%areatop to the X,Y position the triggering furre moved to. (5:351) set variable #%areabottom to the X,Y position the triggering furre moved to. (5:351) set variable #%areane to the X,Y position the triggering furre moved to. (5:351) set variable #%areanw to the X,Y position the triggering furre moved to. (5:351) set variable #%arease to the X,Y position the triggering furre moved to. (5:351) set variable #%areasw to the X,Y position the triggering furre moved to. (5:352) move the position in variable #%areatop northeast (up and right) #1 step(s). (5:355) move the position in variable #%areatop northwest (up and left) #1 step(s). (5:352) move the position in variable #%areane northeast (up and right) #1 step(s). (5:355) move the position in variable #%areanw northwest (up and left) #1 step(s). (5:353) move the position in variable #%areabottom southeast (down and right) #1 step(s). (5:354) move the position in variable #%areabottom southwest (down and left) #1 step(s). (5:353) move the position in variable #%arease southeast (down and right) #1 step(s). (5:354) move the position in variable #%areasw southwest (down and left) #1 step(s). (5:351) set variable #%arearight to the X,Y position the triggering furre moved to. (5:352) move the position in variable #%arearight northeast (up and right) #1 step(s). (5:353) move the position in variable #%arearight southeast (down and right) #1 step(s). (5:351) set variable #%arealeft to the X,Y position the triggering furre moved to. (5:354) move the position in variable #%arealeft southwest (down and left) #1 step(s). (5:355) move the position in variable #%arealeft northwest (up and left) #1 step(s). ================== end locator ====================== ================== Range Finder ===================== *This was made for a shooter type dream but can be used for any condition that uses distance when they use an object *All this code does is define the 5 spaces the furre is facing, conditions are determined by an action with conditions after this happens in the DS. Depending on what kind of shooter I have a sort of Attack Module that follows this. *Note that is will not let you shoot through objects, however you can shoot through a safetile with more than one attack tile touching it. (0:16) When a furre uses any object, *reset kill / hit conditions (5:300) set variable #%kill to the value #0. (5:300) set variable #%hit to the value #0. *reset range finder locations (5:300) set variable %enemy to the value #0. (5:300) set variable %enemy2 to the value #0. (5:300) set variable %enemy3 to the value #0. (5:300) set variable %enemy4 to the value #0. (5:300) set variable %enemy5 to the value #0. ------------------------- one step (0:16) When a furre uses any object, (1:13) and the triggering furre is facing northeast (up and right), (1:140) and #1 step(s) northeast (up and right) from the triggering furre is not floor ##%safetile,, (5:350) set variable %enemy to the X,Y position the triggering furre (moved from/is standing at). (5:352) move the position in variable %enemy northeast (up and right) #1 step(s). (0:16) When a furre uses any object, (1:14) and the triggering furre is facing southeast (down and right), (1:141) and #1 step(s) southeast (down and right) from the triggering furre is not floor #%safetile, (5:350) set variable %enemy to the X,Y position the triggering furre (moved from/is standing at). (5:353) move the position in variable #%enemy southeast (down and right) #1 step(s). (0:16) When a furre uses any object, (1:15) and the triggering furre is facing southwest (down and left), (1:142) and #1 step(s) southwest (down and left) from the triggering furre is not floor #%safetile, (5:350) set variable %enemy to the X,Y position the triggering furre (moved from/is standing at). (5:354) move the position in variable #%enemy southwest (down and left) #1 step(s). (0:16) When a furre uses any object, (1:16) and the triggering furre is facing northwest (up and left), (1:143) and #1 step(s) northwest (up and left) from the triggering furre is not floor #%safetile, (5:350) set variable %enemy to the X,Y position the triggering furre (moved from/is standing at). (5:355) move the position in variable #%enemy northwest (up and left) #1 step(s). two steps (0:16) When a furre uses any object, (1:13) and the triggering furre is facing northeast (up and right), (1:140) and #2 step(s) northeast (up and right) from the triggering furre is not floor #%safetile, (5:350) set variable %enemy2 to the X,Y position the triggering furre (moved from/is standing at). (5:352) move the position in variable %enemy2 northeast (up and right) 2 step(s). (0:16) When a furre uses any object, (1:14) and the triggering furre is facing southeast (down and right), (1:141) and #2 step(s) southeast (down and right) from the triggering furre is not floor #%safetile, (5:350) set variable %enemy2 to the X,Y position the triggering furre (moved from/is standing at). (5:353) move the position in variable #%enemy2 southeast (down and right) 2 step(s). (0:16) When a furre uses any object, (1:15) and the triggering furre is facing southwest (down and left), (1:142) and #2 step(s) southwest (down and left) from the triggering furre is not floor #%safetile, (5:350) set variable %enemy2 to the X,Y position the triggering furre (moved from/is standing at). (5:354) move the position in variable #%enemy2 southwest (down and left) 2 step(s). (0:16) When a furre uses any object, (1:16) and the triggering furre is facing northwest (up and left), (1:143) and #2 step(s) northwest (up and left) from the triggering furre is not floor #%safetile, (5:350) set variable %enemy2 to the X,Y position the triggering furre (moved from/is standing at). (5:355) move the position in variable #%enemy2 northwest (up and left) 2 step(s). three steps (0:16) When a furre uses any object, (1:13) and the triggering furre is facing northeast (up and right), (1:140) and #3 step(s) northeast (up and right) from the triggering furre is not floor #%safetile, (5:350) set variable %enemy3 to the X,Y position the triggering furre (moved from/is standing at). (5:352) move the position in variable %enemy3 northeast (up and right) 3 step(s). (0:16) When a furre uses any object, (1:14) and the triggering furre is facing southeast (down and right), (1:141) and #3 step(s) southeast (down and right) from the triggering furre is not floor #%safetile, (5:350) set variable %enemy3 to the X,Y position the triggering furre (moved from/is standing at). (5:353) move the position in variable %enemy3 southeast (down and right) 3 step(s). (0:16) When a furre uses any object, (1:15) and the triggering furre is facing southwest (down and left), (1:142) and #3 step(s) southwest (down and left) from the triggering furre is not floor #%safetile, (5:350) set variable %enemy3 to the X,Y position the triggering furre (moved from/is standing at). (5:354) move the position in variable %enemy3 southwest (down and left) 3 step(s). (0:16) When a furre uses any object, (1:16) and the triggering furre is facing northwest (up and left), (1:143) and #3 step(s) northwest (up and left) from the triggering furre is not floor #%safetile, (5:350) set variable %enemy3 to the X,Y position the triggering furre (moved from/is standing at). (5:355) move the position in variable %enemy3 northwest (up and left) 3 step(s). four steps (0:16) When a furre uses any object, (1:13) and the triggering furre is facing northeast (up and right), (1:140) and #4 step(s) northeast (up and right) from the triggering furre is not floor #%safetile, (5:350) set variable %enemy4 to the X,Y position the triggering furre (moved from/is standing at). (5:352) move the position in variable %enemy4 northeast (up and right) 4 step(s). (0:16) When a furre uses any object, (1:14) and the triggering furre is facing southeast (down and right), (1:141) and #4 step(s) southeast (down and right) from the triggering furre is not floor #%safetile, (5:350) set variable %enemy4 to the X,Y position the triggering furre (moved from/is standing at). (5:353) move the position in variable %enemy4 southeast (down and right) 4 step(s). (0:16) When a furre uses any object, (1:15) and the triggering furre is facing southwest (down and left), (1:142) and #4 step(s) southwest (down and left) from the triggering furre is not floor #%safetile, (5:350) set variable %enemy4 to the X,Y position the triggering furre (moved from/is standing at). (5:354) move the position in variable %enemy4 southwest (down and left) 4 step(s). (0:16) When a furre uses any object, (1:16) and the triggering furre is facing northwest (up and left), (1:143) and #4 step(s) northwest (up and left) from the triggering furre is not floor ##%safetile,, (5:350) set variable %enemy4 to the X,Y position the triggering furre (moved from/is standing at). (5:355) move the position in variable %enemy4 northwest (up and left) 4 step(s). five steps (0:16) When a furre uses any object, (1:13) and the triggering furre is facing northeast (up and right), (1:140) and #5 step(s) northeast (up and right) from the triggering furre is not floor #%safetile, (5:350) set variable %enemy5 to the X,Y position the triggering furre (moved from/is standing at). (5:352) move the position in variable %enemy5 northeast (up and right) 5 step(s). (0:16) When a furre uses any object, (1:14) and the triggering furre is facing southeast (down and right), (1:141) and #5 step(s) southeast (down and right) from the triggering furre is not floor #%safetile, (5:350) set variable %enemy5 to the X,Y position the triggering furre (moved from/is standing at). (5:353) move the position in variable %enemy5 southeast (down and right) 5 step(s). (0:16) When a furre uses any object, (1:15) and the triggering furre is facing southwest (down and left), (1:142) and #5 step(s) southwest (down and left) from the triggering furre is not floor #%safetile, (5:350) set variable %enemy5 to the X,Y position the triggering furre (moved from/is standing at). (5:354) move the position in variable %enemy5 southwest (down and left) 5 step(s). (0:16) When a furre uses any object, (1:16) and the triggering furre is facing northwest (up and left), (1:143) and #5 step(s) northwest (up and left) from the triggering furre is not floor ##%safetile,, (5:350) set variable %enemy5 to the X,Y position the triggering furre (moved from/is standing at). (5:355) move the position in variable %enemy5 northwest (up and left) 5 step(s). =============== end range finder ======= |