Steve Jackson Games - Site Navigation
Home General Info Follow Us Search Illuminator Store Forums What's New Other Games Ogre GURPS Munchkin Our Games: Home

Go Back   Steve Jackson Games Forums > Roleplaying > GURPS > GURPS Character Assistant

Reply
 
Thread Tools Display Modes
Old 11-08-2019, 04:38 PM   #1
Extrarius
 
Extrarius's Avatar
 
Join Date: Feb 2005
Location: Psionic Ward
Default Make advantage grant +1/die to ALL "Punch" and "Kick" modes

I'm trying to implement the advantage "Unarmed Master" from Pyramid 3-61 p13. One of the benefits of the advantage is that it gives +1/die to punches and kicks, and the bonus stacks with other bonuses (like for Karate).

So far, I've figured out
Code:
+@basethdice(ST:Punch) to ST:Punch::damage, +@basethdice(ST:Kick) to ST:Kick:damage
to add to the basic punch, but new "punch/kick modes" given by skills like Brawling and Karate don't reflect this bonus.

Is there a way to make it grant a bonus to all the "punch modes" given by skills?
Extrarius is offline   Reply With Quote
Old 11-12-2019, 05:02 PM   #2
ericbsmith
 
ericbsmith's Avatar
 
Join Date: Aug 2004
Location: Binghamton, NY, USA. Near the river Styx in the 5th Circle.
Default Re: Make advantage grant +1/die to ALL "Punch" and "Kick" modes

Alrighty, so I let this sit for a few days to give my brain some time to percolate on this. The basic issue is that it's not really possible for a trait to give a bonus to a specific attack mode of another trait; with a "trait" in GCA being defined as an Attribute, Advantage, Disadvantage, Perk, Quirk, Skill, Spell, or piece of Equipment.

Modifiers can give bonuses to specific modes to the trait on which the modifier is applied.

So this leaves us with two options, require a modifier be added to the trait which you intend to get the bonus (Boxing/Brawling/Karate) or make a change to the attack modes of those traits. The way that it's currently done is to make changes to the targeted traits themselves; all unarmed combat skills have code in the damage tag of each attack mode to give bonuses for things like skill level and claws. This is further complicated by the way that GCA treats different combat modes internally.

I've tested this code, and it looks like it's working properly, but I do recommend you double-check for your own usage.

Code:
#ReplaceTags in {SK:Boxing} with _
	{damage(_
		thr-1 + _
		@if("AD:Unarmed Master::level" = 1 then @basethdice(ST:Punch) else 0) + _
		@if(me::level = ST:DX+1 then @basethdice(ST:Punch) else @if(me::level > ST:DX+1 then 2 * @basethdice(ST:Punch) else 0)) + _
		@if("AD:Claws (Blunt Claws)::level" = 1 & @itemhasmod(AD:Claws (Blunt Claws), Feet Only) = 0 then @basethdice(ST:Punch) else @if("AD:Claws (Long Talons)::level" = 1 & @itemhasmod(AD:Claws (Long Talons), Feet Only) = 0 then @basethdice(ST:Punch) else 0)) _
	)}

#ReplaceTags in {SK:Karate} with _
	{damage(_
		thr-1 + _
		@if("AD:Unarmed Master::level" = 1 then @basethdice(ST:Punch) else 0) + _
		@if(me::level = ST:DX then @basethdice(ST:Punch) else @if(me::level > ST:DX then 2 * @basethdice(ST:Punch) else 0)) + _
		@if("AD:Claws (Blunt Claws)::level" = 1 & @itemhasmod(AD:Claws (Blunt Claws), Feet Only) = 0 then @basethdice(ST:Punch) else @if("AD:Claws (Long Talons)::level" = 1 & @itemhasmod(AD:Claws (Long Talons), Feet Only) = 0 then @basethdice(ST:Punch) else 0)) _
	| _
		thr+ _
		@if("AD:Unarmed Master::level" = 1 then @basethdice(ST:Kick) else 0) + _
		@if(me::level = ST:DX then @basethdice(ST:Kick) else @if(me::level > ST:DX then 2 * @basethdice(ST:Kick) else 0)) + _
		@if("DI:Horizontal::level" = 1 then @if("AD:Claws (Blunt Claws)::level" = 1 then 0 else @if("AD:Claws (Sharp Claws)::level" = 1 then 0 else @if("AD:Claws (Talons)::level" = 1 then 0 else @if("AD:Claws (Long Talons)::level" = 1 then 0 else -@basethdice(ST:Kick))))) else 0) + _
		@if("AD:Claws (Blunt Claws)::level" = 1 & @itemhasmod(AD:Claws (Blunt Claws), Hands Only) = 0 then @basethdice(ST:Kick) else @if("AD:Claws (Long Talons)::level" = 1 & @itemhasmod(AD:Claws (Long Talons), Hands Only) = 0 then @basethdice(ST:Kick) else @if("AD:Claws (Hooves)::level" = 1 then @basethdice(ST:Kick) else 0)))_
	)}

#ReplaceTags in {SK:Brawling} with _
	{damage(_
		thr-1 + _
		@if("AD:Unarmed Master::level" = 1 then @basethdice(ST:Punch) else 0) + _
		@if(me::level > ST:DX+1 then @basethdice(ST:Punch) else 0) + _
		@if("AD:Claws (Blunt Claws)::level" = 1 & @itemhasmod(AD:Claws (Blunt Claws), Feet Only) = 0 then @basethdice(ST:Punch) else @if("AD:Claws (Long Talons)::level" = 1 & @itemhasmod(AD:Claws (Long Talons), Feet Only) = 0 then @basethdice(ST:Punch) else 0)) _
	| _
		thr-1 + _
		@if("AD:Unarmed Master::level" = 1 then @basethdice(ST:Bite) else 0) + _
		@if(me::level > ST:DX+1 then @basethdice(ST:Bite) else 0) + _
		-@if("DI:Weak Bite::level" = 1 then 2 * @basethdice(ST:Bite) else 0)_
	| _
		thr+ _
		@if("AD:Unarmed Master::level" = 1 then @basethdice(ST:Kick) else 0) + _
		@if(me::level > ST:DX+1 then @basethdice(ST:Kick) else 0) + _
		@if("DI:Horizontal::level" = 1 then @if("AD:Claws (Blunt Claws)::level" = 1 then 0 else @if("AD:Claws (Sharp Claws)::level" = 1 then 0 else @if("AD:Claws (Talons)::level" = 1 then 0 else @if("AD:Claws (Long Talons)::level" = 1 then 0 else -@basethdice(ST:Kick))))) else 0) + _
		@if("AD:Claws (Blunt Claws)::level" = 1 & @itemhasmod(AD:Claws (Blunt Claws), Hands Only) = 0 then @basethdice(ST:Kick) else @if("AD:Claws (Long Talons)::level" = 1 & @itemhasmod(AD:Claws (Long Talons), Hands Only) = 0 then @basethdice(ST:Kick) else @if("AD:Claws (Hooves)::level" = 1 then @basethdice(ST:Kick) else 0)))_
	)}
__________________
Eric B. Smith GURPS Data File Coordinator
GURPSLand
The future keeps telling us what the past was about. You make the past mean different things by what you do with the time that comes after.
ericbsmith is offline   Reply With Quote
Old 11-15-2019, 09:38 AM   #3
Extrarius
 
Extrarius's Avatar
 
Join Date: Feb 2005
Location: Psionic Ward
Default Re: Make advantage grant +1/die to ALL "Punch" and "Kick" modes

Thank you for your help!
Extrarius is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Fnords are Off
[IMG] code is Off
HTML code is Off

Forum Jump


All times are GMT -6. The time now is 04:07 AM.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.