Senior Member
Volunteer Data File Contributor
Join Date: Jan 2007
Posts: 591
|
Is there away to change the display name of a skill?
For example if you select a Mystic in Rifts the Faith Skill would be displayed as Mysticism. |
#1 |
Senior Member
Join Date: Nov 2010
Location: Metairie, LA, USA
Posts: 1,819
|
The only instance I know where something similar is done is when creating a Gizmo you set a Field Id of "livename" and set a name for something there. I don't know if that could be done at all for a skill, though. My guess is that skills have too many other hooks and you may have to either create a separate skill for Mysticism or take your custom Faith skill and name is something like Faith/Mysticism instead. (I'm assuming you're using a custom Faith skill here since changing the default version isn't really doable in the editor as far as I know.)
Lenny Zimmermann Metairie, LA, USA Data files authored (please let me know if you see any issues with any of these if you have/use them): Official (In the downloader) 50 Fathoms, Deadlands: Hell On Earth, Deadlands: Noir, East Texas University, Necessary Evil (requires Super Powers Companion), Pirates of the Spanish Main, Space 1889 (original file by Erich), Tour of Darkness, Weird War II, Weird Wars: Rome Coming Eventually Evernight (LWD has completed their review but I have some fixes to make first... although Pinnacle mentioned this might get an overhaul to SWADE so I may just wait for that first. If you just HAVE to have this now, though, just PM me) |
#2 |
Senior Member
Join Date: Nov 2009
Posts: 891
|
Yes. You can. I have done similar in some edges that have an eval script that generates their name. For example, I have Champion and Holy Warrior change their name if someone becomes evil. Likewise, I have "Priest of ...." become "Priestess of" based on gender.
But, while I have done it inside the object, you could do similar in a mechanic that then looks for it and then alters it for you. Evil wins because good rolls poorly .... or the players are not paying enough attention to the game. |
#3 |
Senior Member
Join Date: Nov 2009
Posts: 891
|
Another example that I did it in was a Group, which I use to show if a character is a Wild Card, Extra, or Competent Extra. I have it so that a Competent Extra can eventually become a Wild Card, at which point it will display as "Wild Card".
Similarly, I have used it in a Faction, which I use as a "pop up" only after someone has selected a generic "Arcane Background" edge. I do not use all of the different versions of that edge, only the one Arcane Background edge and then someone selects a Faction, which is the Arcane Background type. This works far better for making requirements work as I have their ID follow a basic pattern, like "facAM?" for all Magic backgrounds (no need to specify in the edge). Anyway, what I was getting at is that I have a Sorcerer that will display as Sorceress if the character is female. Evil wins because good rolls poorly .... or the players are not paying enough attention to the game. |
#4 |
Senior Member
Join Date: Nov 2010
Location: Metairie, LA, USA
Posts: 1,819
|
Well don't just leave us hanging, give us a code sampling!
Lenny Zimmermann Metairie, LA, USA Data files authored (please let me know if you see any issues with any of these if you have/use them): Official (In the downloader) 50 Fathoms, Deadlands: Hell On Earth, Deadlands: Noir, East Texas University, Necessary Evil (requires Super Powers Companion), Pirates of the Spanish Main, Space 1889 (original file by Erich), Tour of Darkness, Weird War II, Weird Wars: Rome Coming Eventually Evernight (LWD has completed their review but I have some fixes to make first... although Pinnacle mentioned this might get an overhaul to SWADE so I may just wait for that first. If you just HAVE to have this now, though, just PM me) |
#5 |
Senior Member
Join Date: Nov 2009
Posts: 891
|
Group: Competent Extra
The Competent Extra is looking for an edge that makes it become a "real" Wild Card. I have things that require the character to be a Wild Card to allow for this edgWCExtra edge to fulfill the requirement. Final 5000 Code:
~ If becomes a Wild Card then display it if (hero.tagis[Edge.edgWCExtra] = 1) then field[livename].text = "Wild Card" endif The display name will be correct on the print out. Traits 5000 (my generic "go-to" timing, which works in many cases. If it does not, only then will I take time to figure something out.) Code:
~ Display gender-specific name if (hero.child[mscPerson].field[perGender].value = 1) then field[livename].text = "Sorceress" else field[livename].text = "Sorcerer" endif Edge: Holy/Unholy Warrior This edge will look for a free edge that I call "Evil", edgEvilUnh, which declares that a character is evil. A character can take it (the edge has a cost of 0), and it is bootstrapped already for any evil deities that are entered into Hero Lab (such as Dargar, Hela, Night, Thrym, and Vali in Hellfrost). Instead of just changing the display name, it also changes the description that will print out. Additionally, it will look for a derived trait that I use in some campaigns that is used for a Good/Evil axis. Final 2000 Code:
var name as string var desc as string var evil as number name = "Holy Warrior" desc = "Repulse evil" evil = #traitfound[trGoodEvil] if (hero.tagis[Edge.edgEvilUnh] = 1) then name = "Unholy Warrior" desc = "Repulse good" endif if (evil < -3) then name = "Unholy Warrior" desc = "Repulse good" endif ~Print the results field[livename].text = name & ": " & desc If you do not want to rewrite the Faith or Spellcasting skills (And use them as-is) by adding new versions, I would recommend that you add a mechanic. The Eval script of this mechanic would take into consideration the source. For example, if the source were "AlterMagic", then it would have the entire eval script hiding inside this: Code:
if (hero.tagis[source.AlterMagic] = 1) then some cool code that does something endif With the mechanic doing the work, you would have it look through the skills and then find the one that you want. The livename should work as it is shown in the list, but if it does not, you might want to add shortname, maybe do both. FURTHER THOUGHTS I use a mechanic that looks for things that add to a the casting of a particular power. I will not explain everything, but it might help when thinking of how to loop and add things together. Basically I have two types of things, a bonus and a penalty negater. The negation of a penalty is shown in parenthesis so as to differentiate it from a bonus. This script also ties it with Hellfrost, where I give a small bonus to a character's Signature Power, which I also added to the Elementalist for Elemental Manipulation. Final 5011 Code:
var arcaneMod as number var baseMod as number var crank as number var prank as number var powerFocus as number var powerName as string var signature as number var modifier as number var cancel as number var temp as number var present as number var modDisplay as string var canDisplay as string var firstSp as string var secondSp as string var fullDisp as string baseMod = 0 arcaneMod = 0 crank = herofield[acRank].value if (hero.tagis[source.ArcAttr] = 1) then if (hero.tagis[Faction.facAM?] + hero.tagis[Faction.facAP?] <> 0) then var arcane as number arcane = #trait[attrArc] ~ Adjust the bonus to using the Power skill for d8 Arcane or greater. if (arcane >= 4) then arcaneMod += 1 endif if (arcane >= 6) then arcaneMod += 1 endif endif endif ~ Apply Conviction bonus of +1 to all Powers. if (hero.tagis[Edge.edgConvict] = 1) then baseMod += 1 endif ~ Iterate through the known Powers. foreach pick in hero from Power modifier = baseMod cancel = 0 present = 0 canDisplay = "" modDisplay = "" firstSp = "" secondSp = "" fullDisp = "" powerName = eachpick.field[name].text powerFocus = 0 signature = 0 ~ Psionics allow for getting a higher ranked power. if (hero.tagis[Faction.facAP?] = 1) then prank = eachpick.tagvalue[MinRank.?] modifier += (crank - prank) endif ~ Add +2 if has Healer Edge and is a healing power. if (hero.tagis[Edge.edgHealer] + hero.tagis[Edge.edgHFDEira] <> 0) then if (eachpick.tagis[Power.powGrHeal] <> 0) then modifier += 2 endif if (eachpick.tagis[Power.powHealing] <> 0) then modifier += 2 endif if (eachpick.tagis[Power.powHFHeal] <> 0) then modifier += 2 endif if (eachpick.tagis[Power.powHRegen] <> 0) then modifier += 2 endif if (eachpick.tagis[Power.powResurct] <> 0) then modifier += 2 endif if (eachpick.tagis[Power.powSuccor] <> 0) then modifier += 2 endif endif ~ Loop through the Spell Store edges and count those that apply. foreach pick in hero from Edge if (eachpick.tagis[Edge.edgHFASSpS] <> 0) then if (compare(powerName, eachpick.field[usrChosen1].chosen.field[name].text) = 0) then modifier += 1 cancel += 2 endif endif nexteach ~ Loop through the Power Focus edges and count those that apply. foreach pick in hero from Edge if (eachpick.tagis[Edge.edgPowFoci] <> 0) then if (compare(powerName, eachpick.field[usrChosen1].chosen.field[name].text) = 0) then powerFocus += 2 endif endif nexteach foreach pick in hero from Edge if (eachpick.tagis[Edge.edgPowFoc2] <> 0) then if (compare(powerName, eachpick.field[usrChosen1].chosen.field[name].text) = 0) then powerFocus += 1 endif endif nexteach ~ The Hellfrost campaign is in use. if (hero.tagis[source.Hellfrost] = 1) then ~ All Elementalists get +2 to Elemental Manipulation. if (hero.tagis[Faction.facAMHFE?] = 1) then if (eachpick.tagis[Power.powelement] <> 0) then signature = 2 endif endif ~ End Elementalists. ~ Song Mages and their Traditions. if (hero.tagis[Faction.facAMHFSn1] = 1) then if (eachpick.tagis[Power.powWarrior] <> 0) then signature = 2 endif endif if (hero.tagis[Faction.facAMHFSn2] = 1) then if (eachpick.tagis[Power.powSpeak] <> 0) then signature = 2 endif endif if (hero.tagis[Faction.facAMHFSn3] = 1) then if (eachpick.tagis[Power.powFear] <> 0) then signature = 2 endif endif if (hero.tagis[Faction.facAMHFSn4] = 1) then if (eachpick.tagis[Power.powSuccor] <> 0) then signature = 2 endif endif if (hero.tagis[Faction.facAMHFSn5] = 1) then if (eachpick.tagis[Power.powDetect] <> 0) then signature = 2 endif endif if (hero.tagis[Faction.facAMHFSn6] = 1) then if (eachpick.tagis[Power.powconfusi] <> 0) then signature = 2 endif endif if (hero.tagis[Faction.facAMHFSn7] = 1) then if (eachpick.tagis[Power.powWildWlk] <> 0) then signature = 2 endif endif ~ End Song Mages. ~ Divine Arcane Backgrounds and Signature Powers. if (hero.tagis[Faction.facADHFDar] + hero.tagis[Edge.edgHFPaTiw] <> 0) then if (eachpick.tagis[Power.powSmite] <> 0) then signature = 2 endif endif if (hero.tagis[Faction.facADHFEir] = 1) then if (eachpick.tagis[Power.powHealing] <> 0) then signature = 2 endif endif if (hero.tagis[Faction.facADHFThr] + hero.tagis[Edge.edgHFPaEo2] + hero.tagis[Edge.edgHFPrEo2] <> 0) then if (eachpick.tagis[Power.powEntang] <> 0) then signature = 2 endif endif if (hero.tagis[Edge.edgHFPaEo1] + hero.tagis[Edge.edgHFPrEo1] + hero.tagis[Edge.edgHFWoWar] <> 0) then if (eachpick.tagis[Power.powBeastFr] <> 0) then signature = 2 endif endif if (hero.tagis[Faction.facADHFErt] = 1) then if (eachpick.tagis[Power.powBurrow] <> 0) then signature = 2 endif endif if (hero.tagis[Faction.facADHFFre] = 1) then if (eachpick.tagis[Power.powWildWlk] <> 0) then signature = 2 endif endif if (hero.tagis[Faction.facADHFHel] = 1) then if (eachpick.tagis[Power.powZombie] <> 0) then signature = 2 endif endif if (hero.tagis[Faction.facADHFHoe] + hero.tagis[Faction.facADHFRig] <> 0) then if (eachpick.tagis[Power.powDetect] <> 0) then signature = 2 endif endif if (hero.tagis[Faction.facADHFHot] + hero.tagis[Edge.edgHFPaVa1] + hero.tagis[Edge.edgHFPrVa1] + hero.tagis[Faction.facADHFVar] <> 0) then if (eachpick.tagis[Power.powCharm] <> 0) then signature = 2 endif endif if (hero.tagis[Faction.facADHFKen] = 1) then if (eachpick.tagis[Power.powBolt] <> 0) then signature = 2 endif endif if (hero.tagis[Faction.facADHFMae] = 1) then if (eachpick.tagis[Power.powDispel] <> 0) then signature = 2 if (hero.tagis[Edge.edgHFDMaer] <> 0) then modifier += 2 endif endif endif if (hero.tagis[Faction.facADHFNau] = 1) then if (eachpick.tagis[Power.powTrait] <> 0) then signature = 2 endif endif if (hero.tagis[Faction.facADHFNeo] = 1) then if (eachpick.tagis[Power.powEnviron] <> 0) then signature = 2 endif endif if (hero.tagis[Faction.facADHFNih] = 1) then if (eachpick.tagis[Power.powHFObscr] <> 0) then signature = 2 endif endif if (hero.tagis[Faction.facADHFNor] = 1) then if (eachpick.tagis[Power.powHPrecog] <> 0) then signature = 2 endif endif if (hero.tagis[Faction.facADHFSca] = 1) then if (eachpick.tagis[Power.powWeakenU] <> 0) then signature = 2 endif endif if (hero.tagis[Faction.facADHFSig] = 1) then if (eachpick.tagis[Power.powjet] <> 0) then signature = 2 endif endif if (hero.tagis[Faction.facADHFThu] = 1) then if (eachpick.tagis[Power.powFly] <> 0) then signature = 2 endif endif if (hero.tagis[Edge.edgHFPrTiw] = 1) then if (eachpick.tagis[Power.powArmor] <> 0) then signature = 2 endif endif if (hero.tagis[Faction.facADHFUll] = 1) then if (eachpick.tagis[Power.powAim] <> 0) then signature = 2 endif endif if (hero.tagis[Faction.facADHFUnk] = 1) then if (eachpick.tagis[Power.powShape] <> 0) then signature = 2 endif endif if (hero.tagis[Edge.edgHFPaVa2] + hero.tagis[Edge.edgHFPrVa2] <> 0) then if (eachpick.tagis[Power.powHDiseas] <> 0) then signature = 2 endif endif ~ End Divine Backgrounds. endif ~ End of Hellfrost Signature Powers modifier = modifier + arcaneMod cancel = cancel + powerFocus + signature ~ If possible, first apply cancel to a negative modifier. if (modifier < 0) then if (cancel > 0) then ~ Can only reduce to 0, not give a bonus. temp = modifier + cancel if (temp < 1) then modifier = temp cancel = 0 else modifier = 0 cancel = temp endif endif endif ~ Create the modifier display if (modifier < 0) then modDisplay = modifier present += 1 endif if (modifier > 0) then modDisplay = "+" & modifier present += 1 endif ~ Create the cancel-penalty display if (cancel > 0) then canDisplay = "(" & cancel & ")" present += 1 endif if (present > 0) then firstSp = ": " if (present > 1) then secondSp = " " endif endif ~ Display the modifier and cancellation. fullDisp = firstSp & modDisplay & secondSp & canDisplay if (eachpick.tagis[Power.powelement] <> 0) then eachpick.field[livename].text = "Elemental Manipul." & fullDisp else eachpick.field[livename].text = eachpick.field[name].text & fullDisp endif nexteach Evil wins because good rolls poorly .... or the players are not paying enough attention to the game. |
#6 |
Senior Member
Join Date: Nov 2009
Posts: 891
|
Oh yeah, there in that last script there is also reference to an Arcane Attribute, which I make apply itself when it is in use to the arcane skills. One of its benefits is a bonus to casting known spells at certain ratings. It is a cross between an attribute and an edge.
Evil wins because good rolls poorly .... or the players are not paying enough attention to the game. |
#7 |
Senior Member
Join Date: Nov 2010
Location: Metairie, LA, USA
Posts: 1,819
|
Fantastic stuff. Thanks for sharing!
Lenny Zimmermann Metairie, LA, USA Data files authored (please let me know if you see any issues with any of these if you have/use them): Official (In the downloader) 50 Fathoms, Deadlands: Hell On Earth, Deadlands: Noir, East Texas University, Necessary Evil (requires Super Powers Companion), Pirates of the Spanish Main, Space 1889 (original file by Erich), Tour of Darkness, Weird War II, Weird Wars: Rome Coming Eventually Evernight (LWD has completed their review but I have some fixes to make first... although Pinnacle mentioned this might get an overhaul to SWADE so I may just wait for that first. If you just HAVE to have this now, though, just PM me) |
#8 |
|
|