![]() |
![]() |
#1 |
Forum Pervert
(If you have to ask . . .) Join Date: Feb 2005
Location: Somewhere high up.
|
![]()
I'm trying to create a new movement Mode (Teleportation). It's based on Basic Move (like ground move) and can be modified by Extra Move (Teleportation). It is affected by encumbrance, like other forms of movement.
I am just unable to figure this out. |
![]() |
![]() |
![]() |
#2 |
GCA Prime
Join Date: Aug 2004
Location: Portland, OR
|
![]()
That's probably because it's both kinda complex, and because GCA's handling of displaying movement values is almost all hard-coded for known Move scores. (I've had it on the list to allow customizing for as long as I can remember, but it's always been low priority in the face of other things.)
Movement types are handled with three levels of attributes: Basic X Move, Enhanced X Move, and X Move. The final one, X Move is the last step, and what usually has the printed values. The first two are used to calculate steps along the way, with Enhanced X Move being used to handle the half-steps of improvement for enhanced movement. So, Basic X Move calcs the starting value, and is what X Move is based on, while Enhanced X Move handles providing the bonuses for purchasing Enhanced Move of that type. Then the base score of X Move is the un-enhanced speed while the final score for X Move is the enhanced speed. So, you might have these attributes for your Teleportation Move in a data file: Code:
Teleportation Move, basevalue(ST:Basic Teleportation Move), maxscore(1000000), minscore(0), hide(yes), display(no), round(-1), ismove(yes) Basic Teleportation Move, maxscore(1000000), minscore(0), hide(yes), display(no), round(-1),_ basevalue(_ @if(AD:Teleport THEN ST:Basic Move ELSE 0)_ ) Enhanced Teleportation Move, basevalue(0), hide(yes), display(no),_ gives(_ =@if( me::score = @int(me::score) then _ @power(2, me::score) _ else _ @power(2, @int(me::score)) * 1.5 _ ) * ST:Teleportation Move::basescore - ST:Teleportation Move::basescore _ to ST:Teleporattion Move _ ) Code:
Warp, 100, mods(Warp), page(B98), cat(Supernatural, Mental),_ skillused(ST:IQ), mode(Teleport),_ replacetags(in "ST:Teleportation Move" with "hide(), display(yes), mainwin(11), noresync(yes)") (There are other, probably better, ways to do these things now. For example, you can use hideme() with a formula to change the hide() status without needing the replacetags(), and you could just leave display() and mainwin() set, or not use them at all once customizable movement is properly reflected in all displays.) After all that, as I said, all the displays in GCA are currently hard-coded to look for known Move types (Ground, Water, Air, etc.). However, since you've asked about it, I've added the tag ismove(yes) to the example Teleportation Move above. I'll start making changes to use that tag to allow users to specify that the stat in question is a type of Movement, and should appear in Move displays with other types of applicable moves.
__________________
Armin D. Sykes | Visit my GCA5 blog for updates and previews. | Get GURPS Character Assistant 5 now at Warehouse 23. Last edited by Armin; 01-29-2023 at 04:28 PM. |
![]() |
![]() |
![]() |
#3 |
Forum Pervert
(If you have to ask . . .) Join Date: Feb 2005
Location: Somewhere high up.
|
![]()
Yee-gads!
Thank you, and I'm sorry I opened that can of worms . . .. |
![]() |
![]() |
![]() |
#4 |
GCA Prime
Join Date: Aug 2004
Location: Portland, OR
|
![]()
I would just ignore the bit in the second code block (the Warp thing) for now.
The others are actually simple enough, except for Enhanced X Move, which is complex because of the half-step system that Enhanced Move uses, but you should be able to use that entirely as-is, unless you change the name of Teleportation Move. Then we just need to know what causes Teleportation Move to be something a character can use, and we'll set a hideme() formula that only makes it visible when that thing applies. That'll be the easiest way. I can get some of the sheets to display your Movement reasonably quickly. If you want to test within GCA in the meantime, you can add mainwin(XX) (replacing XX with a number that's the slot in the display to use, such as 11 or 20) to Teleportation Move to have it display within the main attributes list.
__________________
Armin D. Sykes | Visit my GCA5 blog for updates and previews. | Get GURPS Character Assistant 5 now at Warehouse 23. |
![]() |
![]() |
![]() |
#5 |
GCA Prime
Join Date: Aug 2004
Location: Portland, OR
|
![]()
Oh yeah, you'll also need the Enhanced Move (Teleportation) advantage:
Code:
Enhanced Move (Teleportation), 10/20, gives(+0.5 To ST:Enhanced Teleportation Move), mods(Enhanced Move), page(B52), cat(Exotic, Physical),_ levelnames(#list(LevelName Step 0.5)), upto(1000)
__________________
Armin D. Sykes | Visit my GCA5 blog for updates and previews. | Get GURPS Character Assistant 5 now at Warehouse 23. |
![]() |
![]() |
![]() |
Thread Tools | |
Display Modes | |
|
|